At a glance: Integrate your X Ads account with AppsFlyer to display attribution data of X Ads campaigns.
Overview
X Ads is an Advanced Self-Reporting Network (SRN), enabling AppsFlyer to support campaign measurement for X Ads campaigns through its range of privacy-preserving measurement methods.
X-Ads attribution flow in AppsFlyer
The AppsFlyer attribution flow for X Ads is as follows:
- AppsFlyer receives all engagement data from X Ads via server-to-server (S2S) integration and attributes the engagements as follows:
- If both the install event and the engagement include a mobile advertiser ID (MAID), AppsFlyer performs deterministic ID matching.
- If either the install or the engagement is missing an advertising ID, probabilistic modeling is used for attribution, unless the customer has otherwise configured it.
- All install postbacks are sent to X Ads through the customer's integration, regardless of whether the install is attributed to X Ads.
-
When an advertiser ID is unavailable, and Advanced Privacy (AP) is active, certain fields in postbacks sent to X Ads will be restricted. The restricted fields are:
- X Ads engagement ID
- Hashed device ID
- IP address
- User Agent
Connecting your X Ads account to AppsFlyer
Note
Before you begin, make sure you've added a payment method to your X Ads account. Otherwise, you won't be able to activate the partner integration in AppsFlyer.
- Log in to your X Ads Account at X Ads.
If you're not automatically directed to the Ads page, click the Ads button at the top-left corner. - When prompted to select either a Simple (NEW) or Advanced campaign, select Advanced.
-
Under Campaign objective, select App Installs or App re-engagements, then click Next.
- Choose your app, then click the mobile measurement partner link.
-
On the Conversion tracking page, click Go to AppsFlyer.
- A notification displays informing you that you're about to leave X Ads to go to the AppsFlyer website. Click Go to AppsFlyer and log in to your Dashboard.
- In AppsFlyer, from the side menu, select Collaboration > Active Integrations.
- Search for X Ads and select it.
- In the Integration tab, accept the X Ads Terms and Conditions for Mobile App Conversion Recording (MACT), then click Save integration.
- Turn on Activate partner, and click Log in with X Ads.
- Authorize AppsFlyer to use your X Ads account by clicking Authorize app.
- Turn on Activate Partner again to display the Integration tab settings and enable attribution.
Note: The toggle must stay on (activated) for as long as you work with the partner. Learn more about partner activation. - Select your X Ads accounts to activate them, then click Save & Close.
X Ads attribution setup
For a detailed description of the partner configuration page Header, click here.
Integration tab
The Integration Tab is divided into different sections, as described below. Partner must be activated on the first visit to enable its setup.
Ad account connected
Select the accounts to enable attribution.
Note: You can connect up to 200 ad accounts in AppsFlyer. To avoid reaching this limit and ensure continued attribution for all active accounts, we recommend removing any ad accounts that are no longer in use.
Advanced Privacy
For iOS apps only: The Advanced Privacy (AP) toggle lets you control the level of user data shared with X Ads via postbacks. This setting complies with iOS 14.5+ privacy requirements.
When AP toggle is ON:
- Postbacks follow the Advanced Privacy template.
- Only aggregated and anonymous data is shared. No device-level identifiers are included.
Note
- The Advanced Privacy toggle is on by default when activating the X Ads integration.
- According to X Ads, keeping Advanced Privacy ON may result in under-reporting of campaign events and limit performance optimization on X Ads.
Click-through attribution
Use the slider to set the maximum time from click to install. Only installs (first launches) that take place within the lookback window may be attributed to X Ads.
You can customize this value to 1-23 hours or 1-30 days. We recommend setting the click-through lookback window to 14 days, to align with X Ads.
View-through attribution lookback window
This slider allows you to set the maximum time from impression to the install. Only installs (first launches) that take place within this lookback window, following an ad impression, are attributed to X Ads, providing there was no other relevant ad click.
You can customize this value to 1-23 hours or 1-7 days. We recommend setting the View-through lookback window to 1 day, to align with X Ads.
Reinstall settings
The Reinstall attribution toggle is turned on by default for new integrations. Reinstall attribution lets you measure users who reinstall your app during their re-attribution window.
No separate lookback window configuration is needed, as reinstall attribution uses the values from your install attribution settings. For more information, see Measure reinstalls.
Re-engagement settings
For retargeting campaigns on X Ads, AppsFlyer supports Re-engagement measurement only. That is an engagement with a retargeting campaign by a user who already has the app installed at the time of engagement.
Important!
Ensure Retargeting is enabled for the app on the App Settings page. For details, click here.
X Ads retargeting attribution includes only re-engagement conversions.
Turn on the Re-engagement attribution toggle to start attributing re-engagements for X Ads.
Re-engagement click-through lookback window
Set the duration of the Re-engagement click-through lookback window (the maximum period of time after an ad is clicked, within which a retargeted user can be attributed to the ad). You can set the value in hours (up to 23) or days (1-30).
Re-engagement view-through lookback window
To start attributing impressions of retargeting ads, activate Re-engagement view-through attribution.
Then, set the duration of the Re-engagement view-through lookback window (the maximum period of time after an ad is viewed, within which a retargeted user can be attributed to the ad). You can set the value in hours (up to 23) or days (1-7):
Re-engagement window
Set the duration of the Re-engagement window (the period when the user's in-app events are attributed to the retargeting media source). You can set the value in days (1-90), hours (up to 23), or even lifetime:
Ignore active users for retargeting
Set an inactivity window period to prevent recording retargeting conversions for active users within the specified time frame. See more about the Retargeting inactivity period.
In-app event postback settings
In this section, you can map your AppsFlyer events with your partners via postbacks.
To configure in-app event postbacks:
- Set the Partner ID (if required).
- Enable In-app event postback.
- Click Add event to add an SDK or server-to-server event to the list.
-
Complete the parameters required according to the table below.
Parameter Description AppsFlyer event The name of the event, as received by AppsFlyer either from the SDK integrated into your app or from server-to-server events.
Tip: Don't see the event you are looking for?- Make sure to activate the event on a device with a non-organic installation and recheck.
- Type it in AppsFlyer event, then click Create custom. Read more about custom event mapping.
mapped to partner event The unique name or ID of each event, as defined on the partner's side. Select the most suitable pre-defined AppsFlyer event from the drop-down box. for users from Select the sending option for the event:
Note
For X Ads to receive agency-attributed postbacks, you must select All media sources, including organic. Otherwise, X Ads won't receive such postbacks.
- This partner only: send postbacks only when this event is attributed to this partner.
- All media sources, including organic: send postbacks for events attributed to any partner and organic events.
including - No data (default): send only the event itself without the event value.
- Values and revenue: send all the event parameters, including the revenue value (if exists in the event).
- Values without revenue: send all the parameters excluding the revenue value.
- [Optional] Click
to set conditions for sending certain in-app events to the partner.
Learn more about conditional in-app event postbacks.
Attribution link tab
X Ads does not use attribution links for attribution.
Note
For all self-reporting networks (SRNs), such as Meta ads, Apple Ads, Google Ads, X Ads, etc., this tab is not functional since they don't use external attribution links.
Cost tab
The cost integration provides the following aggregated data:
- Cost data for your campaigns, adsets, ads, channel, and geo/countries. See the ad network cost integration table for full details on the supported dimensions, metrics, and features.
Note: Cost data requires an ROI360 subscription. - Data on clicks, impressions, and enriched data (keywords, campaign names, and adset).
To enable the cost API:
- Follow these integration instructions.
View your cost API status and the last time AppsFlyer managed to pull matching cost data in either the cost (and ad revenue) integration status dashboard, or in the individual ad network dashboard.
Ad revenue tab
Ad revenue isn't available for X- Ads.
Permissions tab
In this tab, you can select the permissions to grant X Ads, whether the partner acts as an ad network, agency, or even both. Note that even if attribution is disabled for X Ads, the permissions tab is active and you can grant control to X Ads.
Use these toggles to give the ad network permissions to handle its own configuration for your app:
Ad network permissions
- Allow to configure integration - permit the partner to set up the integration tab (except in-app event postbacks)
- Allow to configure in-app event postbacks - permit the partner to setup in-app event postbacks mapping to itself on the integration tab
- Allow access to your retention report - only to the partner's own retention data
- Allow access to your aggregate loyal user data - only to the partner's own loyal user data
- Allow access to your aggregate in-app event data - only to the partner's own in-app event data
- Allow access to your aggregate revenue data - only to the revenue data attributed to the partner
- Allow access to your Protect360 dashboard - only to the partner's own Protect360 data, and providing the feature is enabled for the advertiser
Learn more about granting ad network permissions.
Agency permissions
Learn about granting agency permissions.
Advanced SRN parameter names
The following fields in the Advanced SRN integration for X Ads replace their legacy counterparts across the AppsFlyer dashboard, aggregated reports, and event-level raw data.
|
AppsFlyer’s Data Column |
Legacy SRN | Advanced SRN |
|---|---|---|
| PID | ||
| Campaign Name | Campaign Name | Campaign name |
| Campaign ID | Campaign ID (base36: different X's dashboard, e.g. 21I3V9) |
Campaign ID (base10: same as X's dashboard, e.g. 123456789) |
| Adset Name | Line Item ID (base36: different X's dashboard, e.g. 21I3V9) |
Line Item Name |
| Adset ID | Line Item ID (base36: different X's dashboard, e.g. 21I3V9) |
Line Item ID (base10: same as X's dashboard, e.g. 123456789) |
| Ad Name | Tweet ID | Ad Name (if available) |
| Ad ID | Tweet ID | Tweet ID |
| Match Type | srn | id_matching / probabilistic |
Traits and limitations
| Trait | Remarks |
|---|---|
| Pre-roll attribution unsupported | X Ads doesn’t support MMP attribution for Pre-roll campaigns. |
| Ad Name "Untitled" | Ad Name is not a mandatory field in the X (formerly Twitter) Ads data model, so it may be missing. When the ad name is not defined in X Ads Manager, AppsFlyer will display it as 'Untitled.' |
| Cost | For X Ads, cost data for SKAN-only campaigns (campaigns that only have SKAN installs and no "regular" installs) isn't available to agencies. The cost integration must be set up by the advertiser. And the data can only be viewed by the advertiser. |