AppLovin
Use the AppLovin connector to sync publisher revenue reports and advertiser campaign performance data into your Athena lakehouse. This is a Blotout custom connector built on the Airbyte Connector Builder (declarative manifest).
Prerequisites
Section titled “Prerequisites”- A tag with Blotout Cloud set up (green checkmark in the Tags table)
- An AppLovin Report Key — find it in your AppLovin dashboard under Account → General → Keys
Create the pipeline
Section titled “Create the pipeline”Follow the shared Create a pipeline steps until the source catalogue appears, then select AppLovin.
Source configuration
Section titled “Source configuration”On the Source step, configure the connector:
| Field | Purpose |
|---|---|
| Schedule Type | How the pipeline runs — typically Scheduled |
| Sync Frequency | How often Airbyte syncs (for example, Every 24 hours) |
| Source Name | Name for this pipeline — used in the Athena schema <SOURCE_NAME>_<ENV> |
Authentication (API Key)
Section titled “Authentication (API Key)”AppLovin authenticates via an API key sent as a query parameter on every request:
- Under AppLovin Configuration, paste your Report Key into the Report Key field.
Configuration fields
Section titled “Configuration fields”| Field | Required | Default | Description |
|---|---|---|---|
| Report Key | Yes | — | AppLovin Report Key (secret). Found in the dashboard under Account → General → Keys. |
| Start Date | Yes | — | Earliest date to pull in YYYY-MM-DD format. Maximum lookback window is 45 days from today. |
| Reporting Granularity | No | day | Select day for daily reporting (recommended, up to 45 days lookback) or hour for hourly reporting. Hourly data is only available for the last 29 days — selecting hour overrides the start date to 29 days ago. |
| Lookback Window (days) | No | 7 | Number of days to re-fetch on every sync (range 1–7) to capture retroactive updates to cohort metrics (total_rev_7d, roas_7d, chka_7d, chka_usd_7d, sales, first_purchase). |
Supported sync modes
Section titled “Supported sync modes”The AppLovin source connector supports the following sync modes:
- Incremental Sync — Append
Supported streams
Section titled “Supported streams”| Stream | Endpoint | Cursor Field | Supports Incremental |
|---|---|---|---|
revenue_report | /report (publisher) | day | ✅ |
campaign_performance | /report (advertiser) | day | ✅ |
revenue_report
Section titled “revenue_report”Publisher daily reporting. Provides aggregated ad revenue data segmented by platform, device, country, placement, and ad type.
| Field | Type | Description |
|---|---|---|
day | string | Date of reporting data (YYYY-MM-DD) |
platform | string | android, fireos, or ios |
device_type | string | phone, tablet, or other |
country | string | Two-letter ISO country code |
placement_type | string | APP_OPEN, BANNER, INTER, LEADER, MREC, NATIVE, or REWARDED_INTER |
ad_type | string | APPOPEN, GRAPHIC, MRAID, PLAY, REWARD, or VIDEO |
impressions | integer | Number of impressions |
clicks | integer | Number of clicks |
ctr | number | Clicks divided by impressions |
campaign_performance
Section titled “campaign_performance”Advertiser campaign and ad-level performance. Includes spend, conversion, cohort revenue, and ROAS metrics. When granularity is set to hour, an additional hour field is included (hourly data limited to the last 29 days).
| Field | Type | Description |
|---|---|---|
day | string | Report date (YYYY-MM-DD) |
hour | string | Report hour HH:MM (only present when granularity = hour) |
campaign | string | Campaign name |
campaign_id_external | string | Stable unique campaign ID (does not change on rename) |
campaign_type | string | CPP, CPE, ad ROAS, IAP ROAS, or ROAS |
campaign_ad_type | string | ua for user acquisition, rt for retargeting |
ad_id | string | Stable unique ad ID (does not change on rename) |
ad | string | Ad name |
ad_creative_type | string | GRAPHIC, PLAYABLE, VIDEO, VIDEO_GRAPHIC, VIDEO_GRAPHIC_DPA, or VIDEO_PLAYABLE |
ad_type | string | APPOPEN, GRAPHIC, PLAY, REWARD, or VIDEO |
creative_set | string | Creative set name |
creative_set_id | string | Stable creative set ID (does not change on rename) |
placement_type | string | APP_OPEN, BANNER, CTV, INTER, LEADER, MREC, NATIVE, or REWARDED_INTER |
platform | string | android, fireos, ios, or tvos |
device_type | string | phone, tablet, or other |
country | string | Two-letter ISO country code |
impressions | integer | Number of impressions |
clicks | integer | Number of clicks |
conversions | integer | Number of conversions / installs |
cost | number | Advertiser spend (USD) |
ctr | number | Clicks divided by impressions |
total_rev_0d | number | Total revenue on install day |
total_rev_7d | number | Total revenue within 7 days of install (retroactively updated) |
roas_0d | number | Return on ad spend on install day |
roas_7d | number | Return on ad spend within 7 days of install (retroactively updated) |
chka_0d | integer | Checkouts achieved on install day |
chka_7d | integer | Checkouts achieved within 7 days of install (retroactively updated) |
chka_usd_0d | number | Checkout revenue (USD) on install day |
chka_usd_7d | number | Checkout revenue (USD) within 7 days of install (retroactively updated) |
sales | number | Attributed sales events (requires revenue postbacks) |
first_purchase | integer | Users who made their first purchase (requires revenue postbacks) |
Downstream notes
Section titled “Downstream notes”campaign_performance.campaign_id_externalandad_idare stable identifiers safe for joins and deduplicationchka_usd_7dis the checkout-based revenue measure used for e-commerce CAC/ROAS reporting in thedbt-analytics-lakehouseCAC report- Cohort metrics are retroactively updated — always deduplicate downstream using
_airbyte_extracted_at
Changelog
Section titled “Changelog”| Version | Date | Description |
|---|---|---|
| 1.0.2 | 2026-08-11 | Added ad_id, chka_0d, chka_7d, chka_usd_0d, chka_usd_7d to campaign_performance for CAC report support |
| 1.0.0 | 2026-03-19 | Initial release with revenue_report and campaign_performance streams |
Complete Schema and Summary
Section titled “Complete Schema and Summary”Continue through the Schema and Summary steps to choose streams and confirm the connection. Save and run the first sync.
After a successful sync, Airflow creates an organization-scoped DAG for the pipeline, and dbt models feed downstream analytics.
Related documentation
Section titled “Related documentation”- Data Pipelines overview — Tags-first create flow