AppsFlyer¶
AppsFlyer is a mobile marketing analytics and attribution platform that helps businesses track, measure, and optimize their app marketing efforts across various channels.
omniload supports AppsFlyer as a source.
[!WARNING] AppsFlyer uses different names for input dimensions vs their name in the output schema. For instance, in order to obtain campaign information, you need to use the
cdimension; however, in the output schema, the resulting column will be calledcampaign.
URI Format¶
The URI format for AppsFlyer is as follows:
appsflyer://?api_key=<api-key>
An API token is required to retrieve reports from the AppsFlyer API, please follow the guide to obtain an API key
Let’s say your API key is ey123, here’s a sample command that will copy the data from AppsFlyer into a DuckDB database:
omniload ingest \
--source-uri 'appsflyer://?api_key=ey123' \
--source-table 'campaigns' \
--dest-uri duckdb:///appsflyer.duckdb \
--dest-table 'appsflyer.output'
The result of this command will be a table in the appsflyer.duckdb database.
Supported Tables¶
omniload integrates with the Master Report API of AppsFlyer, which allows you to retrieve data for the following tables:
Tables¶
Name |
PK/Merge Key |
Inc Key |
Inc Strategy |
Details |
|---|---|---|---|---|
install_time |
install_time |
merge |
Retrieves data for campaigns, detailing the app’s costs, loyal users, total installs, and revenue over multiple days. |
|
install_time |
install_time |
merge |
Retrieves data for a creative asset, including revenue and cost. |
|
|
Dynamic (dimensions + install_time) |
install_time |
merge |
Retrieves data for custom tables, which can be specified by the user. Please refer to the |
Use these as --source-table parameter in the omniload ingest command.
Custom Tables¶
You can also ingest custom tables by providing a list of dimensions and metrics.
The format for the custom table is:
custom:<dimension1>,<dimension2>,<metric1>,<metric2>
Parameters:
dimensions: A comma-separated list of dimensions to retrieve.metrics: A comma-separated list of metrics to retrieve.
For custom tables, omniload will use the given dimensions as the primary key to deduplicate the data.
[!NOTE] omniload will add
install_timeas the primary key to the table by default if it is not provided as one of the dimensions.
Examples¶
Copy campaigns data from Appsflyer into a DuckDB database:
omniload ingest \
--source-uri 'appsflyer://?api_key=ey123' \
--source-table 'campaigns' \
--dest-uri duckdb:///appsflyer.duckdb \
--dest-table 'dest.output'
Copy creatives data from Appsflyer into a DuckDB database:
omniload ingest \
--source-uri 'appsflyer://?api_key=ey123' \
--source-table 'creatives' \
--dest-uri duckdb:///appsflyer.duckdb \
--dest-table 'dest.output'
Copy custom data from Appsflyer into a DuckDB database:
omniload ingest \
--source-uri "appsflyer://?api_key=ey123" \
--source-table "custom:app_id,geo,install_time,clicks,install" \
--dest-uri duckdb:///appsflyer.db \
--dest-table "mat.example"