Key takeaways
- The landing SKU is the store, for the purpose of the campaign. Do not review the homepage if the ad URL is a product.
- Constraints on that PDP are more expensive than a high CPC. Fix buy-path before you scale.
- AOV widgets on the landing page change whether the click is worth it. A $12 basket on a $4 click is a different business to a $40 basket.
- Recrawl after the theme change, then turn the budget up — not the other way around.
Paid traffic makes a sloppy store expensive. Organic can hide a missing add-to-cart for months. A campaign will not.
If you are about to spend, review my Shopify store means: review the URL in the ad, as a stranger, on a phone, before you raise the budget.
The landing URL is the brief
Agencies still open the homepage out of habit. Shoppers from shopping ads and most Meta campaigns do not. They land on a product.
Paste that /products/handle into the CRO Audit for Shopify stores. Do not paste the domain and hope the bestseller is the same SKU. It often is not.
If the campaign is a collection, pick the product you actually want the click to buy. Score that PDP. Then walk the collection as a human for merchandising. Do not mix the two scores.
What burns budget on a PDP
They cannot buy
No form. A variant grid that never enables ATC. Sold out with only notify-me while the ad says “in stock.” Compare-at equal to price. One blurry packshot on a tactile product.
Every click in that state is a refund to the ad platform.
They can buy one unit and leave
No bundle, no quantity break, no cart goal. Your ROAS model assumed a $48 AOV because last year’s email buyers stacked. Prospecting buyers will not, unless the page asks.
Missing AOV is not a reason to pause a profitable campaign. It is a reason not to scale until the page asks.
The page fights the click
Two primary ATCs. A popup that covers the form on first paint. A personalize modal before they can add. You paid for intent and then hid the button.
Express checkout is not the enemy. A second filled “Add to cart” in the buy box is.
A pre-flight that takes twenty minutes
- Open the ad preview. Copy the landing URL.
- Run the public audit on that URL.
- On your phone, add to cart. Did a drawer open, or did you hit
/cart? - Check the first ranked miss. Theme or app.
- If it is a constraint, fix it before the next daily budget increase.
- If it is AOV, install one owner — not four.
- Audit again on the same product URL.
- Then scale.
What you can ignore until after the first purchase
Blog SEO. A new announcement bar. Rewriting the about page. A second popup app. Colour-grading the logo.
Those can be real projects. They are not why the CPA is $90 on a $28 product.
JSON-LD price mismatch is in scope if you run shopping ads. The feed and the page should agree. The audit flags catalogue vs JSON-LD when it can see both.
Sample campaign brief (steal this)
Landing URL: shop.example/products/launch-sku
Public review: {report}
Constraint: none / {row}
AOV miss we will ship before scale: drawer | FBT | quantity break | none
Recrawl date: {date}
Budget increase only after recrawl is green on buy-path
If media buying and CRO do not share this card, you will scale a broken form and argue about creative.
Shopping ads and honesty
Shopping and Meta catalogue ads inherit title, price, and availability. If the PDP compare-at is fake, or JSON-LD says InStock while the button says Sold out, you are training the platform to send you the wrong click — and you may get disapproved.
The public audit flags catalogue vs JSON-LD when it can see both. It will not log into Merchant Center. If Shopping is the channel, add a human pass in GMC after the PDP is honest.
Creative and CRO are not the same review
A store review before ads is not a critique of the UGC. If the hook is weak, your media buyer will tell you from the CTR. If the form is weak, the landing-page review should have told you before the spend.
Do not let a creative meeting absorb the ATC fail. Different owners, different week.
Markets, discounts, checkout
Public review will not see your automatic discount, your B2B catalog, or Shop Pay’s conversion inside checkout. Note them as out of scope.
If the campaign is a code (WELCOME10) and the PDP does not mention it, that is a copy miss the machine may not score. Add a line in the theme. Recrawl will still not “see” the discount engine. The shopper will.
After you are live
Re-audit weekly on the same SKU while the campaign runs. Themes drift. An app update can steal the form. A bundle widget can ship a second gold button.
Saved reports (?r=) are snapshots. Useful in Slack. Useless as a live monitor. Recrawl.
If you came from review my Shopify store because the ads dashboard went red, start with the landing PDP, not with a new bid strategy.
Frequently asked questions
What is this score based on?
Ninety9’s product-page rubric — defaults we apply the same way on every public Shopify PDP. It is not a conversion-rate prediction, and it will not fit every store or situation. How we score.
Should I pause ads until I review my Shopify store?
If add-to-cart is missing, variants cannot be chosen, or the price is dishonest, yes. If the page can sell and you are only missing a bundle widget, you can keep a small budget while you install.
Which URL do I audit before a campaign?
The exact /products/ URL in the ad. Homepage resolution to a bestseller is the wrong control for a launch SKU.
Do I need a full creative review too?
Later. Creative cannot rescue a form that does not submit. Do the product-page review first.
Will a CRO audit see my Facebook pixel?
No. It reads public storefront HTML, catalogue JSON, cart, and a rendered add. Tracking setup is a separate checklist.
What if the ad lands on a collection?
Audit a product in that collection — preferably best-selling in it — and also click through like a shopper. The collection itself is not a product-page score.



