For the complete documentation index, see llms.txt. This page is also available as Markdown.

How we track refunds in Segment and Google Analytics

Littledata tracks refunds from your Shopify store and sends them to GA4 and Segment. This page explains what we track (and don't track) for refunds and returns, and where to find refund data.

Refunds are one of several post-purchase events Littledata tracks, along with post-purchase upsells, recurring orders (subscriptions) and cancellations.

What is a refund event?

When you refund an order in Shopify admin, Littledata sends a refund event to your connected destinations. The event includes the details of the original order, so you can match the refund to the purchase.

Littledata finds the original order's tracking IDs (such as the GA4 client ID) from the data it saved when the order was placed. If it can't find them, the refund is still sent, just without those IDs.

Littledata only sends a refund when money is returned to the customer. If a refund in Shopify has no payment transaction (for example, you only restock items), no refund event is sent.

Returns vs refunds

Some return apps let customers swap products or get store credit instead of money back. Examples include:

  • Returnly

  • AfterShip

  • Refund Logic

Shopify treats an exchange as an order edit (product A is swapped for product B), not a refund. So no refund event is sent to any destination. A return only creates a refund event when all or part of the order value is refunded to the customer.

Supported refund types

Littledata supports all refund types in Shopify:

  • Full refund: you refund the whole order. The refund event includes every product in the order, plus details such as shipping.

  • Partial refund: you refund some items from the order (for example, 3 out of 5). The refund event includes only the refunded products.

  • Custom refund: you refund a specific amount. The refund event includes no products, only the amount refunded.

Destination
Full refund
Partial refund
Custom refund

Google Analytics 4

✔

✔

✔

Segment

✔

✔

✔

Meta Conversions API

❌

❌

❌

Meta does not have a standard event for refunds, so Littledata does not send refunds to Meta.

Refunds in GA4

Littledata sends a refund event to GA4. To see your refunds, create an exploration in GA4 with the Transaction ID dimension and the Refund amount metric.

Refunds in Segment

Littledata sends an Order Refunded event to Segment. To see it, open the debugger for your Littledata source in Segment and click an Order Refunded event.

Attribution for refunds

In GA4, the source and medium of a refund can be different from the original purchase. The refund uses the customer's most recent session, and it is dated on the day the refund is sent.

For example, customer A buys on day 1 from google / cpc. On day 2, they come back from google / organic. If you then refund the first order, GA4 attributes the refund to google / organic, on the day of the refund.

Why net revenue can differ between GA4 and Shopify

Littledata sends the refund when it happens, so GA4 records it on the refund date, not the original order date. When you compare net revenue for a date range, a refund may land in a different period than its order. This can cause expected differences between GA4 and Shopify reports.

Refunds with multi-currency

If your store sells in more than one currency, the GA4 refund event uses the currency the customer paid in (the presentment currency). The Segment event includes both the store currency amount and the presentment amount and currency.

Turn off refund events

You can stop sending refunds to a destination in the Littledata app.

1

Open the destination settings

In the Littledata app, find the GA4 or Segment destination and click Settings.

2

Open the Event Editor

Open the Event Editor tab and find the refund event.

3

Disable the event

Click the three-dot menu on the event row, select Disable, then click Save.

For more detail, see Enable or disable events.

Last updated

Was this helpful?