Skip to content
Measurement 8 min read

Add-to-Cart and Checkout Rate: The Funnel Between Click and Order

CPA tells you the click was expensive. Add-to-cart and checkout rates tell you where the order died. Here is how to calculate each step.

Cost per order is a result of a chain, not a verdict on the ad by itself. A click becomes a session, a session may add to cart, a cart may reach checkout, and a checkout may become an order. If you only watch CPA, you will rewrite headlines when the payment step is what failed, or you will rebuild the page when the ad is sending the wrong people.

This guide defines the rates, shows the arithmetic, and lists what to inspect at each drop. The sample numbers are a hypothetical example so the formulas are easy to see. They are not benchmarks, and they are not a result you should expect.

Pair this with conversion rate optimization for paid traffic when you are ready to change the page, and with Meta ads getting clicks but no sales when the symptom is clicks without orders.

Define the steps before you compare channels

Use one definition for a month so the trend means something. Write it down. A reasonable set:

Clicks. Platform-reported outbound clicks, or link clicks, stated explicitly. Do not mix "all clicks" (which include likes and shares) with link clicks.

Sessions. Analytics sessions from that campaign, using UTMs. Sessions and clicks are not the same number. Bot filters, dropped loads, and attribution windows create a gap. See UTM parameters and build links with the UTM builder.

Add to cart. A tracked add-to-cart event. One session can fire it twice. Decide whether you count events or sessions that added to cart. Sessions are easier to turn into a rate.

Checkout started. The shopper reached the checkout page or fired a begin-checkout event. Name which one.

Orders. Purchases in Shopify, or in your source of truth, for that UTM, after you remove test orders. Platform-reported purchases will not match. Read why Shopify and Ads Manager numbers do not match before you average the two.

Rates, using sessions as the base when you have them:

  • Session rate from clicks = sessions / clicks
  • Add-to-cart rate = sessions with add to cart / sessions
  • Checkout rate = sessions that started checkout / sessions with add to cart
  • Purchase rate from checkout = orders / sessions that started checkout
  • Click-to-order rate = orders / clicks

The conversion rate calculator does the last division. The diagnostic value is in the middle rates, which a single conversion rate hides.

A hypothetical walkthrough

These figures are made up so you can see the math. Do not treat them as a target.

StepCountRate
Link clicks1,000
Sessions900900 / 1,000 = 90% of clicks became sessions
Sessions with add to cart9090 / 900 = 10% add-to-cart rate
Sessions that started checkout4545 / 90 = 50% of carts reached checkout
Orders1818 / 45 = 40% of checkouts purchased

Click-to-order rate = 18 / 1,000 = 1.8%.

If each click cost $3 in this example, spend is $3,000 and cost per order is $3,000 / 18 = $166.67. Whether $166.67 is acceptable depends on contribution margin, not on the funnel shape. Run your real margin through the contribution margin guide and the break-even ROAS calculator.

Now change one step in the same hypothetical. If add-to-cart rate falls from 10% to 5%, carts drop from 90 to 45. Hold the later rates constant (50% reach checkout, 40% of those purchase). Orders become 45 × 0.50 × 0.40 = 9. Cost per order doubles to $333.33 on the same $3 click. The ad cost did not change. The page, the offer, or the traffic fit did.

If instead checkout completion falls and add-to-cart stays at 10%, you have a different job: shipping cost, payment methods, account walls, or surprise fees. Rewriting the hook will not touch that step.

Where each drop usually points

Use this as a checklist, not as a diagnosis you can skip measuring.

Clicks high, sessions much lower. The site is slow, the link is wrong, a consent banner blocks the load, or the analytics tag is missing on the landing template. Compare a manual click on your phone with the reported session. If you do not get a session, the rate is a tracking problem.

Sessions arrive, add-to-cart is weak. The page does not match the ad, the price shocks, the variant is confusing, or the product is out of stock. Read message match and check the URL you are actually buying. ChatGPT ad landing pages covers the chat-card case. A 10-second mismatch (ad says travel size, page opens the family size) shows up here.

Adds to cart, checkout rarely starts. Shipping is revealed only in the cart and it is higher than the product led people to expect. The cart upsell is confusing. The button does not look like checkout. Mobile shoppers lose the cart when they go find a code. Offer strategy and offer stacking belong in this step if the offer is the friction.

Checkout starts, purchases do not. Payment failures, forced account creation, tax that appears late, a broken express-pay button, or a shipping country you do not serve. This is rarely a new headline problem. Pull the payment-error log and the countries on those sessions before you order new creative.

Purchases happen, then refunds erase them. The funnel looked fine and the business was not. Judge the ad on net orders. See returns, refunds, and ad decisions.

Segment or you will average away the leak

A blended add-to-cart rate mixes people who were ready to buy with people who just arrived.

