In this article
When your checkouts reach Meta without their cart value, who finds out?
A checkout can lose its cart value at any step on its way to Meta, and shrink your best audience. The release test passes, nobody tells marketing, and finding it takes weeks.
Your Meta retargeting audience has been underperforming for a few weeks, yet checkouts look normal everywhere you count them. Say that audience gets $30,000 a month in ads. The cause could be a weak campaign, or something broken in the tracking pipeline. Both have happened before: you've bet on campaigns that didn't pan out, and the tracking has broken, from a product release nobody told you about or a GTM change that broke a transformation. Figuring out which it is means weeks of tracing, and until then, the campaign takes the blame.
How one product release shrinks your best audience
Picture your product team adding a Buy Now button to the product page, so shoppers can skip the cart and go straight to checkout. To track it, the team reuses the checkout event GTM already sends to Meta, and adds a label so Buy Now checkouts can be told apart.
The catch is where that event gets its cart value, the total the shopper is about to pay. The event has always read the cart value from the cart. Buy Now never touches the cart. So every Buy Now checkout reaches Meta, and every other ad platform the event goes to, with no cart value. Anything that runs on that number gets it wrong.

That matters because of how your audiences are built. Say one of them is people who started a checkout with a cart value over $200 and didn't buy. Meta decides who's in by checking each checkout's cart value against that $200. A Buy Now checkout arrives with no cart value, so it doesn't meet the rule. Meta leaves that shopper out of the audience.
And your Buy Now shoppers are the high-intent ones. They skipped the cart because they were ready to buy.
Why nobody notices for weeks
The product team tests Buy Now before release, and the test checks that the checkout event fires. It does, so Buy Now ships.
Nobody tells marketing, because to the product team Buy Now is a product change: they reuse the checkout event as it is, with one label added. In Meta, checkouts keep coming in, so the tracking looks fine at a glance. All you see is the audience getting smaller and the campaign's performance slipping, and in your weekly report that looks like a campaign running out of steam.
Nothing in your weekly report points you at the checkout event, so the hunt starts everywhere at once: marketing, the agency, your tag management team and the product team all start looking.

What it costs
Let's put some numbers on it to see how big this gets. That $30,000 a month goes to the over-$200 audience, and a third of the checkouts that would qualify for it come through Buy Now.
By week three, you've spent about $20,000 on that audience. That money reached only the two thirds who went through the cart, the careful ones. Not a cent reached the Buy Now third, your readiest shoppers.
- Best case, your marketing analyst asks in week three why the campaign's performance keeps slipping when checkouts haven't dropped. Then the hunt starts. Finding it takes four teams and two more weeks. The fix is one line.
- Worst case, everyone assumes the campaign is the problem. The $30,000 a month gets cut from an audience that would have worked if the tracking had been right.
The cost doesn't end with the fix, either. The next time this audience dips, nobody can tell a break like Buy Now from a real slump. Every dip gets second-guessed.
And Buy Now is one break, at one step. Say the hunt turns up a second, older one: two months before Buy Now shipped, someone changed a transformation in GTM that every purchase passes through, and it dropped what was bought from your purchase event.
Since then, your catalog ads can't tell what each shopper bought. Someone who just bought a jacket keeps seeing ads for that jacket, and nothing shows them what goes with it. After two breaks nobody saw, nobody can say for sure that what reaches Meta is right.
The hunt leaves friction between teams, too. The team held responsible for the data usually isn't the one that built the event. The product team that did build it is busy shipping features and doesn't want to spend that time fixing analytics.

