Astore that is broken gets fixed by lunchtime. The page throws an error, a customer emails, the payment fails, somebody shouts, and within a few hours it is sorted. That is not the failure worth writing about. The failure worth writing about is the one where every page loads, checkout completes, the order lands in your admin, and something you paid for quietly stopped happening weeks ago. No error. No email. No shouting. Just a number that is slightly worse than it should be, in a report nobody reads closely.
On 26 August, your checkout tracking is deleted
Most of this piece is about slow decay. This item is not: it is a date, it is twelve days away, and it applies to every Shopify store that is not on Plus. On 26 August 2026, Shopify sunsets checkout.liquid, Additional Scripts, and script tags on the Thank you and Order status pages. Plus stores went through this on 28 August 2025. Your store is upgraded automatically and the legacy code is removed for you.
Which sounds like housekeeping until you remember what lives in that box. Additional Scripts is where almost every store on earth pasted its Google Ads conversion tag, its Meta pixel, its Google Tag Manager container, its affiliate tracking, and whatever a post-purchase app asked it to paste. All of it goes. The storefront will look identical the next morning. Checkout will work. Orders will arrive. And your ad platforms will simply stop being told that any of it happened. ◆◆WHY IT STAYS BROKENA break announces itself and gets fixed the same day. A drift reports success while doing nothing, so it survives until someone goes looking.The rule: check what can't complain
The timing is the cruel part. Late August is roughly two months before peak trading, which is exactly when you are about to spend the most on advertising and can least afford to be optimising campaigns against conversion data that stopped arriving. If you find this in November, you will have spent the quarter buying traffic blind and reporting a collapse in return on ad spend that never actually happened.
Nothing here is a bug. That is the problem
Group the ten failures below and none of them is a defect. Half are things a platform changed underneath you, on a schedule announced in a changelog you do not read. The rest are things that were correct on the day they were set up and quietly stopped being true: a domain moved, a brand changed, an app was uninstalled, a collection was reshuffled, a price went up. Software rarely notices that kind of change. It just carries on doing what it was told, on facts that have expired.
So the ordinary defences do not catch any of it. Nobody opens a support ticket, because from a customer’s side there is nothing to report. Nothing appears in your error logs, because nothing errored. Your dashboard shows a number, and a number that is twenty percent lower than it should be looks exactly like a slow month. The only way to find these is to go looking on a fixed schedule, which is a dull answer, and the reason it stays undone.
A break shouts. A drift reports success. Only one of them gets fixed.
What actually goes wrong on a live store
These are the ten we find most often, in the order we check them. They are not ranked by how hard they are to fix, because most of them take an afternoon. They are ranked by how long they can run before anyone notices, multiplied by what they cost while they do.
Additional Scripts and checkout.liquid are removed for you on 26 August. Ad platforms stop receiving conversions with no storefront error.
◇Settings → Checkout → Additional Scripts. Then confirm purchases are arriving in Google Ads and Meta, not just that the tag exists.
Without SPF, DKIM and DMARC on your domain, Shopify rewrites the sender to something like store+123@shopifyemail.com so mail still delivers. Customers see a stranger.
◇Send yourself an order confirmation and read the from address, not the display name. Then check your DNS records.
Order confirmation gets updated. Shipping confirmation, out for delivery, refund, cancellation, abandoned checkout, POS receipt and B2B invoice do not. Customised templates are excluded from automatic updates, so they keep the old logo and the old name.
◇Settings → Notifications. Preview every template, not the first one. Count how many still carry last year's brand.
Uninstalling removes the app, not the code it wrote into your theme. Script tags, snippets, asset files and hardcoded widgets keep loading for a service that no longer exists.
◇Search your theme code for the names of apps you have removed. Work on a duplicate theme, never the live one.
Deprecated, with no further feature updates or support and a final sunset date still to be announced. Stores left behind also miss store credit, self-serve returns and subscriptions.
◇Settings → Customer accounts. If it does not say new customer accounts, that is a migration to plan rather than to rush.
Missing identifiers, a price that no longer matches the page because the feed syncs on a schedule, or every variant sharing one ID because the feed mapped id instead of variant_id. Disapproved products do not appear anywhere and do not tell you.
◇Merchant Center diagnostics. Read the count of disapproved and limited products, then compare a feed price against the live page after any price change.
Collections get renamed, products get archived instead of redirected, a campaign page stays indexed long after the code in it expired. Every one of those is a customer or a backlink landing on nothing.
◇Your 404 report, sorted by traffic. Anything with visits or inbound links needs a redirect, not a rebuild.
Tags configured before the consent layer, or marked as not requiring consent, fire regardless of what the customer chose. That is a legal exposure and a data quality problem at the same time.
◇Decline everything on your own banner, then watch whether your analytics and ad tags still fire. Your CMP should be calling Shopify's Customer Privacy API.
The European Accessibility Act deadline passed on 28 June 2025 and enforcement has started, with the first cases filed in France in late 2025. It applies to anyone selling into the EU, wherever they are based, at roughly WCAG 2.1 AA.
◇Keyboard-only, complete a purchase. Then check colour contrast, form labels and focus states on the paths that lead to checkout.
Unsized new images, another app's scripts, more sections on the homepage. Page speed drifts down by something like five to fifteen percent a quarter, which is invisible month to month and obvious across a year.
◇Measure home, a collection and a product page on the same day each month and keep the numbers. The trend is the finding, not the score.
Forty-five items, once a month
The ten above are the ones worth explaining. They are not the whole list. What we actually run on a client store is longer, duller, and organised by what can fail silently rather than by what is interesting to talk about. Here it is in full, which is also the answer to the question we get asked most often about a care retainer: what exactly are you doing every month.
- ◇Additional Scripts and checkout.liquid migrated to Pixels, UI extensions and Functions
- ◇A real test purchase completed on desktop and on mobile
- ◇Purchase events confirmed arriving in Google Ads, Meta and GA4, in the platform rather than the tag
- ◇Every payment method and express wallet live and passing a transaction
- ◇Abandoned checkout email sending, and its link still resolving
- ◇Order confirmation, fulfilment and refund flows tested end to end
- ◇SPF, DKIM and DMARC present and passing on the sending domain
- ◇From address is your domain, not a rewritten shopifyemail.com sender
- ◇All notification templates on current branding, not only the order confirmation
- ◇Reply-to lands in an inbox somebody actually reads
- ◇Unsubscribe link and physical address present in marketing email
- ◇Notification content still true: delivery times, returns window, support hours
- ◇Deliverability spot check into Gmail, Outlook and Yahoo, including the spam folder
- ◇App subscriptions reviewed against apps actually in use
- ◇Leftover code from uninstalled apps removed from the theme
- ◇Theme on a supported version, old duplicates archived or deleted
- ◇Checkout extensions not colliding in the same slot
- ◇Page speed measured on home, collection and product, against last month
- ◇Merchant Center diagnostics at zero, or every issue triaged
- ◇Feed prices match live page prices after any price change
- ◇Variant IDs unique in the feed, not sharing a product-level ID
- ◇Products live with zero stock either hidden or given a back-in-stock path
- ◇Inventory sync running from every sales channel and location
- ◇Every variant has its own image, and main images carry no promotional overlay
- ◇404 report reviewed, redirects created for anything with traffic or links
- ◇Renamed or merged collections redirected from their old URLs
- ◇Finished campaign pages unpublished, or updated and kept
- ◇Expired discount codes deactivated, active ones tested for stacking
- ◇Free shipping threshold still matches current shipping rates
- ◇Policy pages match how you actually ship, return and charge
- ◇On-site search: zero-result queries read as a work list
- ◇Contact form submits and arrives in a monitored inbox
- ◇Footer details current: address, hours, phone, WhatsApp
- ◇Tracking links point at the courier you currently use
- ◇Customer accounts on the new version, not legacy
- ◇Filters return results on the terms customers actually use
- ◇Consent banner wired to the Customer Privacy API, tags respecting the answer
- ◇Global Privacy Control honoured in the regions that require it
- ◇Accessibility pass on the paths to checkout, at WCAG 2.1 AA
- ◇Tax and duty settings match the markets you sell into today
- ◇Privacy policy lists the tools currently collecting data
- ◇Analytics recording without gaps, month against month
- ◇Staff accounts and app permissions reviewed, leavers removed
- ◇Domain, SSL and DNS renewals not approaching expiry
- ◇Theme and product exports taken and stored off-platform
Notice how much of it is verification rather than work. Roughly two thirds of these items are someone confirming that a thing which is supposed to be happening is still happening, and most months most of them pass. That is not waste, it is the entire point. The value of a check is not in the months it finds nothing, it is in the one month it finds that your conversion tracking has been dead since the 26th. ◆◆THE REAL CAUSENone of this is hard. It stays undone because it belongs to nobody: the build is finished, the agency has moved on, and the store is now everyone's job.The rule: a date, not good intentions
The thirty-minute version, this afternoon
If forty-five is more than you are going to do, do six. This is the short version we would run on a store we had never seen, in the order that finds the most money the fastest. None of it needs a developer and none of it needs a tool you do not already have.
A real order on your own store, on your phone. Then check the purchase appears in Google Ads and Meta, not just in your admin.
Open the confirmation that order just sent you. Look at the from address, the logo, and whether replying reaches anyone.
Read the disapproved and limited counts. That number is products you cannot be found for and were not told about.
Your 404 report by traffic. Redirect anything with visits. This is the cheapest recovered revenue on the list.
Every active discount. Deactivate the finished ones and try to stack the live ones in a test cart.
Settings, then Checkout. Anything in that box is being deleted on 26 August. Screenshot it before it goes.
If all six pass, your store is in better shape than most and the remaining thirty-nine are genuinely worth scheduling rather than panicking about. If two or more fail, do not go looking for the rest yet. Fix those first, because the failures on this list compound: broken tracking makes your advertising decisions wrong, and wrong advertising decisions cost more per month than everything else here combined.
The real reason none of this gets done
Every store we have ever audited had someone who could have caught all of this. They were busy. That is the whole explanation. A store build ends, the agency moves on, and the ongoing care of the thing falls to whoever has the admin password and forty other jobs. The work is not difficult and it is not expensive. It is just nobody in particular’s, which in practice means it happens the week after something has already gone wrong.
Which is why the answer is a date rather than a discipline. Put the check on a calendar, give it a name, and let it be dull. If you would rather it was ours, that is what store care is: this list, monthly, with the fixes done and a report at the end of it. The two guides either side of this one are the same argument pointed at different parts of the store, your product record and what a machine can read of your store. All three come down to the same thing: the parts of a store nobody looks at are the parts doing the selling.
A note on the date at the top: we published this on 14 August 2026, twelve days before the checkout deadline, because that item has an expiry and the rest of the list does not. If you are reading this afterwards and you never migrated, the tracking is already gone and the fix is the same, only now it starts with finding out how much of the quarter you reported wrong.
