At a glance: Learn about methods for advertisers to aggregate and view marketing cost data.
- Provides aggregate advertising cost data, including LTV performance metrics. These are available in the dashboards and performance reports.
- Reports include ROI, ROAS, clicks, impressions, campaign ROI, and average effective cost per installation (eCPI) over time.
- Supports different cost models used by the partner, for example, CPI, CPA, CPC, and CPM.
- Records advertising cost by API, ad spend ingestion (CSV file upload), and cost by click.
- Agencies can access Xpend cost data for advertisers with an Xpend subscription.
The following metrics are available to advertisers without an Xpend subscription:
- Cost data by click.
- SRN clicks and impressions data, configured via the SRN integrated partner Cost tab.
Principles of cost data aggregation
This section describes the main principles of campaign cost data aggregation.
Cost aggregation methods
Cost data is obtained from partners using one or more methods. If cost is reported by more than one method, then the cost prioritization mechanism determines which data is used. This ensures that cost data is not inflated.
After AppsFlyer processes the data, it displays in UTC timezone (default) or as per your app-specific timezone settings.
|Cost aggregation method||Cost models supported||Data granularity||Data freshness||Remarks|
Level depends on the integration
|Intraday||Data may change after the cost event as we try to receive data up to 30 days back (depending on the ad network). This enables us to take into account retroactive changes made by the ad network.|
|Ad Spend Ingestion (file upload)||All||Level depends on the file uploaded||Up to 4 hours after ingestion||Cost reported can be reverted and corrected data submitted for up to 90 days.|
|Clicks (attribution link)||CPI||User-level||
Maximum: Up to 4 hours after click
|No change possible|
|* API integrations between partners and AppsFlyer are by either Cost API or InCost API (never both). The API used and data granularity provided is partner-dependent.|
Cost data availability and reports
Cost data is available in:
- Overview, Cohort, and SKAdNetwork dashboards. For retargeting campaigns use Cohort unified view.
- Cost ETL reporting tool containing the complete set of data. This includes campaign hierarchy details (media source, campaign name, adset, and the dimensions made available by the ad network, including geo, channel. site ID, and keywords).
- Click cost data is available in raw-data reports.
In the Overview dashboard, Aggregated Performance Report contains: cost, clicks, impressions, ROI, and average eCPI data.
The type and model of cost data reporting depend on the aggregation method used.
Cost prioritization mechanism
For a given media source, cost can be provided by more than one aggregation method. To avoid cost inflation, a campaign cost prioritization mechanism decides which cost data is made available in the platform. Priority is given according to the aggregation method. The priority from highest to lowest is: API > Ad Spend Ingestion > Click. If available, use API, as it is the most accurate.
Campaign cost aggregation method prioritization
- This mechanism impacts aggregate data reports and dashboards.
- Click cost data available in raw data reports are not impacted by the prioritization mechanism.
Scenario: An ad network reports cost per click, but you decide to enable the ad network's Cost API.
Result: Cost is aggregated by both click and Cost API. Since Cost API has priority, click costs are ignored.
- Possible to implement multiple cost-aggregation methods. The actual reported cost is affected by the cost aggregation method priority rules set out in the table below.
- Change affects agency-generated traffic in the same manner. This includes both transparent and non-transparent agencies.
- The change has retroactive impact. Historical aggregate cost data can change.
|Ad Spend Ingestion||
List of ad networks
Traits and limitations
|Can access Xpend cost data for advertisers with an Xpend subscription.|
API data freshness