Our Data Refinery assembles in-app purchase data from app-initiated RPC requests, receipt validation API's, real-time subscription status updates, financial and analytical reports (coming soon) and various other sources to produce a definitive and complete portrait of your in-app purchase data.

Disparate and ambiguous data is refined within a common context, providing a rich, uniformed and integrated in-app purchase data resource regardless of marketplace.

Features

  • Disparate or ambiguous in-app purchase data between different marketplaces are federated within a common context.
  • The most recent metadata and user-identifier from the Client API are attributed.
  • Subscription purchases are expanded to include trial, introduction offer and grace periods
  • Subscription changes such as renewals and up/down/cross-grades are itemized chronologically.

In-App Purchase Resource

The table below describes the In-App Purchase Resource's properties.

NameTypeDescription
idUUIDMbaasy database ID for the In App Purchase.
app_family_idUUIDMbaasy database ID for the App Family.
fact_idUUIDMbaasy database ID for the In App Purchase Fact.
marketplaceString
The marketplace the purchase was made. Possible values are:
google_play:
Google Play
itunes_connect
iTunes Connect
app_identifierString
Unique identifier for the app. This value is derived from:
itunes_connect:
bundle_id
google_play:
package_name
product_idStringMarketplace Product ID / SKU for the purchase.
quantityStringNumber of items purchased.
typeString
Type of purchase. Possible values are:
subscription:
Subscription Purchase
managed_user:
Consumable/Non-Consumable purchase
environmentString
Environment of the purchase. Possible values are:
production:
Purchase was made in the Production environment
sandbox:
Purchase was made in the Sandbox / test environment
country_codeString
ISO 3166-1 alpha-2 country code / region code of the app store user.
google_play:
Derived from the countryCode.
itunes_connect:
Derived from the country_code when uploading a receipt.
currency_codeString
ISO 4217 currency code associated to the country_code.
google_play:
Derived from the priceCurrencyCode.
itunes_connect:
Derived from the iTunes Connect country to currency code map (not available unless the country_code is received).
user_identifierString
The user_identifier received via an uploaded receipt / purchase order.
is_auto_renewingBooleanIndicates the auto-renewing status of the subscription.
in_trial_periodBoolean
Indicates if the subscription is in the trial period. This property is derived from:
google_play:
paymentState = 2 (Free trial).
itunes_connect
is_trial_period = true
in_grace_periodBoolean
Indicates if the marketplace is still trying to renew the subscription. This property is derived from:
google_play:
paymentState = 0 (Payment pending).
itunes_connect:
is_in_billing_retry_period = 1 (App Store is still attempting to renew the subscription).
metadataObject
The metadata received via an uploaded receipt / purchase order.
purchased_atTimestamp
subscription:
Timestamp when the subscription first started / was originally purchased.
managed_user:
Timestamp when the purhcase was made.
current_period_start_atTimestampThe date and time when the current subscription period started (Only available on subscription purchases)
current_period_end_atTimestampThe date and time when the current subscription period will/has ended. (Only available on subscription purchases)
created_atTimestampThe date and time when the record was created.
updated_atTimestampThe date and time when the record was most recently updated.

Register for early access

  • Yes Unlimited 30 day free trial
  • Yes 2,500 free events / month

Frequently Asked Questions

Data Refinery

How do you handle restore iTunes transactions?

Receipts with a restore transaction work similar to a normal purchase. We validate the receipt via our Fraud Shield, then attribute any changes including the user-identifier and metadata to the in-app purchase.

Data Refinery

What happens if there are two users with the same purchase?

We only attribute user to a purchase. Therefor, the latest user-identifier will be recorded. However the timeline of changes will include any previous users.

Data Refinery

What is an App Family?

An App Family is a group of apps of the same name and content published on multiple marketplaces. For instance, an app called "Notes" published on iTunes and Google Play would be considered part of the same App Family.