Skip to main content

Import your Appsflyer agency account stats to Swaarm

Connect your Appsflyer agency account to automatically import clicks, impressions, and conversions into Swaarm and assign them to the correct publisher.

Overview

With the AppsFlyer Stats Import, Swaarm pulls your AppsFlyer agency account data on a schedule and maps it to the correct offers, publishers, and events in Swaarm — so your stats, payouts, and budgets stay in sync without any manual export or import.

⚠️ Before you start:

  • All imported stats count towards your usage and are billed → Check Usage

  • If the setup is incomplete (offer, publisher, targeting, etc.), data will not be imported


Setup Checklist

Data is only imported when all of the following are in place. More about each step below.

#

What

Where

1

Add your AppsFlyer API token

Organization → Settings → Connections → AppsFlyer → Stats Import

2

Create an offer and attach the App ID

Offers → (offer) → Edit → Integrations → AppsFlyer

3

Map media sources → publishers

Publisher → Edit → AppsFlyer tab (current) or Publishers → AppsFlyer Mapping (new)

4

Map in-app events → event types

Offers → (offer) → Edit → Events

5

Set correct country and OS targeting

Offers → (offer) → Edit → General

6

Approve the publisher on the offer

Offers → (offer) → Management → Publishers → Access Status = Approved

7

Set offer Status to Active

Offers → (offer) → Edit → General


Step 1 - Add Your AppsFlyer API Token

Navigation path: Organization → Settings → Connections → AppsFlyer → Stats Import → Add Account

  1. Click Add Account

  2. Enter a Name for the account (for example, Agency1) - this name is referenced when configuring an offer

  3. Paste your AppsFlyer agency account API token

  4. Click Save

ℹ️ You can add multiple AppsFlyer accounts.


Step 2 - Offer Setup

💡 We recommend creating a dedicated offer for AppsFlyer import rather than using an existing one. This keeps imported stats clean and separate from live traffic.

  1. Create a new offer → Create and configure an offer

  2. Set the correct Country and OS targeting - only traffic matching the offer's targeting will be imported

    ℹ️ If you have different payouts per country, create separate offers per country. For example: Offer A = US at $2, Offer B = Germany at $1.50 - even if they're the same campaign in AppsFlyer.

  3. Select correct Leadflow (CPI or CPA)

  4. Leave Private and Requires Approval selected - recommended to prevent publishers from sending direct traffic to the offer.

  5. Create Events matching your AppsFlyer in-app events - make sure the Adv. EventType ID matches the AppsFlyer event value exactly (case-sensitive)

    ℹ️ Installs are mapped automatically — no event type needed. In-app events with no matching Adv. EventType ID are skipped.

  6. Set offer Status to Pending for now - activate it only once publishers are approved.

  7. Go to the Integrations → AppsFlyer tab and click Add Configuration

Field

Description

App ID

The AppsFlyer App ID (e.g. com.example.app for Android, id123456789 for iOS)

Accounts

Select the AppsFlyer account added in Step 1

Import Offset

How far back the latest imported day is. Default - 2 days (to avoid partial data). Maximum: 30 days.

Retargeting

Enable for re-engagement or retargeting offers

ℹ️ Offers configured for AppsFlyer Stats Import cannot use Budgets or Targeted Payouts.


Step 3 - Publisher Mapping

This is how Swaarm knows which publisher to attribute each row to. AppsFlyer rows carry a Media Source (pid) - you map media source values to a publisher in Swaarm.

💡 We recommend creating a dedicated publisher for AppsFlyer import - without postbacks or contacts - to keep imported stats clean and separate.

Current Method - Publisher AppsFlyer Tab

  1. Go to Publishers → (publisher) → Edit → AppsFlyer tab

  2. Enter the Media Source name(s) used by this publisher in AppsFlyer

  3. Click Save

ℹ️ A media source can only be assigned to one publisher at a time. If it needs to be reassigned to a different publisher, remove it from the current one first. Data is assigned to whichever publisher holds the media source at the time of import - this is not applied retroactively.

New Method - AppsFlyer Mapping Page ✨ Recommended

Navigation path: Publishers → AppsFlyer Mapping → Add Mapping

Field

Description

Publisher

The publisher this media source belongs to

Global Mapping

If enabled, applies to every offer for this publisher/media source. If disabled, select a specific offer.

Offer

The offer this mapping applies to (only when Global Mapping is off)

Media Sources

