DEV Community

Vilius CRO
Vilius CRO

Posted on • Originally published at inspate.com

The Checkout Optimization Checklist: 23 Things Most Stores Get Wrong

You spent money on ads. You wrote good product descriptions. You got someone to your store, they browsed, they added to cart.

And then they left.

This is where most store owners go wrong: they treat checkout like a formality. It's not. It's the most expensive page on your entire site - because every person who lands on it already wants to buy. You've done the hard work. The checkout just has to not screw it up.

Baymard Institute puts average cart abandonment at 70%. Some of that is window shopping you'll never recover. But a significant chunk - they estimate around 18% of shoppers - abandon because of checkout problems. Problems that are fixable.

This checklist covers 23 of the most common ones. Not theory. Things I've tested, fixed, and watched revenue move because of.

Section 1: Trust and Anxiety (Items 1-6)

The checkout is where buyer anxiety peaks. Your customer is about to hand over their card number and personal details to a website they probably found three hours ago. If you don't actively manage that anxiety, you lose the sale.

1. No social proof at the payment step

Most stores put reviews on the product page and nowhere else. But the moment of highest hesitation is right before the customer hits "pay." Add a short testimonial - one sentence, real name - near the payment section. Something like "Ordered twice now, delivery was faster than expected" does more work than a star rating buried on the product page.

2. Security badges that don't exist or don't load

A "Secure Checkout" badge means nothing if it's a random image with no trust signal behind it. Use real indicators: SSL lock in the browser bar, recognizable payment logos (Visa, Mastercard, PayPal), and if you have them, Trustpilot or Google review counts. Make sure these actually load on mobile - a broken image is worse than no badge.

3. Return policy buried or missing

Shoppers read return policies before buying, especially for first orders. If yours is buried in the footer or not mentioned at checkout at all, you're creating uncertainty exactly when you don't want it. Add one line near the CTA button: "Not right? Free returns within 30 days." That sentence alone can move conversion.

4. No delivery estimate

"Ships in 3-5 business days" tells the customer nothing useful. What they actually want to know is: when will this arrive? Give them a specific date range based on their location, or at minimum show them a clear shipping timeline. Bonus: if you can show "Order within 3 hours for delivery by Friday," you create urgency without being manipulative.

5. No indication of processing time

Customers don't understand the difference between "shipping time" and "processing time." If your products are made to order or require 1-2 days before dispatch, say so - explicitly, near the top of checkout. Discovering this after payment is a support ticket. Discovering it during checkout is a small speed bump that most people will accept.

6. No "what if" reassurance

People worry: what if it doesn't fit? What if it breaks in transit? What if the wrong item gets sent? You don't need to answer every question, but a single reassurance line - "Something wrong? We'll fix it, no questions asked" - reduces the perceived risk of clicking pay. This is especially effective for high-ticket items or first-time customers.

Section 2: Form Friction (Items 7-12)

Every field you ask someone to fill in is a small tax on their patience. Most checkouts ask for too much, validate too late, and make filling in a form harder than it needs to be.

7. Too many fields

The average checkout has 14.88 form fields. Baymard's research suggests most stores could reduce this to 8 without losing any required information. Do you actually need a "Company name" field? A second address line shown by default? A "Title" dropdown? Every unnecessary field costs you conversions.

8. No autofill support

If your checkout form doesn't support browser autofill or Apple/Google Pay's address prefill, you're forcing mobile users to type their address manually. This alone causes a measurable drop in completion rates. Make sure your form fields use correct autocomplete\ attribute values - given-name\, family-name\, street-address\, postal-code\, and so on. It's a five-minute fix with real impact.

9. Inline validation that fires too early

Error messages that appear while someone is still typing their email address are infuriating. Validate on blur (when the user leaves the field), not on keyup. And when there is an error, make the message specific: "Enter a valid email address like name@example.com" - not just "Invalid email."

10. Billing address defaults to "same as shipping"

Most people's billing and shipping addresses are the same. Yet many checkouts default to showing an empty billing address form, forcing users to fill it in twice. Default to "same as shipping" and let them uncheck if needed. This one change removes friction for the majority of your customers.

11. Phone number field with no explanation

"Why do they need my phone number?" is a thought that makes people pause. If you collect a phone number, tell them why - right next to the field. "For delivery updates only" or "We'll only contact you if there's an issue with your order" dramatically reduces the friction this field creates. Better yet, consider whether you actually need it.

12. No guest checkout option

Forcing account creation before purchase is one of the highest-abandonment patterns in ecommerce. Baymard found it's the second most common reason people abandon checkout. Offer guest checkout as the primary path, and let people create an account after the order is complete, when you can offer it as a convenience rather than a barrier.

Section 3: Mobile Experience (Items 13-17)

More than 60% of ecommerce traffic is mobile. But mobile conversion rates are typically half of desktop - not because people don't want to buy on phones, but because most checkouts are built for desktop and squeezed into a small screen.

13. CTA button placement

