At a glance: Data Locker for partners (ad networks and agencies) delivers app data to the partner's storage in AWS, GCS, or BigQuery.
Data Locker for partners
Data Locker for partners delivers app data to cloud storage. Advertisers set permissions that allow AppsFlyer to share selected data with a given partner.
Data Locker features
Feature | Description |
---|---|
Storage options (cloud) |
Storage (bucket) owned by you on:
|
Multi app support |
Supports data of apps that are integrated with you. The advertiser must give permission per report for you to get the data. |
Data format options |
|
Data freshness |
Freshness depends per report type:
|
Reports available for partners
The reports available and the permissions required to get the reports differ per partner type. However, the Data Locker mechanism, storage options, and settings required are the same irrespective of the partner type. See the articles per partner type as follows:
Data storage architecture
Overview
Data is written to your selected storage option. You can switch from one option to another at any time. The change occurs within hours.
Data in the cloud bucket storage is organized in a hierarchical folder structure, according to report type, date, and time. The following figure contains an example of this structure:
Data of a given report is contained in the hour (h) folders associated with that report.
- The number of hour folders depends on if the report streams hourly or daily.
- Data is provided in Snappy or GZIP compressed files, or uncompressed files, having Parquet or CSV format.
- Data files consist of columns (fields).
- The column structure is defined per report type.
Folder structure
Folder | Description |
---|---|
data-locker-hourly |
Examples of folder structure based on bucket owner and cloud provider:
|
t (topic) | Report type relates to the subject matter of the report. |
dt (date) |
This is the related data date. In most cases, this means the date the event occurred. |
h (hour) |
The h folders relate to the time AppsFlyer received the data. For example, install events received between 14:00-15:00 UTC are streamed to the h=14 file. Note! There is a lag, of about 6 hours, between the time the data arrives in AppsFlyer until the h folder is streamed to Data Locker. For example, the h=14 folder is streamed six hours later at 23:00 UTC. Folder characteristics:
|
Unified data |
Data for all apps is provided in unified data files. When you load the data, use the row-level app_id field to distinguish between apps. Example of data files are in the h=2 folder
|
Completion flag |
The last file (completion) flag is set when all of the data for a given h folder has been written.
|
Zipping |
Files are zipped using gz. After unzipping:
|
Column sequence |
The sequence of fields in reports is always the same. New fields are added to the right of existing fields. Column (field) definitions are defined per report. Check the relevant report article for the description. |
Field population considerations |
Blank or empty fields: Some fields are populated with null or are empty. This means that in the context of a given report there is no data to report. Typically null means this field is not populated in the context of a given report and app type. Blank "" means the field is relevant in its context but no data was found to populate it with. Time zone and currency: App-specific time zone and currency settings are disregarded for data provided by Data Locker. As such:
Values with commas: These comas are contained between double quotes `"`, for example, |
Data files
Data files depend on segregation type.
Content | Details | |
---|---|---|
Completion flag |
The last file (completion) flag is set when all the data for a given h folder has been written.
|
|
File types |
|
|
Column sequence (CSV files) |
In the case of CSV files, the sequence of fields in reports is always the same. When we add new fields these are added to the right of the existing fields. In this regard:
|
|
Field population considerations |
Blank or empty fields: Some fields are populated with null or are empty. This means that in the context of a given report there is no data to report. Typically null means this field is not populated in the context of a given report and app type. Blank "" means the field is relevant in its context but no data was found to populate it with. In the case of the restricted media source, the content of restricted fields is set to null. Overall regard null and blank as one and the same thing; there is no data available. Time zone and currency App-specific time zone and currency settings have no effect on data written to Data Locker. The following apply:
Values with commas: These commas are contained between double quotes `"`, for example, |
Storage options
- Data is written to a storage owner of your choice as follows: AWS, GCS, and BigQuery.
- You can change the storage selection at any time.
- If you change the storage, the following happens:
- We start writing to the newly selected storage within one hour.
- We continue writing to the existing storage during a transition period of 7 days. The transition period expiry time displays in the user interface. Use the transition period to update your data loading processes.
- Changing buckets: If you change storage, data is sent to both for a transition period of 7 days, allowing you to align your data consumption process.
Partner-owned storage (GCS, AWS, BigQuery) | |
---|---|
Bucket name |
Example: |
Storage owner | Partner |
Storage platform | AWS, GCS, Yandex, BigQuery |
Credentials to access data by you | Not known to AppsFlyer. Use credentials provided by the storage provider. |
Data retention | Controlled by you |
Security |
You control the storage.
|
Notice to security officers
Consider:
- The bucket or destination is for the sole use of AppsFlyer. There should be no other entity writing to the bucket.
- You can delete data in the bucket 25 hours after we write the data.
- Data we write to the destination is a copy of data already in our servers. The data continues to be in our servers in accordance with our retention policy.
- For technical reasons, we sometimes need to delete and rewrite the data. For this reason, we require delete and list permissions. Neither list nor delete are a security risk for you. In the case of list, we are the sole entity writing to the bucket. In the case of delete, we can regenerate the data.
Multiple-connection principles (more than one destination)
In Data Locker you can send some or all of your data to more than one destination (defined in the connection settings). For example, you can send App A data to AWS, and App B data to GCS.
Each connection consists of a complete set of Data Locker settings, including a destination. Connection settings are independent of one another.
In managing your connections, consider:
- In Data Locker settings, connections are shown in tabs. Each connection has its own settings tab from which you can manage the connection. The default tab is “Data Locker.”
- To create a new connection:
- Click Add connection.
- Provide a name for the connection and choose the storage type.
- Click Save.
Once saved, the connection displays next to the default “Data Locker” tab. The icon of each tab represents the storage type.
- To see connection details, duplicate a connection, or delete a connection, click ⋮ (options).
Procedures
Set up Data Locker
Use this procedure to set up Data Locker. Changes to settings take effect within 3 hours.
Prerequisite:
Complete one or more of the following storage procedures:
To set up Data Locker:
- Log in to your AppsFlyer partner dashboard.
- Go to:
-
Advertisers: Report > Data Locker.
- Marketing partners: Click the account menu > Data Locker.
-
Advertisers: Report > Data Locker.
- Follow the Data Locker setup instructions steps 3-16.
Additional information
Traits and Limitations
Trait | Remarks |
---|---|
App-specific time zone | Not Applicable |
App-specific currency | Not supported |
Size limitations | Not applicable |
Data freshness | Data is updated according to the specific report data freshness detailed in this article. |
Historical data |
Not supported |
Team member access | Team members cannot set up Data Locker. |