The in_app_purchase event
in_app_purchase is an automatically collected GA4 event on mobile apps that fires when a user completes a purchase through the App Store or Google Play. It captures the product id, price, currency, and quantity from the store, giving app monetization reporting without manual instrumentation. It is the app-store analogue of the web purchase event, and like it, records the transaction, not the buyer.
What this means
In Firebase/GA4 for mobile, in_app_purchase is an automatically collected event that fires when a user completes a purchase via the App Store or Google Play store billing. Its parameters include the product_id, the price and currency code, and quantity. Because it is store-driven, it is collected without you writing purchase code for the billing flow.
Relationship to the web purchase event
in_app_purchase is the app-store counterpart of the web/ecommerce purchase event. On the web you build a purchase event with a transaction_id and items array; on mobile the store provides in_app_purchase automatically. If you sell digital goods outside the store, you may instead send your own purchase or custom event. Either way, parameters carry product and value, and the buyer's identity stays out.
- Auto-collected on app-store billing completion
- Params: product_id, price, currency, quantity
- App-store analogue of the web purchase event
How it appears in analytics and logs
An in_app_purchase event means a store transaction completed. Missing events can mean the Firebase SDK is not wired to the billing flow, not that nobody bought.
Diagnostic use case
Measure app-store revenue automatically through in_app_purchase, distinguishing store-billed purchases from custom in_app_purchase tracking you may add.
What WebmasterID can help detect
WebmasterID focuses on first-party web events, but the same discipline applies: record the transaction and value, never the purchaser's identity.
Common mistakes
- Expecting in_app_purchase for non-store (off-platform) sales.
- Double-counting by also firing a custom purchase for store buys.
- Putting account identifiers into purchase parameters.
Privacy and accuracy notes
in_app_purchase carries product and price data from the store, not the buyer. No customer identity belongs in its parameters. This is educational, not legal advice.
Related pages
- The purchase event and e-commerce
The purchase event records a completed transaction and anchors all e-commerce reporting: revenue, items, and conversion value. It carries a transaction id, a value and currency, and an items array describing what was bought. The discipline is to record the order, not the customer — product and revenue data belong in the event, personal identity does not.
- The ad_reward event for rewarded ads
ad_reward is a GA4 mobile event fired when a user finishes a rewarded ad and receives the in-app reward — extra lives, currency, or content. It is distinct from ad_impression (the ad was shown) and ad_click (the ad was tapped): ad_reward marks completion and payout. For apps using rewarded video to monetize, it is the event that ties ad engagement to the value the user got.
- The app_open event
app_open is a GA4 event collected automatically by the Firebase/GA4 SDK when a user opens an app or brings it to the foreground after it was in the background. It marks app launches and returns, underpinning app engagement, retention, and session analysis — but a foreground event is not the same as meaningful use.
- Event Explorer
Inspect app monetization events.
Sources and verification notes
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.