At a glance: Ad networks, as part of their integration with AppsFlyer, define the content and endpoints of postbacks sent by AppsFlyer to them. Postbacks relate to app user engagement like installs, in-app events, re-engagements, and so on.
This article relates to regular (not Advanced Privacy) postbacks. For other postback options see the following articles:
- Advanced Privacy postback guide for ad networks (iOS14)
- SKAdNetwork ad network integration guide
- Rejected attribution postbacks to integrated partners
Postbacks for ad networks
- Postback configuration: To request changes to your postback settings, reach out to integrations@appsflyer.com or your AppsFlyer partner development manager.
- Postback types: Postbacks are available for Install and in-app events and Blocked Install and in-app events due to fraud identified by Protect360 or in violation of targeting Validation Rules.
-
Data sources for postbacks:
Data for postbacks comes from a number of different sources listed in the table.소스 설명 Attribution link parameters Parameters provided by the partner on click and impression URLs are returned on postbacks.
Example: click ID parameter on the attribution link - "&click_id=CLICK_ID"
Partner IDs in AppsFlyer Unique IDs provided to the advertiser by the partner can be sent back via postback.
Examples: app ID, account ID, user ID, network ID.
SDK derived information Information extracted from the device by the AppsFlyer SDK.
Example: iOS device IDs can be extracted by using "&IDFA=(idfa)" on the postback
Protect360 and validation rules Information about installs identified as fraud and installs violating campaign targeting rules, and their associated in-app events.
Postback macros
Macros supported are listed in the table that follows. These macros, when placed on a postback, are replaced with the user-relevant data. For example, to get the IP address of the user installing the app include country_code=(ip)
in the postback structure.
The columns in the table that follows have the following meaning:
-
Source: Where the data originates from.
- Link: Attribution links
- SDK: The SDK embedded in the app or by server-to-server APIAF
- AF: After processing by AppsFlyer
- Send all: If yes, you can receive the data of installs and events attributed to other networks or organic. (Means not attributed to you).
- [Base] Macros for all postbacks: Macros relevant to install, in-app event, and rejected event postbacks
- [Optional] for in-app events and rejected events as indicated in the column (rejected, in-app)
Postback macro (name) | 소스 | 모두 전송 | 설명 | [Base] Macros for all postbacks | [Optional] in-apps and rejected events |
---|---|---|---|---|---|
advertising_id | 링크 | Yes | User-resettable device ID, AKA GAID. Also available as: (sha1-advertiserId) | Yes | |
app_name | SDK | Yes | App name set by the advertiser | Yes | |
appsflyer_id | SDK | Yes | 전환 시에 기록된 앱스플라이어 고유 식별자 | Yes | |
attributed_touch_type | SDK | No | 뷰-쓰루로 어트리뷰션이 발생하면 표시되는 플래그 (1 = 노출, 0 = 클릭) | Yes | |
blocked_reason | AF | No | Fraud/validation rules reason | No | Rejected |
blocked_reason_value | AF | No | Fraud/validation rules reason value (like site ID) | No | Rejected |
blocked_sub_reason | AF | No | Fraud/validation rules sub-reason | No | Rejected |
bundle_id | SDK | Yes | iOS: Identification to match either a single app or a group of apps in iOS (See Apple developer bundle ID) Android: The app name | Yes | |
country_code | AF | Yes | Country Code using ISO 3166 (alpha-2) Example: US, CN. | Yes | |
event_name | SDK | Yes | Name allocated to an event | No | In-app |
event_revenue_USD | SDK | Yes | 이벤트 값, USD | No | In-app |
event_revenue | SDK | Yes | Event value repored by SDK using event_revenue_currency | No | In-app |
event_revenue _currency |
SDK | Yes | The event revenue currency code reported in the event | No | In-app |
event_time | SDK | Yes | Event time | No | In-app |
event_value | SDK | Yes | in-app event includes attributes with values, which can be sent entirely on the postback in JSON format. URL encoded using the (encode) macro. | No | In-app |
idfa | SDK | Yes | User resettable advertising ID found on iOS devices Also available as: (sha1-idfa) | Yes | |
idfv | SDK | Yes | Unique identifier per user per vendor on IOS devices | Yes | |
install_time | SDK | Yes | Install timestamp | Yes | |
is_attributed | AF | Yes | 인스톨이나 이벤트가 이 미디어 소스에 어트리뷰션 됐음을 표시하는 플래그 | Yes | |
is_lat | SDK | Yes | Limit ad tracking (LAT): iOS: Starting iOS 14 LAT is deprecated by Apple. Determine user privacy status using ATT. In this case disregard is_lat. Before iOS 14, if true, IDFA is not available and is set to 0. Android: When true, the user has opted-out of interest-based ads. This does not prevent the collection of GAID. | Yes | |
is_primary_attribution | AF | Yes |
If false, see is_retargeting.
|
No | In-app |
is_retargeting | 링크 | No |
Use in conjunction with is_primary_attribution. Learn more about double attribution of retargeting events. If true (1), the event is reported as part of a retargeting campaign and the media source is the retargeting media source. If false (0) and is_primary_attribution is false, the event is part of a retargeting campaign but the media source referenced is the user attribution media source
|
No | |
language | SDK | Yes | Language (locale) reported by the device and set by the device OS. | Yes | |
oaid | SDK | Yes | User-resettable ID on some Android devices usually as an alternative to GAID | Yes | |
partner_event_id | AF | Yes | Name/ID of the corresponding event in the partner's platform | No | In-app |
platform | SDK | Yes | Device platform: iOS, Android, or Windows Mobile | Yes | |
retargeting_ conversion_type |
AF | No | A flag marking if this is a re-attribution or re-engagement | Retargeting only | |
app_version | SDK | Yes | App version name set by the developer in the app code | Yes |
인앱이벤트 전용 매크로
The examples that follow relate to in-app event postbacks available to partners.
예
이벤트 포스트백 템플릿 "&event=(event)&json=(encode)"는 특정 af_purchase 이벤트에 대해 다음 포스트백으로 해석됩니다.
&event=af_purchase&json=%7B%22af_quantity%22%3A1%2C%22
af_revenue%22%3A%2212000%22%2C%22af_currency%22%3A%
22USD%22%2C%22af_content_id%22%3A%221107%22%2C%22
af_content_type%22%3A%22default_type%22%7D%0A
The decoded JSON value of this postback is
{"af_quantity":1,"af_revenue":"12000","af_currency":"USD","af_content_id":"1107","af_content_type":"default_type"}
Encoded values
Postbacks may contain irregular characters, which are not alpha-numerical. To transfer these values correctly via postbacks, AppsFlyer URL-encodes non-alpha-numerical values.
To decode or encode a postback use an encoding web service.
샘플 포스트백
일반적인 설치 포스트백 예시
http://YourCompanyDomain.com?site_id=(publisher_id)
&advertising_id=(advertiserId)&android_id=(android-id)
&install_time=(install-unix-ts)
http://YourCompanyDomain.com?&site_id=(publisher_id)&
device_ip=(ip)&;idfa=(idfa)&install_time=(install-unix-ts)
일반적인 인앱 이벤트 포스트백 예시
http://YourCompanyDomain.com?site_id=(publisher_id)&
device_ip=(ip)&advertising_id=(advertiserId)&android_id=(android-id)&
install_time=(install-unix-ts)&event_name=(event-name)¤cy=(currency)&
json=(event-value)
http://YourCompanyDomain.com?clickid=(clickid)&site_id=(publisher_id)&
device_ip=(ip)&idfa=(idfa)&install_time=(install-unix-ts)
&event_name=(event-name)¤cy=(currency)&json=(event-value)
In-app event postback example
이벤트 파라미터:
- Event Name: af_revenue
- Event Revenue: 120.00
- Event Currency: USD
- Event Value: {"af_quantity":1,"af_revenue":"120","af_currency":"USD","af_content_id":"1107","af_content_type":"default_type"}
포스트백
http://YourCompanyDomain.com?clickid=8594845&site_id=click123&device_ip=
38.166.144.142&advertising_id=121sxxxx-xxxx-xxxx-xxxx-52454bd7500b&
android_id=9aaeecc4455xxxxx&;install_time=1451923560&event_name=af_purchase&
currency=USD&revenue=120.00&json=%7B%22af_quantity%22%3A1%2C%22 />af_revenue
%22%3A%22120.10%22%2C%22af_currency%22%3A%22USD%22%2C%22af_content_id
%22%3A%221107%22%2C%22af_content_type%22%3A%22default_type%22%7D%0A