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

Best Practices

Match timezones exactly

Set the timezone in your Coupler.io data flow to match the timezone in AppsFlyer's App Settings. Even a one-hour difference will shift installs and events across day boundaries, breaking daily totals.

Use one data flow per app

If you manage multiple apps, create separate data flows for each App ID. Mixing apps in one flow isn't supported and makes it harder to isolate performance issues.

Start with aggregated reports for dashboards

Daily, Partners, and Geo reports are smaller and faster to sync than raw event data. Use these for ongoing dashboards and reserve raw installs/events for deeper analysis.

Combine organic and paid data with Append

Add both Installs and Organic installs as sources in one data flow and use the Append transformation to get a unified acquisition view without managing separate sheets.

Data refresh and scheduling

Don't pull more than 90 days of raw data at once

AppsFlyer limits raw reports (installs, events, uninstalls) to 90 days of history. Set your start date close to the current date and rely on incremental refreshes to build up historical coverage over time.

Stagger schedules across data flows

If you have multiple AppsFlyer data flows for the same app, offset their schedules by at least 15 minutes to avoid hitting AppsFlyer's API rate limits simultaneously.

Performance optimization

Use Partners reports instead of raw events for channel analysis

Partners reports give you aggregated install and event counts by media source without the row volume of raw data — much faster to load and easier to work with in Sheets or Looker Studio.

Send raw events to BigQuery, not Sheets

Raw in-app event data can grow into hundreds of thousands of rows quickly. BigQuery handles this scale much better than Google Sheets or Excel.

Common pitfalls

Do

  • Use the timezone from AppsFlyer App Settings, not your local timezone

  • Pull retargeting entities only if you have active retargeting campaigns

  • Use Append to merge organic, paid, and retargeting installs into one unified report

  • Test with a short date range first to confirm the entity returns data before widening the window

Don't

  • Set a start date older than 90 days for raw reports — it will return empty or partial data

  • Run daily reports and raw event reports on the same schedule without staggering

  • Assume empty retargeting reports mean an error — they may simply reflect no retargeting activity

  • Mix multiple App IDs in a single data flow configuration

Last updated

Was this helpful?