GapFill Help

What to send

You choose what is sent under Settings › What to send. To begin with only the first two are on; nothing else is sent until you turn it on.

The six options

OptionDefaultWhat is sent
Purchases the GA4 tag missedOn by defaultOrders placed through your online store checkout that GA4 didn’t track. This is the main job of GapFill.
In-app checkouts in AI assistants and social appsOn by defaultOrders completed in the built-in checkout of Google AI Mode, Gemini, Microsoft Copilot, Meta AI, Instagram or Facebook.
Orders from other channelsOff by defaultDraft orders, orders created by other apps, Point of Sale and so on. You choose channel by channel.
Subscription renewals (second order onward)Off by defaultOrders charged without the buyer visiting your store.
RefundsOff by defaultRefunds of orders that have a purchase in GA4, sent as refund events.
CancellationsOff by defaultCancellations without a refund, sent as a full refund.
Settings › What to send. Save after you change a box.

Purchases the GA4 tag missed

What it does
Sends orders placed through your online store checkout that GA4 didn’t track. These are orders where the tag never ran: ad blockers, browser tracking limits, or off-site payments that never return to your store.
What you see in GA4
The purchase is sent with the browser ID stored at checkout, so GA4 tracks it for the same person as the original visit, with the source of that order. More detail
Turn it on when
Almost every store. This is the main job of GapFill.
Leave it off when
Only for a short break, for example while you change your GA4 setup. Even then, Pause is the better tool.
Keep in mind
An order is sent 26 hours or more after it was placed. Until then GapFill waits for the GA4 tag to track the purchase itself, and sends only what GA4 still doesn’t have.

In-app checkouts in AI assistants and social apps

What it does
Sends orders completed in the built-in checkout of Google AI Mode, Gemini, Microsoft Copilot, Meta AI, Instagram or Facebook. No page of your store is opened, so the GA4 tag doesn’t run. However well your tag is set up, this revenue never reaches GA4.
What you see in GA4
The source is the assistant or app. The medium is ai-assistant for AI assistants and referral for social apps. There is no visit to attach the order to, so each one is tracked as a separate user. More detail
Turn it on when
You want to see what sold inside AI assistants and social apps next to your other channels in GA4’s acquisition reports.
Leave it off when
You use GA4 only to analyse what visitors do on your site, and don’t want revenue completed elsewhere mixed in.
Keep in mind
In-app checkouts in a social app are sent as referral even when they came from an ad. The Shopify order only records which app the payment was made in, not whether an ad led to it. Use Meta Ads Manager for ad results.

Orders from other channels

What it does
Sends draft orders, orders created by gifting, cross-sell or pre-order apps, and Point of Sale orders. Channels found in your last 30 days of orders are listed by the name of the app or sales channel that created them, and you pick the ones you want.
What you see in GA4
There is no visit to attach them to, so each order is tracked as a purchase by a separate user. The source and medium are exactly what you enter for each channel. More detail
Turn it on when
You want GA4 revenue closer to your Shopify total, or you want to see sales made through cross-sell or pre-order apps in GA4.
Leave it off when
Channels you don’t want in your site analytics, such as phone orders, marketplaces or in-store sales. Leave those unselected.
Keep in mind
If you enter a source name you already use (google, instagram and so on), the revenue is mixed into that source. Use a name of its own that tells you the channel.

Subscription renewals

What it does
Sends subscription orders from the second one onward. They are charged without the buyer visiting your store, so the GA4 tag doesn’t run. Unless they are sent, GA4 only has the revenue of the first order.
What you see in GA4
You choose one of two ways to send them. See the table below. More detail
Turn it on when
Subscriptions are a large share of your sales and GA4 revenue looks much lower than Shopify, or you want lifetime revenue per customer in GA4.
Leave it off when
You use GA4 only to analyse new customer acquisition and don’t want renewal revenue in it.
How to sendWhat you see in GA4Choose this when
As the same customerSent with the browser ID from the customer’s first order. GA4 adds the renewal to the same person, with the source of that first order.You want lifetime revenue and purchase counts per customer in GA4
As a separate userEach order is sent as a separate user, with the source shopify_subscription / renewal.You only want total revenue to match Shopify, and don’t want renewals in your acquisition analysis

Renewals of a customer who declined analytics cookies at the first order are never sent, whichever way you choose. Customers with no first-order record (for example, subscriptions that started before you installed GapFill) are sent as separate users even when “As the same customer” is selected.

Refunds

What it does
Sends refunds of orders that have a purchase in GA4 as refund events, unless GA4 already has the refund. For a partial refund, only the refunded amount is sent.
What you see in GA4
The refund is subtracted from total revenue in GA4. Revenue by source depends on the report: User acquisition takes it off the source / medium of the original purchase, and Traffic acquisition shows it under (not set). More detail
Turn it on when
You want total revenue in GA4 after refunds.
Leave it off when
You use GA4 as a record of purchases and track refunds in Shopify or your accounts, or you don’t want refunds to move revenue by source.
Keep in mind
While this is off, the revenue of refunded orders stays in GA4.

Cancellations

What it does
Sends cancellations without a refund (for example, an order cancelled while unpaid) as a full refund. A cancellation with a refund is handled under Refunds.
What you see in GA4
The same as a refund: the order amount is subtracted from total revenue in GA4.
Turn it on when
Many of your orders are cancelled before payment, for example with pay-later or bank transfer.
Leave it off when
You rarely have cancellations, or you use GA4 as a record of purchases.
Keep in mind
While this is off, the revenue of cancelled orders stays in GA4.

Good to know

If you turn a channel off later
Refunds of purchases GapFill already sent for that channel are still sent. Otherwise GA4 would keep revenue that was refunded.
How events are counted
Whatever option an event was sent under, each one counts as one event. See Billing.
Consent
An order is never sent if the buyer declined analytics cookies, whichever option it falls under. Orders from regions that require consent (EEA, UK, Switzerland) are sent only when consent was confirmed.
Still stuck?

Email us with your store address (example.myshopify.com). We reply within two business days (Japan time). [email protected]