ConverlayConverlay
Data QualityAttributionShopifyProduct Update

Your Shopify Subscription Renewals Could Be Wrecking Your Ad Platform's Bidding Algorithm

ConverlayAugust 9, 20267 min read

If you run a Shopify store with any mix of subscriptions, in-person POS sales, or manually created draft orders, there is a good chance your ad platforms have been getting a distorted picture of what your advertising is actually doing. Not because of ad blockers or iOS restrictions this time — because of a much more basic gap. Shopify's orders/create webhook fires the same way for every kind of order, and most server-side tracking setups forward every single one of those webhooks to Meta, Google Ads, TikTok, and every other ad destination as if it were a brand-new, ad-influenced sale.

It usually isn't. With Converlay v2.23.0, that gap closes. Every order is now classified by where it actually came from before it is routed anywhere, and orders that were never eligible to be an ad conversion in the first place are kept out of the data your ad platforms optimize against.

The Order Your Ad Platform Never Should Have Seen

Picture a subscription business on Shopify using native subscriptions or an app like Recharge. A customer's card is charged automatically every month. Shopify fires orders/create for that renewal exactly the way it does for a first-time purchase. If your tracking setup treats every webhook the same, that renewal gets forwarded to Meta Conversions API and Google Ads as a fresh Purchase event — full revenue value, no ad exposure behind it at all. The same thing happens with a sale rung up on Shopify POS in a physical store, a draft order a merchant creates manually to invoice a wholesale customer, and orders placed through the Bogus Gateway during testing.

None of these are fraud, and none of them are bugs in Shopify. They are just orders that were never influenced by an ad in the first place, flowing through the same webhook as orders that were. An ad platform's bidding algorithm cannot tell the difference on its own — it sees a conversion event and learns from it. If a meaningful share of the "conversions" it is learning from were never reachable by an ad, the algorithm is optimizing toward a target that does not match reality, and your true return on ad spend gets harder to see through the noise.

How Order-Source Intelligence Works

Converlay now classifies every incoming order at the webhook, using Shopify's own source_name field together with the order's test flag, into one of six categories: web, pos, draft, subscription, channel, or unknown. Test orders are dropped at the door — they are never even written to the database, let alone forwarded anywhere. The classification also recognizes Shopify's native recurring-renewal source (subscription_contract_checkout_one) as a subscription, not a fresh web sale.

That classification travels with the order all the way through the pipeline. Converlay stamps order_source, is_recurring, and exclude_from_ads onto the event payload, and the destination router checks that flag before forwarding to any destination in the ad-optimization group — which spans Meta, Google Ads, TikTok, Pinterest, Snapchat, Reddit, Criteo, Microsoft Advertising, LinkedIn, Taboola, and Amazon. An order classified as pos, draft, or subscription simply never reaches that group as a new conversion.

What Gets Excluded — and What Still Gets Sent

The exclusion is deliberately scoped to ad bidding, not to your data as a whole. Analytics destinations and lifecycle tools still want to know the order happened — a subscription renewal is real revenue, and platforms like Klaviyo build flows around exactly that kind of event. Converlay's ad-exclusion gate is separate from its consent gate: a destination like Klaviyo, which is consent-gated for marketing but still wants renewal orders for revenue and lifecycle purposes, keeps receiving them. It is only the group of destinations whose entire job is optimizing ad bids that stops seeing orders they had no hand in producing.

Two defaults are worth calling out. Orders that arrive from a sales channel app, or with no recognizable source at all, are conservatively treated as web orders and continue flowing normally — Converlay only excludes an order when it can positively identify a non-ad-eligible source, never as a guess. And subscription orders now also carry an is_recurring flag through to destinations that can use it, so tools built to distinguish first-time customers from renewals — a Klaviyo flow congratulating a first purchase, for instance — have the signal to do that correctly.

Why This Isn't an Edge Case

It is easy to assume this only matters for a narrow slice of stores. In practice, subscription commerce on Shopify has grown enough that "some renewals mixed into ad conversion data" is a common, not rare, situation — and any store running Shopify POS alongside its online storefront has the same exposure on every walk-in sale. Draft orders for wholesale, B2B, or manual invoicing add a third source that has nothing to do with an ad campaign. Each of these order types, sent to an ad platform as a fresh conversion, dilutes the signal the platform's algorithm needs to find more customers like the ones your ads actually won.

The effect compounds the way most data-quality problems do. A bidding algorithm trained partly on orders it had nothing to do with will spend more to find "similar" customers who look like subscribers or in-store shoppers rather than people who respond to the specific ad they saw. Reported ROAS also gets inflated by revenue the ad spend cannot actually claim credit for, which makes it harder to know which campaigns are genuinely working and which are coasting on orders that would have happened anyway.

No Configuration Required

Order-source classification runs automatically for every Converlay merchant on v2.23.0 and later — there is nothing to enable and no destination-by-destination setting to configure. Every order is classified at the webhook, the classification and its ad-exclusion flag travel with the event, and the router applies the same rule consistently across every ad-optimization destination you have connected.

If you want to see the effect directly, compare your Converlay dashboard's order count against the "Purchase" volume showing up in Meta Events Manager or Google Ads conversion reporting for a store with meaningful subscription or POS volume. The gap between the two is exactly the set of orders that Converlay determined your ad platforms should never have been asked to optimize against in the first place.

Clean Signal In, Better Bids Out

Server-side tracking exists to make sure your ad platforms see every conversion an ad actually won. It is just as important that they don't also see the ones an ad had nothing to do with. Converlay connects your Shopify store to 26 destinations — including Meta, Google Ads, TikTok, Pinterest, and more — and order-source intelligence is now part of that pipeline by default, making sure the conversions you report are the conversions your advertising actually earned.

Install Converlay from the Shopify App Store and start sending your ad platforms conversion data they can actually trust.

Ready to verify your Shopify purchase tracking?

Install Converlay free, connect your destinations, and see server-side delivery in your dashboard.

Install free on Shopify

Related Articles