Split at least these ways when volume allows:

  • New versus returning. Returning customers should add to cart more often. If they do not, the page or the price changed. New customer ROAS is the purchase-side cousin of this split.
  • Campaign or angle. One angle can bring curious clicks and a weak add-to-cart rate while another brings fewer clicks and a higher rate. Keep the names clean enough to segment. See naming conventions.
  • Device. If mobile checkout completion is far below desktop, fix the mobile checkout before you scale mobile placements.
  • Product. A $28 accessory and a $180 device should not share one "store conversion rate" in your decision. Which product to advertise starts from that fact.

Small accounts will not have 1,000 clicks on every split. Say so. A rate on 30 sessions is a hint, not a verdict. Wait for more clicks or judge the step with session recordings and five real carts instead of a percentage with huge error.

Platform rows versus store rows

Meta and ChatGPT can report purchases on a view or click window that Shopify will not copy. Add-to-cart events inside the ad platform can also be higher or lower than Shopify's pixel, depending on which event you send and whether the tag fired.

Pick a source of truth for the funnel rates. For most DTC brands that is the store plus UTMs: sessions, add to cart, checkout, orders. Use the ad platform for spend, clicks, and CPM. Then you are not dividing Shopify orders by a platform "result" that includes view-through. Attribution windows are explained in the attribution windows guide. ChatGPT-specific reporting is in how to read your ChatGPT ads report.

If you need the platform event for optimization, still reconcile it weekly. A campaign optimized for add to cart will buy add-to-cart behavior. That can raise the middle of the funnel and leave purchase rate flat. Look at both. Optimizing for the top of the chain is a choice, not a free improvement in orders.

What to change first

Change the step that is broken. Order the work like this:

  1. Tracking. If sessions, add to cart, or purchases are not firing, stop reading rates. Fix the tag. Meta Pixel and Conversions API and ChatGPT conversion tracking are the setup guides.
  2. Stock and price accuracy. A sold-out or mispriced page makes every rate look like a media problem. See out-of-stock ad strategy.
  3. Message match. Ad claim, page headline, price, and offer should be the same fact.
  4. Checkout friction. Shipping, express pay, guest checkout. One change at a time so you know which rate moved.
  5. Traffic quality. New context hints, new audiences, or a new angle, after the page can convert the traffic you already have.

Do not change the bid, the page, and the offer in the same week and then credit the CPA move to "better creative."

A weekly 20-minute read

Once a week, for each live campaign, record: spend, clicks, sessions, add-to-cart sessions, checkout sessions, orders, and refunds if you have them yet. Compute the four rates. Highlight the rate that moved the most versus last week. Write one sentence on the cause you will test.

That sheet will stay more honest than a dashboard that leads with a single return metric. ROAS, MER, and CAC still matter for the business decision. The funnel rates tell you where to work so those metrics have a chance to move for a reason you understand.

The CAC calculator and MER calculator close the loop after the order exists. They do not replace the middle of the funnel.

How SecondWin helps

SecondWin does not replace your analytics. It runs ChatGPT ads for DTC brands. It reads your site, studies the longest-running ads in your niche in the Meta Ad Library, and writes original ads, copy and AI images, aimed at the questions buyers ask. You preview the ad in a ChatGPT mockup before launch. Campaigns go out through the OpenAI Ads API in your own account. OpenAI bills the spend to you. Plans start at $99 a month and are month to month.

The landing page still has to earn the add to cart. Run a free analysis of your site to see the messages it would advertise. Compare plans on the pricing page. SecondWin is independent and is not affiliated with OpenAI. ChatGPT is a trademark of OpenAI.

FAQ

What is a good add-to-cart rate?

There is no universal number that fits every price and category. Compute your own rate, split by product and by new versus returning, and watch whether it holds while you scale. A rate without your margin and your cost per click does not tell you if the campaign is viable.

Should I optimize Meta or ChatGPT for add to cart or for purchase?

Optimize for purchase when you can get enough purchase events for the system to learn. Add-to-cart optimization buys carts, which only help if checkout completion is already healthy. Check both rates either way. A rising cart rate with a flat order count is not success.

Why do clicks and sessions differ?

Clicks are counted by the ad platform. Sessions are counted when your site tag loads. Slow pages, blocked scripts, and mis-tagged URLs create a gap. If the gap is large, fix tracking before you judge creative.

Can a checkout problem look like a bad ad?

Yes. If add-to-cart rate is steady and checkout completion falls, the leak is after the click. Shipping surprises, payment errors, and forced account creation sit in that step. New ad creative will not repair a broken express-pay button.

How many clicks do I need before I trust the rate?

Enough that a handful of orders cannot swing the story. On thin volume, treat the percentage as a hint and confirm with recordings, a test purchase, and the payment log. Say the sample size next to the rate so you do not promote a coincidence into a rule.

Run a Shopify store? See your product as a chatgpt ad, free.
Measurement6 min read

UTM Parameters: A Practical Guide for Paid Ads

UTM tags are the cheapest measurement upgrade you can make. Here is a naming system that stays clean, templates for each ad platform, and the errors that quietly ruin your data.

Free tools

All 36 tools