The "Continue" or "Pay Now" button needs to be reachable with a thumb, without scrolling. On most mobile checkouts, the button ends up below the fold, requiring users to scroll down past fields they just filled in. Test your checkout on a real phone - not just Chrome DevTools. If you have to scroll to find the CTA, fix it.

14. Wrong keyboard types for fields

Triggering a text keyboard for a phone number field, or not triggering a numeric keypad for a credit card field, is a friction point that's completely avoidable. Use inputmode="numeric"\ for card numbers, type="email"\ for email fields, type="tel"\ for phone numbers. This pulls up the right keyboard automatically and makes mobile entry significantly faster.

15. Tap targets that are too small

The minimum recommended tap target size is 44x44 pixels. A lot of checkout elements - radio buttons, checkboxes, small links - are well below that. Small tap targets lead to mis-taps, frustration, and abandonment. If a customer taps "Cancel" when they meant to tap "Confirm," they might not come back.

16. No express checkout option

Apple Pay, Google Pay, and Shop Pay are not just convenience - they're conversion tools. Shoppers who use express checkout skip the entire form-filling process. Shopify data shows Shop Pay can increase conversion rates by up to 50% compared to regular checkout for returning customers. If you're not showing these options at the top of your checkout, you're adding unnecessary steps.

17. Order summary hidden or collapsed

On mobile, many checkouts collapse the order summary to save screen space. The problem: customers often want to double-check what they're buying before they pay. If the order summary is hidden behind a tap and they can't easily review their items, it creates doubt. Keep it visible, or at minimum make it trivially easy to expand.

Section 4: Payment Page Design (Items 18-21)

The payment page is the last room before the exit. The design decisions here have a disproportionate impact on whether the purchase actually completes.

18. No progress indicator

Customers don't know how many steps are left. A simple "Step 2 of 3" or a visual progress bar reduces anxiety by giving people a sense of control. They know they're almost done. Without it, every "Continue" button click feels like it might lead to another long form. One step indicator, added once, reduces that uncertainty across every checkout.

19. The coupon code trap

An empty coupon code field is a conversion killer. Shoppers who don't have a code see it and immediately open a new tab to search for discount codes. Some don't come back. If you need to include a promo code field, collapse it by default behind a small "Have a promo code?" link. That simple change reduces the impulse to go hunting for discounts.

20. Unclear order total

Shipping costs, taxes, and fees that appear only at the final step cause immediate distrust - and abandonment. Baymard found that unexpected costs at checkout are the single biggest reason people don't complete a purchase. Show the final total as early as possible. If shipping is calculated at the last step, at least show a shipping estimate earlier so there's no surprise.

21. Form-wiping errors

This is one of the most rage-inducing experiences in ecommerce: a customer fills in their full name, address, card number, and hits pay - then gets an error (wrong CVV, expired card), and the entire form is blank. They have to start over. Never wipe fields on error. Preserve what the customer entered, highlight only the specific field with the problem, and tell them exactly what to fix.

Section 5: Post-Click Recovery (Items 22-23)

Even with a well-optimized checkout, some people won't complete their order. That's not failure - that's an opportunity, if you have systems to catch it.

22. No confirmation page upsell

The order confirmation page gets high attention and high goodwill - the customer just bought, they feel good about it. This is the right moment to show a relevant upsell or cross-sell, not during checkout when it distracts from completing the purchase. One well-placed "Customers also added..." on the thank-you page can add 2-5% in revenue per order without touching conversion rates.

23. No abandoned checkout email sequence

If someone reaches checkout and enters their email before abandoning, you have permission to follow up. A three-email sequence - sent at 1 hour, 24 hours, and 72 hours - is standard practice for a reason: it works. The first email should be simple ("You left something behind"). The second can add urgency or answer common objections. The third can include a small incentive if margin allows. Klaviyo and Shopify both make this easy to set up in under an hour.

Where to Start

Twenty-three items is a lot. If you try to fix everything at once, you'll fix nothing.

Here's the order I'd prioritize:

  • Guest checkout - if you're forcing account creation, fix this first
  • Express payment options - Apple Pay / Google Pay / Shop Pay at the top of checkout
  • Unexpected costs - make sure shipping and taxes are visible early
  • Coupon code field - collapse it
  • Abandoned checkout emails - set them up once, they work forever

After that, work through the trust and form friction items. Mobile-specific fixes come last unless your mobile share is especially high (check Analytics - if it's over 65%, prioritize mobile items immediately).

The honest truth: most of these aren't A/B test discoveries. They're just things that obviously create friction when you look at them through a customer's eyes. You don't need statistical significance to know that a form that wipes your card details on error is a bad experience.

Start with what's obviously broken. Then test the marginal improvements.

If you want a more structured way to work through this, I put together an audit template that walks through these and 40+ other friction points across your full funnel - not just checkout. It's the same framework I use when auditing client stores. You can grab it here: CRO Audit Template.

Vilius is a CRO specialist with 8+ years in ecommerce. He led A/B testing at Ovoko, one of Europe's largest automotive marketplaces, where a series of tests generated over €1.6M in incremental GMV. He now runs Inspate, a CRO consultancy for DTC and Shopify brands.

Top comments (0)