Mobile app promotion on Twitter
Twitter's Mobile App Promotion is a great way to represent mobile applications on Twitter and to drive installs. It enables Twitter advertisers to effectively promote their mobile apps with a great App card design driving installs, app engagement and deep linking. For marketers, this means a rich, native ad unit combining the best of Twitter Cards and Promoted Tweets. Users can easily install and engage with apps directly from the Twitter timeline.
Twitter user privacy
As of November 20 2019 Twitter users may control how they share information with advertisers.
If users’ settings are set to prevent the sharing of their engagement information with advertisers, their Twitter-driven installs and in-app events are omitted from all raw data exports and APIs, but are still attributed to Twitter’s aggregate data in AppsFlyer.
As a result, expect AppsFlyer's aggregate data to show a higher (and true) number of Twitter-driven installs and in-app events, compared with the raw data export and APIs.
Connecting your Twitter & AppsFlyer accounts
Login to your Twitter Ad Account on ads.twitter.com
- Clicking on the Ads button, at the top left corner of the page, redirects you to the Ads page.
- Click the App Installs or App re-engagements option under Select the objective for your campaign.
Choose your app and fill in the details in the form. Click on Set up conversion recording under Choose an app to promote
In the next screen, click on Manage mobile measurement partner.
- Click Manage AppsFlyer on the Manage mobile measurement partners page
- A notification appears to inform you that you are about to leave Twitter Ads to go to the AppsFlyer website, click Go to AppsFlyer and login to your Dashboard:
Go to the dashboard of your app and click Integrated Partners on the left bar.
Enter "Twitter" in the search field and click its logo to open Twitter's configuration window. The following screen appears:
- Accept the Twitter Terms and Conditions for Mobile App Conversion Recording (MACT) and click Save Integration.
- Toggle Activate Partner and click on Login with Twitter.
- Authorize AppsFlyer in the following window:
- Activate the partner to enable attribution and reveal the integration tab.
- Activate the required Twitter Ad account or accounts by clicking on the relevant check box and then Save & Close.
You have now connected your Twitter account with AppsFlyer!
Continue to Twitter's Attribution setup.
Twitter attribution setup
Active configuration tabs:
For a detailed description of the Partner Configuration Window Header, click here.
The Integration Tab is divided into different sections as described below. Partner must be activated on first visit, to enable its setup.
Ad account connected
Select the accounts to enable attribution.
This slider allows you to set the maximum time from click to install. Only installs (first launches) that take place within the lookback window may be attributed to Twitter.
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 Twitter.
View-through attribution lookback window
This slider allows you to set the maximum time from impression to install. Only installs (first launches) that take place within this lookback window, following an ad impression, are attributed to Twitter, 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 Twitter.
Twitter retargeting attribution includes only re-engagement conversions.
Activate the Re-engagement attribution toggle to start attributing re-engagements for Twitter.
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):
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:
In-app events postback
In this section you can map your AppsFlyer events with Twitter via postbacks.
- Toggle In-App Event Postbacks to ON
- Select the Sending Option for all SDK defined events.
- Only events attributed to this partner for events coming only from users attributed to this partner
- Events attributed to any partner or organic to have your entire user base available to be reported to the partner
- Click Add Event to add an SDK Event to the list
- Complete the following parameters:
|SDK Event Name||The name of the event, as received by AppsFlyer either from the SDK integrated in your app, or from server to server events.
Tip - If you don't see the event you want in the list, make sure to activate the event on a device with a non-organic installation and recheck.
|Partner Event Identifier||The unique name or ID of each event as defined on Twitter's side.
Obtain the corresponding Event ID from Twitter and set in the text field.
|Send Revenue||When unchecked - AppsFlyer sends all the parameters of the rich in-app event to the partner, except for the revenue parameter, which is contained in the af_revenue parameter.
When checked - AppsFlyer sends all the parameters including the revenue value (if it exists in the event).
Attribution link tab
For all SRNs, such as Facebook, Apple Search Ads, Adwords, Twitter etc. this tab is not functional, as they do not use external attribution links.
AppsFlyer gets cost details by API.
Before you begin:
- In your Twitter dashboard get your credentials. You need:
- Twitter username/email
- Twitter password
To enable Twitter cost API:
- In the integrated partner Cost tab, enable Get cost, clicks, and impression data.
The Twitter cost button appears.
- Click Twitter cost.
Popup to log in to Twitter appears.
- Enter your Twitter username/email and password.
- Click Authorize app.
- Click Save cost.
Ad revenue tab
This section is relevant only if you are acting as a publisher, displaying ads of the partner to your users.
Twitter (MoPub) provides ad revenue data as follows:
- Aggregate level data as described in this section.
- Impression-level by SDK
Impression-level data by SDK
Before you begin:
- Integrate the impression-level SDK in your app.
To enable impression-level data by SDK:
- Go to the Ad Revenue tab.
- Select impression-level, to do so, click User level integration.
- Click Save Ad revenue.
AppsFlyer will record Ad revenue reported by SDK.
Aggregate level data
Before you begin:
- Get the API key from your Mopub dashboard.
The key appears in the header bar as shown in the image that follows.
To enable ad revenue aggregate data:
- Go to the Ad Revenue tab.
- Select Aggregate integration.
- Complete the credential and event fields:
- API Key.
- Inventory Report ID.
- APP ID.
- Event Source.
- Click Save Ad Revenue.
AppsFlyer will get ad revenue by API.
In this tab, you can select the permissions to grant Twitter, whether the partner acts as an ad network, agency or even both. Note that even if attribution is disabled for Twitter, the permissions tab is active and you can grant control to Twitter.
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 setup 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 events data - only to the partner's own in-app events 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.
Advanced Twitter setup video
FAQ and discrepancies
Who can perform the Twitter setup on AppsFlyer?
The user who is authorizing the integration between AppsFlyer and Twitter must have Twitter Account Administrator access.
What happens if no Twitter accounts are selected for attributing on AppsFlyer?
All attributions are for campaigns on the selected account. If no accounts are selected, no in-app events or attributions are sent to Twitter, even if the in-app event mapping is still visible on the Twitter Configuration window.
Do the account owner and the team members see the same Twitter data?
No. The account owner sees all of the connected Twitter accounts. Team members only see their connected Twitter accounts.
How do I disconnect Twitter from AppsFlyer?
You can disconnect AppsFlyer from your Twitter account. The following instructions assume that you are logged into your Twitter account using a desktop or laptop browser:
- Sign in to Twitter.
- On the left-hand side menu, click More > Settings and Privacy.
- On the right-hand side, under Data and Permissions, click Apps and sessions.
- Click AppsFlyer.
- Click Revoke Access.
You can now go back to your AppsFlyer account and connect a different Twitter account if you want.
Is it possible to attribute installs to multiple Twitter accounts?
Yes, but it requires some actions on Twitter's end. But first some background is required:
You can connect only one handle (also known as a twitter user) to your AppsFlyer account. When you connect this handle, your Twitter Ads Account appears in the Twitter configuration in AppsFlyer dashboard.
If one of your team members also has a Twitter Ads Account, this means that they have a different handle than yours and cannot connect their handle to AppsFlyer. This is because your handle is the one that is already connected with the AppsFlyer account. In order for their Twitter Ad Account to also appear in AppsFlyer, they need to give your handle access as account administrator to their Twitter Ads Account.
Say your team member is Jenny and her handle is @jenny. Your handle is @nivi and is the handle that is connected to AppsFlyer. In order for her Twitter Ads Account to appear in the AppsFlyer account, she needs to give your handle access as account administrator to her Twitter Ads Account. Jenny needs to give access to Nivi to her Twitter Ads Account and not that other way around. When she does so, AppsFlyer looks at Nivi's handle, and sees all the ad accounts that it is associated with, Jenny's included.
- Jenny signs into ads.twitter.com
- She clicks on Account and then chooses Edit access to account
- Jenny then gives @nivi access to her Twitter Ads Account as or Account administrator
- Jenny logs into the AppsFlyer account and goes to Integrated Partners >> Twitter option
- At this stage, she can see her Twitter Ads Account also listed.
- She can now see her Twitter Ads account and configure the integration. The account admin can see all connected Twitter Ads accounts.
Account admin view:
Any special instructions for agencies?
When an agency creates a new Twitter campaign, the campaign name must start with the agency name and an underscore (Example: "AgencyName_Campaign1").
To establish the connection between AppsFlyer and Twitter, the advertiser MUST configure Twitter to allow agencies to run Twitter traffic.
For more details go here.
Do you make Twitter's raw data available to agencies?
We are not allowed to provide raw data from Twitter to agencies, because agencies are regarded as third parties in terms of Twitter's terms of service.
I'm clicking save & close but Twitter's configuration is not saved! help!
If your app was subscribed to another attribution provider in the past, which was used to attribute Twitter installs, the following errors below when configuring Twitter on AppsFlyer's dashboard:
Error: The app is associated with a different attribution provider. Please associate it with AppsFlyer.
Error: Error has occured while saving Twitter configuration. Some accounts failed to updated: XX Multiple provider ids to same (appid, conversionType) for event appid2872.
If the account selection does not save, this may be because the Twitter account in question was previously associated with a different provider at Twitter's end. To resolve this:
- Contact Twitter to remove the other provider from your end
- Select the Active Account name
- Click Save and Close.
- If this still doesn't solve the problem you will have to contact your previous measurement provider and ask to remove the past Twitter tags associated with your account.
How can I set up retargeting campaigns with Twitter?
For details of how to configure a Twitter Retargeting Campaign, click here.
Does retargeting affect in-app events sending to Twitter?
Yes. If retargeting is turned on, AppsFlyer doesn't send the af_app_opened event postbacks to Twitter, as per Twitter's request.
Note that even if the Twitter setup window allows this selection, the af_app_opened postbacks are not sent with retargeting.
How can I stop measuring Twitter attributions?
To deactivate the integration with twitter, uncheck all accounts and click Save & Close.
Can an agency measure Twitter attributions for advertisers?
To establish the connection between AppsFlyer and Twitter, the advertiser MUST select an active account in Twitter's partner page in AppsFlyer's dashboard, so at least one Twitter account is checked.
Afterwards, the agency needs to connect its Twitter account directly from its own agency dashboard.
Can an agency configure in-app events for Twitter?
Agencies cannot configure in-app events for Twitter. Similar to Facebook, these must be configured by the Advertiser.
For how long do you keep Twitter’s user-level data?
Twitter requires attribution providers to delete its user-level data 3 months after the install. This means that the events performed by these users 3 months after they install the app are counted as organic.
Past aggregate data remains the same.
Discrepancies between Twitter and AppsFlyer
Although we work closely with Twitter, discrepancies might appear between the Twitter dashboard and the AppsFlyer dashboard/reports.
These are the common reasons for such discrepancies that advertisers should be aware of:
Twitter allows its users to configure the attribution window and supports both click-through and view- through attributions. By default - 14 days click-through and 1 day view-through.
If you have not configured the AppsFlyer attribution lookback window for Twitter with the same values as in Twitter, discrepancies may occur.
Multi-channel source attribution
Twitter's attribution works as specified above regardless of other sources.
AppsFlyer uses last click attribution (more information about AppsFlyer attribution available here).
Twitter's timezone is defined by the advertiser's app configured timezone.
AppsFlyer's default timezone is UTC±00:00, but can be set to any timezone by the advertiser.
Install time differences
Twitter shows installs based on the click time (referred to as "engagement time").
AppsFlyer displays the time of the first app open.
Attribution touch type
Twitter's attribution is based on their own clicks and impressions.
AppsFlyer gives priority to click-through attribution over view-through attribution. If Twitter counts an impression and AppsFlyer is aware of an additional click within the click-through attribution window, the click from another source is attributed on AppsFlyer's dashboard. On Twitter, the impression is attributed and is presented on their dashboard.
Twitter data sharing settings
Twitter allows its users to NOT share their personal data with third parties. This data includes ads they interact with.
The stats on Twitter dashboard reflect all engagements, including the users who have opted out from sharing the data.
AppsFlyer shows the aggregate data of these Twitter users, but does not report their user-level raw data (more details).
Twitter re-engagement logic
Twitter counts unique users. If a user re-engages more than once as a result of the same campaign, Twitter shows these engagements as one conversion.
AppsFlyer counts each re-engagement instance, and therefore, in a similar case, shows these engagements as multiple conversions.
- While Twitter shows all installs of a retargeting campaign in the same place, on the AppsFlyer dashboard, installs are divided between the Overview page (new installs) and the Retargeting page (re-attribution and re-engagements).
- As a result of AppsFlyer's Validation Rules, results may differ in the dashboards as some installs are shown in Twitter and are not shown in the AppsFlyer dashboard.