To price your own, take an average week's spend on these campaigns. Multiply it by the weeks it took your team to notice the last time a release broke your tracking. That's the spend that ran while the audience was missing shoppers it was built for.
What we hear from real teams
Here's what we've heard in conversations with real teams:
- At a retail group, the consultant who tests the tracking often isn't brought in for changes that aren't about tracking. The marketing analyst isn't always told when those changes ship.
- At a global retailer we spoke to, most of the marketing team's conversion tags piggyback on tracking that product teams build, and nobody monitors what passes between them.
- At an online travel business, tags seem to break with each new version of the checkout they're rebuilding, and Google stops getting the right data.
- At an online fashion retailer, it's the marketing side that raises the issues when Meta gets the purchase but not what was bought.
There's a public case, too. On Shopify's community forum, someone running Meta ads for at least four clients on Shopify saw purchases reach Meta with no revenue. They found that some of the events reaching Meta through the Conversions API arrived without a value, and six weeks later they were still asking how to fix it.
Why nothing stops it
Three things are missing between your product and Meta:
- Nobody wrote down what the checkout has to carry. If your team keeps a tracking plan, the written definition of each event, nothing in it says your Meta audience depends on the cart value. So nothing told the developer adding Buy Now that the value had to come along.
- Nothing in your setup checks what each tag sends to an ad platform against what each checkout should carry. After your product, GTM reshapes each event for each ad platform. Its Meta tag forwards a checkout with no cart value as-is.
- Seeing where the data went is manual. Tracing one checkout means comparing what the site sent, what reached GTM, what each tag did and what each platform received, in several tools, by hand. In the Shopify case, it was a person running the ads who noticed purchases arriving with no revenue.
Why the usual fixes don't help
After an incident like this, teams reach for two fixes. Neither holds.
- Checking more carefully. GTM's Preview mode shows which tags fired for the checkout you tested, and the data each one had to work with. But there are many cases. The next release can break any of them.
- Monitoring your traffic for changes. A monitor learns what's normal from your traffic, so it can tell you something changed once the release is live. But nobody wrote down that your Meta audience runs on the cart value, so nothing marks this change as the one that matters. And a break that was there when it started learning looks normal to it.
What holds is a written definition of what each checkout must carry, checked before release and again on live traffic. Then a break like Buy Now is caught before it ships or on the day it does, not in week three. And someone has to own the path from your site to the ad platforms.
Timo Dechau puts it plainly: "Someone in your org needs to own this pipeline." He adds that "that is a tricky one, since it spans marketing and data, and there is no clear choice." If you answer for the spend, you should be the one who hears when a check fails.
Avo is taking upstream governance to your whole pipeline
Marketing cares that what reaches Meta and Google is right, however it got there. Knowing where it broke is how you get it fixed fast.
Avo governs your data upstream, where your product sends its events. When your tracking plan says every checkout carries its cart value, there are three places Buy Now's missing cart value gets caught:
- In the code: if the product team builds with Avo's generated code in a typed language (TypeScript, Swift, Kotlin), the Buy Now call doesn't build without the cart value.
- Before release: while the product team tests Buy Now in development or staging, Avo's debugger flags a checkout without a cart value in real time.
- Once it's live: your website reports its checkouts to Avo's Inspector, which flags the first one it sees without a cart value, within minutes of seeing it. The alert can go straight to the team that owns the spend.
And when the plan lists marketing as a stakeholder of the checkout event, the label the product team adds for Buy Now comes to marketing for review.
Avo Gateways, now in beta, takes that past your product. You write down what each ad platform needs, like every checkout that reaches Meta carrying its cart value. You see the lineage of each event: the path it takes from your website or app, through GTM, to each ad platform, and how many events reach each step. At each step, Avo checks the event's shape: as your website or app sends it, inside GTM, and on what GTM sends to Meta and Google. If a GTM change drops the products from every purchase, like the one two months before Buy Now, the alert names the step where it broke.
Together, that's what we mean by full-stack governance: the confidence that what reaches Meta is right.
Before your next release
Four questions to ask this week:
- Which events do your Meta and Google audiences run on?
- When a release changes one of them, who on your team hears about it?
- Ask your data platform lead: if a release dropped the cart value from our checkout event, what would alert us, and who would it alert?
- When a campaign's performance slips, did the checkout event change in a recent release?
In our next post, we'll show how full-stack governance catches breaks like these before they waste your ad spend.
If this sounds like your team, walk us through your pipeline. We'll show you where Avo will check your checkout events.
Block Quote

