Skip to main content

Appsflyer Network Cost Upload

Enable your network to share advertising cost data with advertisers' Appsflyer accounts via the InCost API - giving them accurate ROAS and cost metrics in their dashboards.

Updated today

The Appsflyer InCost API lets ad network partners send detailed advertising cost data to Appsflyer, which ingests and processes the data and makes it available to advertisers via their dashboards and reports - giving them accurate cost and ROAS metrics for campaigns running through your network.


Prerequisites - InCost API setup (one-time)

Your Appsflyer network account

Before cost upload can work, your Appsflyer network account needs to be set up as an InCost API partner. This is a technical implementation done at the network level - once completed, any advertiser using your network can enable cost data sharing on their side.

  1. Apply for InCost - in Appsflyer, go to Help → Contact our team, select Enabling cost measurement, and submit. An Appsflyer partner solutions engineer will contact you to guide the implementation.

  2. Ensure campaign hierarchy coverage - campaign ID (and optionally adset ID and ad ID) must be present on attribution links for more than 90% of your traffic.

  3. Get your Appsflyer API token - from your Appsflyer network account dashboard. This token is used to authenticate API requests.

  4. Add your API token in Swaarm - go to Organization → Settings → Connections → Appsflyer Cost Upload, click Add Token, enter a name and paste the token, then click Save.

  5. Test the integration:

    • Notify Appsflyer in the ticket thread that implementation is complete and request access to test apps (com.cost.app and id888123456)

    • In Swaarm, use the Test Offer (id2) or create a new test offer, and configure the Appsflyer Network Cost Upload integration on it (see Step 2 below) using the test app bundle ID

    • Create a test conversion on the test offer in Conversion Report. Check here for details.

    • In Appsflyer, go to Collaborate → Partner Marketplace, select your network, click Set up integration, select the test app, open the Cost tab, enable Get Cost Data, click Save Cost, then click Test Connection

    • Verify cost data appears in the advertiser's Appsflyer dashboard

  6. Confirm with Appsflyer - in the ticket thread, confirm the integration is operational.

ℹ️ Once this setup is complete, cost upload is configured per offer using the steps below.

Advertiser setup in Appsflyer

Each advertiser needs to enable cost data from your network in their Appsflyer account:

  1. In Appsflyer, go to Collaborate → Active Integrations

  2. Find and select your network from the partner list

  3. Open the Cost tab

  4. Enable Get Cost Data

  5. Click Save Cost

Once enabled, Appsflyer will start receiving cost data for that advertiser's campaigns.


Set integration in Swaarm

Step 1 - Add your Appsflyer API token in Swaarm

  1. Go to Organization → Settings → Connections → Appsflyer Cost Upload

  2. Click Add Token

  3. Enter a Name - a label to identify the token (e.g. "Appsflyer Main Account")

  4. Paste your Appsflyer API token

  5. Click Save

ℹ️ You can add multiple tokens if you manage multiple Appsflyer network accounts.

Step 2 - Configure cost upload on the offer

  1. Go to Offer → Edit → Integrations tab → Appsflyer Network Cost Upload

  2. Select the Token - the token added in Step 1

  3. Enter the App ID - the app ID as it appears in Appsflyer (e.g. id123456789 for iOS, com.example.app for Android)

  4. Enter the Media Source - your network's media source name exactly as configured in Appsflyer

  5. Enter the Campaign ID - the Appsflyer campaign ID

  6. Enter the Campaign Name - the campaign name as it appears in Appsflyer

  7. Click Save


How it works

Once configured, Swaarm sends cost data for this offer to the advertiser's Appsflyer account. Appsflyer pulls this data every 4 hours.

Each day, Swaarm sends cost data for the following days:

  • 31 days ago

  • 30 days ago

  • 8, 7, 6, 5, 4, 3, 2, 1 days ago

Did this answer your question?