5 min read
RevenueCat Attribution Fields Are Write Once: Set Them Only When You Know the Source
They also have an important constraint: attribution data is write once. A placeholder written too early can block the real campaign value when it becomes available.
· Grometrics Team
RevenueCat supports reserved subscriber attributes for acquisition data such as media source, campaign, ad group, creative, and keyword. These fields are useful for segmenting subscription results by source.
They also have an important constraint: attribution data is write once. A placeholder written too early can block the real campaign value when it becomes available.
The safest rule is simple. Do not send an attribution field until you have a real value for it.
RevenueCat does not decide which ad caused the install
RevenueCat receives attribution context. It is not an attribution network and does not independently determine which campaign caused an install.
The source can come from:
- An attribution provider.
- Apple AdServices for Apple Search Ads.
- A value that your app sends to RevenueCat.
This distinction matters when debugging. A successful request to RevenueCat proves that data was accepted. It does not prove that the upstream provider identified the campaign correctly or that the value will appear in every report.
Why placeholders are dangerous
Suppose the app starts before the attribution provider finishes its callback. The app sends this value:
$mediaSource = "unknown"A moment later, the provider returns the real source. The app tries to replace unknown with apple_search_ads or another source.
RevenueCat documents attribution attributes as write once. The early placeholder can therefore become the permanent value.
The same risk applies to strings such as pending, organic, none, or an empty fallback that your code treats as meaningful.
Unknown is a reporting state in your analytics system. It should not be written into a field that cannot later be corrected.
Use a deliberate attribution sequence
A reliable app sequence looks like this:
- Configure the stable RevenueCat App User ID.
- Start the attribution provider or Apple AdServices request.
- Wait for a valid result or a defined timeout.
- Validate each value before sending it.
- Send only the fields that contain real attribution data.
- Record the result and any failure reason in your own diagnostics.
Keep identity and attribution separate. The App User ID connects purchases to the right customer. Attribution fields describe how that customer arrived. A missing campaign must not prevent RevenueCat identity from being configured correctly.
Validate values before the write
Before sending an attribution value, check that it is:
- From the expected provider or system API.
- Not a placeholder.
- Not blank after trimming.
- Within any documented size or format limit.
- Associated with the current customer identity.
Also avoid sending the same reserved field from several competing code paths. Choose one owner for each field. This prevents a race in which a weak fallback reaches RevenueCat before a stronger source.
Keep a separate record of unresolved attribution
Some installs will remain unattributed because of privacy choices, missing provider data, unsupported journeys, or delivery failures.
Record that state outside RevenueCat. Include a safe reason such as:
- Consent did not permit detailed attribution.
- The provider returned no campaign.
- The request timed out.
- The app had no valid acquisition handoff.
This gives your team something to investigate without poisoning a permanent RevenueCat field.
Verify reporting after the integration accepts data
RevenueCat notes that a provider can accept an integration event without producing the expected attribution report. Verification must therefore cover both delivery and reporting.
Check:
- The app sent a real attribution value only once.
- RevenueCat stored the expected subscriber attribute.
- The related subscription event belongs to the same App User ID.
- RevenueCat reporting shows the expected segment after its processing delay.
- Your revenue analytics joins the subscription event to the same source.
Grometrics RevenueCat attribution adds acquisition and journey context to subscription outcomes. It can show which source and prepaywall path produced revenue, while RevenueCat remains the authority for subscription events.
Sources
CONNECT YOUR PAYMENTS
Grometrics works with Stripe, RevenueCat, Gumroad, Shopify, and more. 5-minute setup.
Connect payments →See the full page:
RevenueCat attributionRELATED POSTS