GapFill Help
FAQ
The questions we hear most before people install.
Basics
Does GapFill replace my GA4 tag?
No. Keep your current setup (the Google & YouTube app, Google Tag Manager or theme code). GapFill only sends purchases that GA4 didn’t track.
Why does GA4 miss purchases?
GA4 tracks a purchase only when the tag runs in the buyer’s browser. Ad blockers, browser tracking limits, slow connections and buyers who close the page after paying all stop that. In-app checkouts in AI assistants and social apps never open a page of your store, so they never reach the tag.
Could a purchase be counted twice?
An order is not sent if GA4 already has the same transaction ID. GapFill waits at least 26 hours for GA4 to finish processing before it decides, and checks again after sending. If too many purchases are counted twice, sending stops automatically.
Why wait 26 hours?
Even a purchase your tag tracked correctly can take about a day to appear in GA4. Sending sooner would mean sending orders GA4 already has.
What is sent
Which orders does GapFill send?
By default, online store orders that GA4 didn’t track, and in-app checkouts in AI assistants and social apps. Subscription renewals, orders from other channels, refunds and cancellations are sent only if you turn them on in Settings. Test orders are never sent. See What to send.
Can it send subscription renewals?
Yes, if you turn it on. Renewals are charged without a visit, so the tag can’t track them. You can send each renewal as the same customer as the first order, or as a separate user so that only revenue matches.
Are refunds sent automatically?
No. Sending refunds and cancellations is off by default. You can turn each on in Settings.
Can it send past orders?
No. In line with what GA4 accepts, only orders up to 70 hours old are sent. For earlier gaps, the report shows how many orders and how much revenue were missed.
How it looks in GA4
Which source and medium do recovered purchases get?
GapFill sends the browser ID and session stored at checkout, so GA4 treats the purchase as part of the original visit. When no visit was stored, it sends the source Shopify recorded (UTM parameters first, then Google click IDs, then the referrer). It takes 24 to 48 hours to show, and may appear as direct until then.
If my tag stops completely, will GapFill cover everything?
Every order up to 70 hours old that GA4 didn’t track is sent. A high share of missing orders never stops sending. Orders older than 70 hours can’t be sent, though. And while your tag is down, the buyer’s browser often has no GA4 ID, so the source and medium come from the last visit Shopify recorded. We still recommend fixing the tag soon.
Consent and data
How is customer consent handled?
The pixel follows Shopify’s customer privacy settings. If a buyer declines analytics, their order is not sent. Orders from the EEA, the UK and Switzerland are sent only when consent was confirmed.
What data do you store?
Order details (amounts, items, time and so on) and the GA4 browser ID stored at checkout. We don’t read or store names, email addresses, phone numbers or street addresses. See the privacy policy.
Pricing
How much can I use for free?
The missing purchases report is free for as long as you like. Sending to GA4 is the paid part.
Am I charged during the dry run?
No. The Standard plan has a 14-day free trial, and until you approve GapFill only records without sending, so no events are counted. See Billing.
Email us with your store address (example.myshopify.com). We reply within two business days (Japan time). [email protected]