The first question to ask
Before you do anything else — before you change your CTA copy, before you redesign the product page, before you hire a CRO consultant — ask: is something broken?
This sounds obvious, but most merchants skip it. They see the conversion rate decline in Shopify Analytics, assume it's a traffic quality or UX problem, and start running experiments. Meanwhile, a JavaScript error has been quietly breaking the add-to-cart button for mobile Safari users for three weeks, and no amount of A/B testing will fix that.
Technical failures cause conversion drops that look identical to behavioural ones in aggregate data. You can't tell the difference without technical monitoring.
Step 1: Check for JavaScript errors
The fastest diagnostic step: install Bloodhound (free plan, five minutes) and check whether there are any active JavaScript errors. If there are — particularly ones affecting the product page, the cart, or the checkout — fix those first. A meaningful proportion of conversion rate declines are caused by a single broken script.
Things to look for specifically:
- Errors on product pages correlated with mobile devices
- Errors affecting Safari specifically (Safari's JS engine is noticeably stricter than Chrome on several APIs)
- Errors that started around the same time as the conversion rate decline
- Network failures (4xx or 5xx) on cart or checkout API calls
- Console errors from third-party apps (payment widgets, loyalty apps, review integrations)
Step 2: Check your Core Web Vitals
Performance degrades slowly, and the damage accumulates. A Largest Contentful Paint (LCP) score that's drifted from 2.0s to 3.8s over three months isn't a crisis — it's a slow bleed. But at 3.8s, you're in Google's “poor” category, bouncing rates are elevated, and your SEO is quietly suffering.
Check your CWV metrics for:
- LCP (Largest Contentful Paint): should be under 2.5s at p75
- INP (Interaction to Next Paint): should be under 200ms at p75
- CLS (Cumulative Layout Shift): should be under 0.1
A score that's deteriorated correlates with specific events: a new app install that added a slow script, a theme update that added a large hero image, a font change that increased blocking time.
Step 3: Check your checkout funnel
Is the conversion drop concentrated in the checkout, or is it happening earlier in the funnel? These are different problems.
- If add-to-cart rate is dropping, the problem is on the product page or in browsing. Could be a technical issue (broken add-to-cart), a traffic quality issue (different audience with lower intent), or a product issue (price increase, out of stock on popular items).
- If cart-to-checkout rate is dropping, the cart experience has degraded. Check for JS errors in the cart drawer, shipping estimate display issues, or trust signal problems.
- If checkout-to-order rate is dropping, there's likely a technical issue. Behavioural abandonment at this stage is less common — people who reach checkout have high purchase intent. Look for payment form errors, shipping method display bugs, or Shopify Plus checkout customisation regressions.
Step 4: Segment by device and traffic source
Aggregate conversion rate is a blunt instrument. Segment it:
- By device: Has mobile conversion rate dropped while desktop stayed flat? This points to a mobile-specific bug or a mobile UX issue.
- By browser: Has Safari conversion rate dropped? Safari-specific JavaScript errors are common, particularly on iOS.
- By traffic source: Has organic search conversion dropped while paid stayed flat? This suggests an SEO audience quality change, not a technical issue. Has paid social dropped while email held? Campaign-level issue.
- By geographic market: Has conversion dropped in a specific country? Could be a payment method issue, a currency display bug, or a legal/shipping restriction.
Step 5: Check your third-party scripts
The average Shopify store runs 15-25 third-party JavaScript files. Each one is an independent risk. A Klaviyo SDK update, a loyalty program plugin change, or a live chat widget deploying a new version can introduce errors or performance regressions without any action from you.
Bloodhound's script analytics show you every JavaScript file loading on your storefront, its load time, blocking time, and transfer size. A script that's suddenly taking 3x longer to load is a signal worth investigating.
Step 6: Consider external factors
If you've ruled out technical issues and the decline is real, these external factors are the next layer to check:
- Seasonality. Is this a normal seasonal decline for your category? Check year-over-year if you have the data.
- Competitor activity. Has a competitor launched a promotion, reduced prices, or improved their product? Particularly relevant if your paid social CPCs have risen simultaneously.
- Traffic quality change. A new ad campaign targeting a different audience segment, a viral social post driving unqualified traffic, or an SEO shift changing the intent of organic visitors.
- Product availability. Out-of-stock on your best sellers, or a popular item that's been discontinued. Easy to miss if you're not watching the add-to-cart rate by SKU.
- Price changes. A price increase, or a competitor's price reduction, particularly in price-sensitive categories.
The diagnostic priority order
Work through this in order:
- 1. Technical issues (JS errors, CWV regression, third-party script failures) — fastest to diagnose, often fixable in hours
- 2. Funnel drop-off segmentation — understand where in the funnel the drop is concentrated
- 3. Device/browser/traffic segmentation — narrow the affected segment
- 4. External factors — seasonality, competition, traffic quality
- 5. UX and CRO — if all else has been ruled out
Most merchants jump straight to step 5 without checking steps 1-4. The result is wasted time on A/B tests that move the needle by 0.2% while a broken button is losing 2% elsewhere.