One or more AppsFlyer media source names. Press Enter after each. Wildcards supported.

Start Date

Optional. Inclusive. Leave empty for open start.

End Date

Optional. Exclusive. Leave empty for open end.

Wildcard patterns:

Pattern

Matches

Example

xyz_int

Exact value only

xyz_int

xyz*

Anything starting with xyz

xyz_int, xyz_ua

*_int

Anything ending with _int

abc_int, xyz_int

*

Any value

Everything

ℹ️ Wildcards in the middle of a name (e.g. xy*z) are not supported.

Precedence rules:

  • Offer-specific mappings always win over global mappings

  • Exact matches win over wildcard matches

  • Avoid overlapping mappings for the same offer and media source pointing to different publishers

💡 The per-publisher AppsFlyer tab (current method) still works as a fallback. The AppsFlyer Mapping page takes priority.


Step 4 - Check the setting and go live

  • Countries & OS - only rows matching the offer's targeting are imported

  • Publisher approval - the publisher must be Approved on the offer. Pending, Blocked, or Rejected publishers are not imported.

  • Media sources are assigned to corresponding publishers

  • Offer status - once publishers are approved, set the offer to Active to start importing


Import Modes

Standard Import (Aggregated)

The default import mode for all accounts. Swaarm pulls aggregated stats from AppsFlyer on a daily schedule based on the configured Import Offset.

  • Clicks, impressions, and conversions are imported per offer / publisher / event / country / day

  • Use On-demand Import to pull a specific date manually — go to the offer's AppsFlyer configuration, pick a date, and click Run Import

Near-Real-Time Import

ℹ️ Near-Real-Time Import is available for select accounts. When enabled, installs and in-app events are imported hourly as individual records, with fraud handling via AppsFlyer Protect360. Contact your Swaarm account manager for more details.


Reporting

Imported AppsFlyer data appears in the Conversion Report and stats like any other traffic.

Column

Source

Offer / Publisher / Event

Resolved via the mappings above

Pub. Sub ID

AppsFlyer Site ID (near-real-time import only)

Pub. Sub Sub ID

AppsFlyer Sub Site ID (near-real-time import only)


Troubleshooting

Conversions aren't showing up — work through this checklist:

  1. API token added and selected on the offer's AppsFlyer configuration

  2. App ID matches exactly what's in AppsFlyer

  3. Media source is mapped to a publisher, and the mapping covers the row's date

  4. Offer targets the row's country and OS

  5. Publisher's Access Status is Approved on the offer

  6. Adv. EventType ID matches the AppsFlyer event name for in-app events

  7. Allow for the Import Offset — recent days may not be imported yet

The wrong publisher is credited — check for overlapping or too-broad media source patterns. Offer-specific mappings beat global ones; exact matches beat wildcards.

Numbers differ slightly from AppsFlyer — aggregated import respects the Import Offset and de-duplicates re-imported days. Very recent data may still be settling on the AppsFlyer side.


FAQ

Do I need a separate setup per offer? You need the App ID on each offer, plus the media source and event mappings. The API token is added once and reused.

Can two offers share one App ID? Yes — Swaarm separates them by targeted country and OS.

Are installs imported without an event type? Yes — installs map to the offer's default install event automatically.

Will importing the same day twice create duplicates? No — the import de-duplicates rows already imported.

Does importing cost anything? Yes — imported stats count towards your usage and are billed.


After Mapping

Once everything above is configured, stats begin to import from AppsFlyer. All the stats including: impressions, clicks, installs and events will be synced to Swaarm for the respective mapped entities. As a result, Swaarm will show the aggregated stats in the entire platform (every stats page i.e. dashboard, management tables, performance charts, etc.) of all the events that were tracked in Swaarm + all the events that were synced from the AppsFlyer accounts.

⚠️ WARNING

If you delete the API token from the settings page, it will remove the AppsFlyer configuration from the offer as well.


Reports

When you look through the conversion reports you will see the conversions as Approved and Passed, but these will not be fired to your publishers. For these conversions, you will see that under "__AppsflyerImport" under the Pub. Sub Sub ID field in order to indicate that they were synced from Appsflyer. You can edit conversions just like a normal offer as well.

For Explorer, you can filter under Pub Sub Sub ID - "__apps". Pub Name and Pub Sub ID will show the media sources you linked from the steps above.


Last Sync

You can see the last sync for your data under the AppsFlyer Tab in Settings next to the Agency API token you connected.

Did this answer your question?