The short answer
A refunded Shopify order can still count as a Purchase in your ads. DataCops marks it refunded and corrects it on Google Ads, but not on Meta or TikTok, so judge those campaigns on net sales.
DataCops is a tool that fixes Shopify tracking from a server, so your ads hear about every paid order, not only the ones a browser script managed to report.
How DataCops does it on Shopify:
- Every paid order, server-side. The DataCops Shopify app listens for Shopify's paid-order webhook and sends each order as a Purchase, with value and currency, to Meta, Google Ads, TikTok and LinkedIn. Shop Pay and Apple Pay orders count too.
- The steps before the sale. Its Web Pixel inside Shopify reports add to cart, checkout, payment info and search.
- Counted once. The pixel and the server share the same order ID, so a purchase is not counted twice.
- The click survives Safari. One script and one DNS record collect on your own domain, click IDs are kept on the server for up to 90 days, and a signed server-set cookie lasts up to 400 days where enabled.
- Real people only. Every visit gets a bot verdict, with a Real people only switch per ad platform (off by default).
- Proof. A delivery log shows each send as sent, held, skipped or failed, with the reason.
Best for: Shopify stores that run paid ads and want the ad platforms to see the sales Shopify already recorded.
The problem
An order is paid. The ad platform counts a Purchase. Three days later the customer returns it. Shopify records the refund. The ad platform often never hears about it.
For a store with many returns, the platform number overstates revenue. It also teaches the algorithm that returners are good customers.
What is corrected where
- Google Ads. DataCops sends a refund as a correction, so the conversion value is adjusted.
- Meta and TikTok. A refund marks the Purchase refunded in DataCops, but is not corrected on Meta or TikTok.
That is the honest state, and it is better to know it than to find out in a ROAS report.
What to do about it
- Judge campaigns on net sales. Use Shopify's numbers after refunds as the check on any platform's ROAS.
- Find the products that return most. Stop promoting those, or fix the page that sets the wrong expectation.
- Send value, not just a count. Value-based bidding learns from what each order was worth.
- Read the delivery log. DataCops shows each order and refund, so you can reconcile them with Shopify.
More on how orders are sent in the Shopify CAPI page.
When not to use DataCops
- You do not run paid ads. Tracking is for feeding ad platforms; with no ads, a native Shopify setup is enough.
- You only sell in person with Shopify POS. The app sends online paid orders, not POS sales.
- You want refunds taken back out of Meta or TikTok. A refund marks the Purchase refunded in DataCops and is corrected on Google Ads, not on Meta or TikTok.
Sources
- developers.google.com/google-ads/api/docs/conversions/upload-offline
- developers.facebook.com/docs/marketing-api/conversions-api
FAQ
Do refunded Shopify orders disappear from Meta?
Not on their own. A Purchase stays counted unless the platform is told otherwise.
Does DataCops correct refunds?
A refund marks the Purchase refunded in DataCops. It is corrected on Google Ads. It is not corrected on Meta or TikTok.
Why does this matter?
Return-heavy products make your ROAS look better than it is, and the platform keeps optimizing toward buyers who return.
How do I handle refunds on Meta?
Report returns separately in your own sheet, and judge campaigns on net sales from Shopify rather than the platform number alone.