Best Practices
Recommended setup
Match dimensions to your reporting hierarchy
Adjust supports full campaign hierarchy: network → campaign → adgroup → creative. Only go as deep as you actually use — adding creative-level dimensions to a high-level report inflates row counts without adding useful signal.
Use additional metrics for custom events
If you've set up app-specific events in Adjust (like "level_complete" or "subscription_start"), add them in the Additional metrics field. These won't appear in the standard metric picker but are fully supported by the API.
Separate cohort and non-cohort reports
Cohort metrics measure a user group's behavior over time from their install date, while standard metrics reflect activity in the report period. Mixing them in one report often produces confusing results — create separate data flows for each use case.
Data refresh and scheduling
Account for attribution windows
Adjust attribution windows can be up to 7 days (or longer for view-through). Data for recent dates may still be incomplete. Include a few days of overlap in your start date to catch late-attributed installs on subsequent refreshes.
Append historical data, don't re-pull everything
Once data older than your attribution window is settled, it won't change. Use Coupler.io's Append transformation to add new date ranges on top of existing data rather than re-exporting your full history each run.
Performance optimization
Limit dimension combinations for large date ranges
Adding 4–5 dimensions to a 90-day report across many networks can generate thousands of rows and slow down the API response. For long-range historical pulls, use fewer dimensions or split into multiple data flows by time period.
Use country_code instead of country for joins
If you're joining Adjust data with other sources (like ad spend from Facebook or Google), use `country_code` rather than `country` as the join key — standardized ISO codes are far more reliable than country name strings across platforms.
Common pitfalls
Don't mix revenue and all_revenue in the same analysis without understanding the difference. revenue covers IAP only; all_revenue adds ad revenue on top. Using both in a single report without labeling them clearly leads to double-counting errors in dashboards.
Last updated
Was this helpful?
