Ad spend CSV import

With Adjust's ad spend CSV import solution, you can upload your ad spend data and campaign information directly to Adjust. This is helpful if you measure ad spend with a partner that doesn't have an integration with Adjust.

When you import your ad spend data to our system, it brings it together with Adjust-measured data for more powerful insights and actionable reporting.

Adjust cannot verify the accuracy of the data you provide. You are responsible for the ad spend data you submit, that is matched and displayed in Adjust.

Before you begin

Here's what you need to know before getting started.


  • You need to be on the SpendWorks Enterprise or Custom package to get the Ad spend CSV import solution on your account.

Select a file sharing method

You can choose to send your CSV reports via email or Google Sheets. Use the instructions below to set up your preferred method, then make sure to follow the CSV formatting instructions to ensure your CSV file is formatted correctly.


  1. Use the CSV Integration Template to build your CSV report.
  2. Send reports to an Adjust email address using the following format:
  3. Provide your Technical Account Manager with the following information:
    1. The email address you'll send reports from.
    2. The email address you'll send reports to.
      • Adjust provides an address template that you can add an identifier to, so that only your reports are sent to that address.
      • Template:{add_your_ID_here}
      • Example email address:
    3. The time of day (including time zone) you'll send reports.
      • Adjust will schedue data pulls accordingly.

Google Sheet

  1. Create a new Google Sheet titled:
    • “[Your Company] x [Network being integrated] CSV Integration”
  2. Use the CSV Integration Template to build your CSV report.
  3. Modify the Share settings to:
  4. Provide your Technical Account Manager with the time of day (including time zone) you'll send reports.
    • Adjust will schedue data pulls accordingly.

CSV format

To accurately import your ad spend data to Adjust, you need to share your dataset in a specific format and include key information.

  1. Ensure there are no commas (,) or dollar signs ($) in the document, as this will cause errors during the import.
  2. Other than date, campaign_name, store_id, store_type, and ad_spend, all other fields can be left empty if they aren't provided by the network.
  3. The campaign_id should be unique to each campaign and not repeated.

Column formatting

Column TitleData TypeComments
  • Required

Format: yyyy-mm-dd
  • Required
  • Required

Apple App Store ID, Google Play Store ID or the Web app ID.

For Web apps (as configured in the Adjust dashboard), the value of the store_id needs to follow this format: "web_{adjust_app_token}"
  • Required
Possible values: “google_play”, “app_store” or “web”
  • Required
Total Ad Spend to report, based on the “currency” parameter selected. Use decimal point (not comma) for separator.

Do not leave this field blank, use `0` if no value.
  • Recommended
countrystringTwo-digit country code - ISO 3166
adgroup_namestringName of the Adgroup
adgroup_idstringID of the Adgroup
ad_namestringName of the ad/creative
ad_idstringID of the ad/creative
source_namestringName of the source/sub publisher app
source_idstringID of the source/sub publisher app
data_typestringIndicates if the data is SKAN-specific or not.

Possible values: “skan”, “non_skan”, “unknown”.

Default = “unknown”
currencystring3-letter code (ISO 4217), default = USD
impressionsintegerPositive integer
clicksintegerPositive integer
installsintegerPositive integer

Ad spend campaign mapping

When Adjust receives ad spend data, we attempt to connect it to available aggregated campaign data. This matching of ad spend data to attribution data can be performed using different methods: an automated matching service or custom mapping.

Our automated campaign matching handles data from the Report Service API. This includes:

  • Attribution data from the KPI Service
  • Ad spend reported by Network APIs

The matching is done primarily using the campaign ID and campaign name. Since this matching is performed automatically, no setup is required.

Custom mapping

In rare cases where automated matching cannot be performed, Adjust can set up custom mappings. For example, if a network API only shares the campaign_id which cannot be matched to the Adjust campaign_name.

Custom mappings are created and managed directly in Adjust using information you provide directly. We can match data in one of three ways depending on the data you provide:

Adjust informationNetwork information
campaign namecampaign ID
adgroup nameadgroup ID


For the best results, include your campaign ID in your campaign name. This helps Adjust match ad spend and aggregated data automatically. Use the following structure for the best results: {campaign_name}_{campaign_id}.

Provide one of the following pieces of information to your Adjust Technical Account Manager:

  • Your networks' campaign ID or adgroup ID.
  • The corresponding Adjust campaign name.
  • The Adjust adgroup name.

Your Technical Account Manager will then set up the mapping in Adjust so that you see all your ad spend data in one place, giving you a full overview of your ad spend information.