Measurement
Measurement endpoints provides stats data that is updated approximately every 15 minutes.
All stats requests can be made with TOTAL, DAY, or HOUR granularity.
Request/Response Pattern
Stats endpoints have a consistent request and response pattern.
Request Pattern
Pattern:
GET /v1/{PLURAL_ENTITY_NAME}/{ENTITY_ID}/stats
Example:
GET /v1/campaigns/ff869d1f-0923-4d28-8577-4c36291f0fca/stats
Response Pattern - TOTAL Granularity
Response pattern for TOTAL Granularity requests
{
"request_status": "success",
"request_id": "57ad1ad600076e58fa35e192",
"total_stats": [
{
"sub_request_status": "success",
"total_stat": {
"id": "7057e31f-b908-4bc7-85dd-88169f53e08d",
"type": "CAMPAIGN",
"granularity": "TOTAL",
"stats": {
"impressions": 0,
"swipes": 0,
"spend": 0,
"quartile_1": 0,
"quartile_2": 0,
"quartile_3": 0,
"view_completion": 0,
"screen_time_millis": 0
}
}
}
]
}
Response Pattern - DAY Granularity
Response pattern for DAY Granularity requests
{
"request_status": "success",
"request_id": "57ad240f000756e8d435a6cd",
"timeseries_stats": [
{
"sub_request_status": "success",
"timeseries_stat": {
"id": "7057e31f-b908-4bc7-85dd-88169f53e08d",
"type": "CAMPAIGN",
"granularity": "DAY",
"start_time": "2016-08-05T22:00:00.000-07:00",
"end_time": "2016-08-07T22:00:00.000-07:00",
"timeseries": [
{
"start_time": "2016-08-05T22:00:00.000-07:00",
"end_time": "2016-08-06T22:00:00.000-07:00",
"stats": {
"impressions": 0,
"swipes": 0,
"spend": 0,
"quartile_1": 0,
"quartile_2": 0,
"quartile_3": 0,
"view_completion": 0,
"screen_time_millis": 0
}
},
{
"start_time": "2016-08-06T22:00:00.000-07:00",
"end_time": "2016-08-07T22:00:00.000-07:00",
"stats": {
"impressions": 0,
"swipes": 0,
"spend": 0,
"quartile_1": 0,
"quartile_2": 0,
"quartile_3": 0,
"view_completion": 0,
"screen_time_millis": 0
}
}
]
}
}
]
}
Response Pattern - HOUR Granularity
Response pattern for HOUR Granularity requests
{
"request_status": "success",
"request_id": "57ad245a000e3c88bc33ea4e",
"timeseries_stats": [
{
"sub_request_status": "success",
"timeseries_stat": {
"id": "7057e31f-b908-4bc7-85dd-88169f53e08d",
"type": "CAMPAIGN",
"granularity": "HOUR",
"start_time": "2016-08-05T18:00:00.000-07:00",
"end_time": "2016-08-06T18:00:00.000-07:00",
"timeseries": [
{
"start_time": "2016-08-05T18:00:00.000-07:00",
"end_time": "2016-08-05T19:00:00.000-07:00",
"stats": {
"impressions": 0,
"swipes": 0,
"spend": 0,
"quartile_1": 0,
"quartile_2": 0,
"quartile_3": 0,
"view_completion": 0,
"screen_time_millis": 0
}
},
{
"start_time": "2016-08-05T19:00:00.000-07:00",
"end_time": "2016-08-05T20:00:00.000-07:00",
"stats": {
"impressions": 0,
"swipes": 0,
"spend": 0,
"quartile_1": 0,
"quartile_2": 0,
"quartile_3": 0,
"view_completion": 0,
"screen_time_millis": 0
}
}
....
{
"start_time": "2016-08-06T16:00:00.000-07:00",
"end_time": "2016-08-06T17:00:00.000-07:00",
"stats": {
"impressions": 0,
"swipes": 0,
"spend": 0,
"quartile_1": 0,
"quartile_2": 0,
"quartile_3": 0,
"view_completion": 0,
"screen_time_millis": 0
}
},
{
"start_time": "2016-08-06T17:00:00.000-07:00",
"end_time": "2016-08-06T18:00:00.000-07:00",
"stats": {
"impressions": 0,
"swipes": 0,
"spend": 0,
"quartile_1": 0,
"quartile_2": 0,
"quartile_3": 0,
"view_completion": 0,
"screen_time_millis": 0
}
}
]
}
}
]
}
Request Parameters
| Attribute | Description | Required | Possible Values |
|---|---|---|---|
| breakdown | Object-level breakdown | O | ad, adsquad [Only available on Campaign Stats endpoint], campaign [Only available on Ad Account Stats endpoint] |
| async | Designates processing of report to be asynchronous | O | true |
| async_format | Designates the response format of asynchronous reporting, can be either a csv or excel file | O | csv, excel |
| fields | Metrics requested (comma-separated) | O | (see table below; default: impressions,spend) |
| end_time | End Time (ISO 8601) | R* | |
| start_time | Start Time (ISO 8601) | R* | |
| granularity | Metrics granularity | R | TOTAL, DAY, HOUR, LIFETIME |
| test | Return Sample (fake) Stats | O | false (default), true |
| dimension | Insight-level breakdown | O | GEO, DEMO, INTEREST, DEVICE |
| pivot | The pivot to be used for insights breakdown | O | country, region, dma, gender, age_bucket, interest_category_id, interest_category_name, operating_system, make, model |
| action_report_time | Specifies the principle for conversion reporting | O | conversion (default), impression** |
| swipe_up_attribution_window | Attribution window for swipe ups | O | 1_DAY, 7_DAY, 28_DAY (default) |
| view_attribution_window | Attribution window for views | O | none, 1_HOUR, 3_HOUR, 6_HOUR, 1_DAY (default), 7_DAY, 28_DAY*** |
| position_stats | Position metric breakdown for Snap Ads within a Story Ad | O | true |
| omit_empty | Omits records with zero data for all metrics for a given date/entity. If there is data for any metric for a given date/entity, all metrics for that date/entity are returned | O | false (default), true |
| conversion_source_types | Conversion source breakout by platform | O | web, app, offline**, total, total_off_platform, total_on_platform |
| limit | The limit parameter specifies how many entities should be returned per page | O | integer, max 200 |
* start_time and end_time are required for DAY and HOUR granularity and they must be set to the start of an hour (e.g. 22:00 not 22:45)
** offline conversion data source ( conversion_source_types=offline ) and impression based conversions
** action_report_time=impression** ) are available from 1 May 2020 onwards
*** 28_DAY view_attribution_window is deprecated, legacy data is available up until 1 March 2021
Response Parameters & Finalization
| Attribute | Description |
|---|---|
| finalized_data_end_time | This attribute defines the time up until when non-conversion reporting metrics are finalized. You can query for all metrics before this time including uniques and reach and they will have the final numbers. For any time after the finalized_data_end_time the metrics are still undergoing de-duplication and finalization and may change accordingly. |
| conversion_data_processed_end_time | This attribute defines the time up until when conversion metrics are finalized, for any time after the conversion_data_processed_end_time the conversion metrics are still undergoing processing and may change accordingly. Note that this attribute only covers conversion by time of conversion. |
| paging | If you are using pagination the paging attribute will contain a next_link attribute which holds the API call to fetch the next page. |
Pagination
For calls that fetch stats for many entities we recommend that you use pagination. The limit parameter specifies how many entities should be returned per page. The maximum pagination limit is 200.
The returned result will contain a paging attribute, this in turn holds a next_link attribute which holds the API call to fetch the next
page. Paginated calls are rdered by time of creation, non-paginated calls are unsorted.
Core Metrics
The following metrics are available for all Snap Ads.
| Field Name | Description |
|---|---|
| impressions | Impression Count |
| swipes | Swipe-Up Count |
| view_time_millis | Use screen_time_millis instead. Total Time Spent on top Snap Ad (milliseconds) |
| screen_time_millis | Total Time Spent on top Snap Ad (milliseconds) |
| quartile_1 | Video Views to 25% |
| quartile_2 | Video Views to 50% |
| quartile_3 | Video Views to 75% |
| view_completion | Video Views to completion |
| spend | Amount Spent (micro-currency) |
| coupon_used_local | Amount Spent via Coupon in the assigned currency of Ad Account (micro-currency) |
| coupon_used_usd | Amount Spent via Coupon in USD (micro-currency) |
| video_views | The total number of impressions that meet the qualifying video view criteria of at least 2 seconds of consecutive watch time or a swipe up action on the Top Snap |
Asynchronous reporting requests
Large reporting requests may time out or return errors, these requests are suitable to be executed using the asynchronous mode. The format of an asynchronous report can be defined either as a comma separated file (CSV) or an Excel spreadsheet.
Requests marked as asynchronous will produce a report_run_id which is needed to check the status of a report, and to retrieve a report, once a report is ready the response body will contain a download url for the finished report.
Generating an async report
The first step to generate an asynchronous report is the creation, this request needs to include the async parameter.
HTTP Requests
GET https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/stats
GET https://adsapi.snapchat.com/v1/campaigns/{campaign_id}/stats
GET https://adsapi.snapchat.com/v1/adsquads/{adsquad_id}/stats
GET https://adsapi.snapchat.com/v1/ads/{ad_id}/stats
Parameters for creating an asynchronous report
The below listed parameters are specific for asynchronous reporting, aside from these parameters all request parameters are supported. The asynchronous creation will return a report_run_id which is needed to fetch the report.
Regular reporting restrictions still apply for async reporting;
- When the DAY granularity is used
start_timeandend_timeare required values, thestart_timeandend_timemust be the daily boundry for the timezone of the Ad Account in question - When
start_timeandend_timeis not defined in combination with granularity TOTAL it is treated the same as granularity LIFETIME
| Parameter | Description | Required | Possible values |
|---|---|---|---|
| async | Designates processing of report to be asynchronous | R | true |
| async_format | Designates the response format of asynchronous reporting, can be either a csv or excel file | O | csv (default), excel |
| granularity | Metrics granularity | O | TOTAL, DAY, LIFETIME |
Example - Step 1 Generating an async report
This request produces a report_run_id and the async_status returned is STARTED.
curl "https://adsapi.snapchat.com/v1/adaccounts/ce943c3b-2404-4fff-acb1-259b7b052f27/stats?breakdown=ad&granularity=DAY&view_attribution_window=1_DAY&async=true&omit_empty=true&fields=impressions,total_installs,spend,swipes,attachment_video_views,story_opens,story_completes,shares,saves,conversion_purchases,conversion_purchases_value,conversion_save,conversion_start_checkout,conversion_add_cart,conversion_view_content,conversion_add_billing,conversion_sign_ups,conversion_searches,conversion_level_completes,conversion_app_opens,conversion_page_views&start_time=2024-10-01T00:00:00&end_time=2024-10-08T00:00:00&swipe_up_attribution_window=28_DAY" \
-H "Authorization: Bearer meowmeowmeow"
The above command returns JSON structured like this:
{
"request_status": "SUCCESS",
"request_id": "acfacd19-bd51-4822-a9d3-e503a523d25f",
"async_stats_reports": [
{
"sub_request_status": "SUCCESS",
"async_stats_report": {
"report_run_id": "ASYNC_STATS:ce943c3b-2404-4fff-acb1-259b7b052f27:1727755200000:7245f6e6-eda4-4650-9255-6e3ab38b95ce",
"async_status": "STARTED"
}
}
]
}
Checking the status of an asynchronous report
The second step of asynchronus reporting is checking the status of the report and fetching the download url of the finished report, this request requires the report_run_id value returned in the previous request.
HTTP Requests
GET https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/stats_report
GET https://adsapi.snapchat.com/v1/campaigns/{campaign_id}/stats_report
GET https://adsapi.snapchat.com/v1/adsquads/{adsquad_id}/stats_report
GET https://adsapi.snapchat.com/v1/ads/{ad_id}/stats_report
Parameters for checking asynchronous reporting
When checking asynchronous reporting requests the
| Parameter | Description | Required | Possible values |
|---|---|---|---|
| report_run_id | The id of the report to be fetched | R |
Example - Step 2 Checking the status of an async report - Report is processing
This request requires the report_run_id and the async_status returned is RUNNING which indicates that the report is still processing.
curl "https://adsapi.snapchat.com/v1/adaccounts/ce943c3b-2404-4fff-acb1-259b7b052f27/stats_report?report_run_id=ASYNC_STATS:6b78bf3c-b7f4-4fcf-b74a-a5aaa91b15ef:1726804800000:7139d12c-910e-4e09-b3fd-a01f82b3af56" \
-H "Authorization: Bearer meowmeowmeow"
The above command returns JSON structured like this:
{
"request_status": "SUCCESS",
"request_id": "f8a5b7b0-14b4-950c-934f-7b746745e571",
"async_stats_reports": [
{
"sub_request_status": "SUCCESS",
"async_stats_report": {
"report_run_id": "ASYNC_STATS:6b78bf3c-b7f4-4fcf-b74a-a5aaa91b15ef:1726804800000:7139d12c-910e-4e09-b3fd-a01f82b3af56",
"async_status": "RUNNING"
}
}
]
}
Example - Step 2 Checking the status of an async report - Report is completed
This request requires the report_run_id and the async_status returned is COMPLETED, the url of the report is found in the result attribute.
curl "https://adsapi.snapchat.com/v1/adaccounts/ce943c3b-2404-4fff-acb1-259b7b052f27/stats_report?report_run_id=ASYNC_STATS:6b78bf3c-b7f4-4fcf-b74a-a5aaa91b15ef:1726804800000:7139d12c-910e-4e09-b3fd-a01f82b3af56" \
-H "Authorization: Bearer meowmeowmeow"
The above command returns JSON structured like this:
{
"request_status": "SUCCESS",
"request_id": "f8a5b7b0-14b4-950c-934f-7b746745e571",
"async_stats_reports": [
{
"sub_request_status": "SUCCESS",
"async_stats_report": {
"report_run_id": "ASYNC_STATS:6b78bf3c-b7f4-4fcf-b74a-a5aaa91b15ef:1726804800000:7139d12c-910e-4e09-b3fd-a01f82b3af56",
"async_status": "COMPLETED",
"result": "https://data-transfer.snapads.com/async-report/snap_ads/ASYNC_STATS:6b78bf3c-b7f4-4fcf-b74a-a5aaa91b15ef:1726804800000:7139d12c-990e-4e09-b3fd-a01f82b3af56/9496dff0-07b9-44d8-8f0b-b44eb276cc9e.xlsx"
}
}
]
}
Reach Overlap Reporting
Reach overlap reporting via async reporting is available for Campaigns, Ad Squads and Ads using the Snapchat Marketing API.
Reach values are estimates.
The entities for which the calculation is made must belong to the same Ad Account, overlap reporting across different Ad Accounts is not possible. If an entity has no metrics for the given reporting period (start_time / end_time), it will be excluded from the resulting report.
HTTP Request
GET https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/stats?overlap=true&overlap_type={campaign/ad_squad/ad}&ids={entity1_id,entity_id,...},{entity2_id}&start_time={start_time}&end_time={end_time}&async_format={csv/excel}
Request Parameters
| Attribute | Description | Possible values |
|---|---|---|
| async_format | Defines the returned format of the report | csv,excel |
| ids | Two or more Campaign/Ad Squad/Ad entities to calculate the reach overlap for, these have to be the same type of entities and live within the same Ad Account | Comma separated string of up to 100 Campaign ID/Ad Squad ID/Ad ID values |
| overlap | Indicates whether an overlap calculation should take place | true |
| overlap_type | Specifies the entity level of the overlap calculation, you cannot use two different types of entities in one report | campaign, ad_squad, ad |
| start_time | Start time of the report | Start time in ISO format |
| end_time | End time of the report | End time in ISO format |
Example Request
This request generates an async process to create an overlap report in Excel format for two Campaigns in the same Ad Account, for the time period 1-30 April 2024.
curl 'https://adsapi.snapchat.com/v1/adaccounts/62f51caa-394c-4f88-905c-71a9859f2b54/stats?overlap=true&overlap_type=campaign&ids=11f5bc01-22a4-469e-ba7e-d4c7edc5ef88%2C50984a9d-1b2e-4d5d-857e-5ac9d3665506%2C54f10e2d-55a8-4924-896d-5a94fba1a0c9&start_time=2024-04-01T07%3A00%3A00.000Z&end_time=2024-04-30T07%3A00%3A00.000Z&async_format=excel' \
-H "Authorization: Bearer meowmeowmeow"
Response
{
"request_status": "SUCCESS",
"request_id": "f5cdc549-f3f3-4aed-9e39-68216ba70be3",
"async_stats_reports": [
{
"sub_request_status": "SUCCESS",
"async_stats_report": {
"report_run_id": "ASYNC_STATS:62f51caa-394c-4f88-905c-71a9859f2b54:1711954800000:f591f1c1-581e-477b-892f-7b8b5365b0e7",
"async_status": "STARTED"
}
}
]
}
Once the async process for an overlap report is initiated using the above request, follow the steps in Checking the status of an asynchronous report to check the status and fetch the download url of a completed report.
Report Format
Below is an example of a Reach Overlap report downloaded in excel format. This resulting report includes metrics for reach and uniques, showing the overlap for the requested entities.
The requested entities in this example are two campaigns - Wellness Campaign and Beauty Campaign.
The report starts with Reached by all, which is the Reach Overlap for all the entities that were included in the report.
Example
Row 1shows theReach Overlapfor all the Campaigns in the report.
The report also accounts for the Total Uniques for all the entities in the report.
Example
Row 2shows theTotal Uniquesreached by all campaigns in the report.
If Campaign Id 1 and Campaign Id 2 are the same, it means the metric is just for that campaign.
Example
Row 4below shows the totalReachof the Wellness CampaignRow 6below shows the totalUniquesof the Wellness CampaignRow 7below shows the totalReachof the Beauty CampaignRow 9below shows the totalUniquesof the Beauty Campaign
If Campaign Id 1 and Campaign Id 2 are different it shows an overlap calculation between the two campaigns.
Example
Row 5andRow 8shows theReach Overlapof the Wellness Campaign and the Beauty Campaign.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Reached by all | 6,029 | ||||
| 2 | Total Uniques Reached | 212,351 | ||||
| 3 | Campaign Id 1 | Campaign Name 1 | Campaign Id 2 | Campaign Name 2 | Reach Type | Reach Value |
| 4 | 11111111-1111-1111-111111111111 | Wellness Campaign | 11111111-1111-1111-111111111111 | Wellness Campaign | Total | 160.356 |
| 5 | 11111111-1111-1111-111111111111 | Wellness Campaign | 222222222-2222-2222-2222-2222222222 | Beauty Campaign | Overlap | 6,029 |
| 6 | 11111111-1111-1111-111111111111 | Wellness Campaign | 11111111-1111-1111-111111111111 | Wellness Campaign | Unique | 154,327 |
| 7 | 222222222-2222-2222-2222-2222222222 | Beauty Campaign | 222222222-2222-2222-2222-2222222222 | Beauty Campaign | Total | 60,746 |
| 8 | 222222222-2222-2222-2222-2222222222 | Beauty Campaign | 11111111-1111-1111-111111111111 | Wellness Campaign | Overlap | 6,029 |
| 9 | 222222222-2222-2222-2222-2222222222 | Beauty Campaign | 222222222-2222-2222-2222-2222222222 | Beauty Campaign | Unique | 54,717 |
Additional Metrics
See the Metrics and supported granularities table for a breakdown of the reporting granularities available per Ad type. For LIFETIME granularity the data is only accessible as finalized data, available after 48-72 hours.
| Field Name | Snap Ad Types | Description |
|---|---|---|
| android_installs | APP_INSTALL | # of Android App Installs |
| attachment_avg_view_time_millis | Any Attachment | Average Attachment View Time (milli-seconds) |
| attachment_frequency | Any Attachment | Average # of Attachment Views per User Reached |
| attachment_quartile_1 | LONGFORM_VIDEO | Long Form Video Views to 25% |
| attachment_quartile_2 | LONGFORM_VIDEO | Long Form Video Views to 50% |
| attachment_quartile_3 | LONGFORM_VIDEO | Long Form Video Views to 75% |
| attachment_total_view_time_millis | Any Attachment | Total Attachment View Time (milli-seconds) |
| attachment_uniques | Any Attachment | # of unique attachment impressions |
| attachment_view_completion | LONGFORM_VIDEO | Long Form Video Views to completion |
| attachment_video_views | LONGFORM_VIDEO | Long Form Video Attachment Views, viewed for at least 10 consecutive seconds or reached 97% of the Long Form Video duration |
| avg_view_time_millis | Any | Use avg_screen_time_millis instead. Average Top Snap view time per User Reached |
| avg_screen_time_millis | Any | Average Top Snap view time across all impressions |
| frequency | Any | Average # of Impressions per User Reached |
| ios_installs | APP_INSTALL | # of iOS App Installs |
| swipe_up_percent | Any Attachment | % of Impressions that Swiped-Up |
| total_installs | APP_INSTALL | Total # of App Installs |
| uniques | Any | # of unique impressions |
| video_views_time_based | Any | The total number of impressions that meet the qualifying video view criteria of at least 2 seconds, not including swipe ups |
| video_views_5s** | Any | The total number of impressions that meet the qualifying video view criteria of at least 5 seconds, or a swipe up action on the ad |
| video_views_15s | Any | The total number of impressions that meet the qualifying video view criteria of at least 15 seconds, or 97% completion if it's shorter than 15 seconds, or a swipe up action on the ad |
| engaged_views | Any | The total number of times Snapchatters viewed your video ad for five seconds or longer |
| story_opens | STORY | # of times users tapped on the ad tile in the feed to view the Story Ad |
| story_completes | STORY | # of times users viewed through to the last Snap of your Story Ad |
| landing_page_views | # of times a Snapchatter has loaded the ad’s landing page after a click page | |
| profile_clicks | Any | # of times users tapped the logo in the upper corner taking them to the profile page |
| position_impressions | STORY | # the impression number for this story ad position |
| position_screen_time_millis | STORY | # the total view time in milliseconds for this story ad position |
| position_swipe_up_percent | STORY | # the swipe up rate for this story ad position |
| avg_position_screen_time_millis | STORY | # the average view time for this story ad position |
| shares | LENS, AD_TO_LENS, FILTER | # of times lens/filter was shared in a Chat or Story |
| saves | LENS, AD_TO_LENS, FILTER | # of times lens/filter was saved to Memories |
| paid_impressions | LENS, FILTER, AD_TO_LENS | The total number of times your ad was served to a Snapchatter. Tracked when the ad fully renders on a device for the first time during a Snapchatter’s viewing session |
| earned_impressions | LENS, FILTER, AD_TO_LENS | The number of times your ad was viewed after being shared by a Snapchatter via Chat or Stories |
| total_impressions | LENS | The total number of impressions (Paid and Earned) |
| play_time_millis | LENS | The total amount of time in where Snapchatters interacted with your Lens in the camera (milliseconds) |
| total_reach | LENS | The estimated number of unique Snapchatters who viewed your Lens ad, either by receiving a Paid or Earned Impression. |
| earned_reach | LENS, FILTER, AD_TO_LENS | The estimated number of unique Snapchatters who viewed the filter/lens after being shared by a Snapchatter via Chat or Stories |
| native_leads | LEAD_GENERATION | Total number of Snapchat users that swipe up, fill out the required fields, and hit ‘Submit’ on Lead Form attachments. If a user swipes down or cancels before hitting 'Submit,' this action is not counted |
| reminders_set | REMINDER | Total number of clicks on the CTA when attachment is Reminder |
*engaged_views are available from 10 February 2025 onwards
**video_views_5s are available from 11 March 2025 onwards
Apple Transparent Tracking (ATT) Reporting
All the users whose activity is tracked using the attribution and measurement services will be split into two categories. Please note that only conversion metrics are affected by the ATT updates.
| User Category | Description | User groups in category |
|---|---|---|
| Fully Tracked group | These user groups are fully supported for the features listed below. | Android, iOS opted-in users |
| Partially tracked group | These user groups are partially supported. | Snap Pixel, iOS opted out users and users reported via Conversions API |
Below is the list of all the reporting fields and API fields that are affected for each group.
| Dimension/Granularity | Conversion Sources | |
|---|---|---|
Fully Tracked Group - | Partially tracked Group - | |
Time of Conversion | Supported | Supported |
Time of Exposure | Supported | Supported |
Event Source (web/app/offline) | Supported | Supported |
Entity (campaign/ad set/ad) | Supported | Supported |
| Age | Supported | Supported |
| Gender | Supported | Supported |
| Age, Gender | Supported | Supported |
| Country | Supported | Supported |
| OS | Supported | Supported |
| Platform (on/off snapchat) | Supported | Supported |
| Region (US Only) | Supported | NOT Supported |
| DMA (US Only) | Supported | NOT Supported |
| Device Make | Supported | NOT Supported |
| SLC (lifestyle category) | Supported | NOT Supported |
| Product | Supported | NOT Supported |
| Hourly Conversions | Supported | NOT Supported |
| Daily, Total, Lifetime Conversion | Supported | Supported |
Swipe Up Window: View Thru Window:
| Supported | Supported |
View Through Window: | Supported | Supported |
| View Through Window: 28_DAY* | NOT Supported | NOT Supported |
*This field is now effectively deprecated.
SKAd Network Reporting
Due to the attribution methodology of Apple’s SKAdNetwork there are some limitations when fetching reporting for Ad serving entities that are opted into SKAdNetwork tracking.
-
SKAdNetwork conversions reported at the Ad level or below may be modeled based on first party ad engagement signals using statistical methods. Modeling is only applied at the ad level. Please note that you should still take a patient approach to testing and optimization decisions including: waiting 48+ hours before adjusting Bids and Budgets, and starting with high Bids and Budgets to pass privacy thresholds. If you do not, you run the risk of prematurely pausing Ad creatives that may lead to strong performance.
-
The available granularities are DAY, TOTAL, and LIFETIME, HOUR granularity is not available.
-
The conversion window for a SKAd Network SWIPE (click) conversion is 30 day based on the time of conversion, all ad types support SWIPE conversions.
-
The conversion window for a SKAd Network VIEW conversion is 24 hours based on the time of conversion. A VIEW is defined as 3 seconds in length.
-
The ad types that currently support the VIEW conversion are; SNAP_AD, LONGFORM_VIDEO, APP_INSTALL, REMOTE_WEBPAGE, DEEP_LINK, COLLECTION
-
Reporting Insights are not available for SKAdNetwork metrics, the use of
report_dimensionis not possible.
SKAd Network Conversion Metrics
Conversion metrics for the SKAd Network are broken out by Swipe conversions, View conversions, and the total number of conversions.
SKAd Network Swipe Conversion Metrics
The following metrics return the SKAd Network SWIPE (click) conversions.
| Name | Description |
|---|---|
| conversion_total_installs_sk_ad_network | Total App Installs tracked via SKAd Network |
| conversion_ios_installs_sk_ad_network | Exact same metric as conversion_total_installs_sk_ad_network |
| conversion_purchases_sk_ad_network | |
| conversion_save_sk_ad_network | |
| conversion_start_checkout_sk_ad_network | |
| conversion_add_cart_sk_ad_network | |
| conversion_view_content_sk_ad_network | |
| conversion_add_billing_sk_ad_network | |
| conversion_sign_ups_sk_ad_network | |
| conversion_searches_sk_ad_network | |
| conversion_level_completes_sk_ad_network | |
| conversion_app_opens_sk_ad_network | |
| conversion_page_views_sk_ad_network | |
| conversion_subscribe_sk_ad_network | |
| conversion_ad_click_sk_ad_network | |
| conversion_ad_view_sk_ad_network | |
| conversion_complete_tutorial_sk_ad_network | |
| conversion_invite_sk_ad_network | |
| conversion_login_sk_ad_network | |
| conversion_share_sk_ad_network | |
| conversion_reserve_sk_ad_network | |
| conversion_achievement_unlocked_sk_ad_network | |
| conversion_add_to_wishlist_sk_ad_network | |
| conversion_spend_credits_sk_ad_network | |
| conversion_rate_sk_ad_network | |
| conversion_start_trial_sk_ad_network | |
| conversion_list_view_sk_ad_network | |
| conversion_visitation_sk_ad_network | |
| custom_event_1_sk_ad_network | |
| custom_event_2_sk_ad_network | |
| custom_event_3_sk_ad_network | |
| custom_event_4_sk_ad_network | |
| custom_event_5_sk_ad_network | |
| unknown_sk_ad_network | SkAdNetwork conversion events with unknown Conversion Values |
| conversion_assist_install_sk_ad_network | The number of times the SKAdNetwork campaign drove an App Install, but was not the last touch before the App Install occurred. conversion_null_sk_ad_network |
| conversion_null_sk_ad_network | The number of SKAdNetwork conversion events with "null" Conversion Values. This indicates the campaign did not generate enough daily SKAdNetwork conversions to pass Apple’s privacy threshold. |
SKAd Network View Conversion Metrics
The following metrics return the SKAd Network VIEW conversions.
| Name | Description |
|---|---|
| conversion_total_installs_sk_ad_network_view | Total App Installs tracked via SKAd Network |
| conversion_ios_installs_sk_ad_network_view | Exact same metric as conversion_total_installs_sk_ad_network_view |
| conversion_purchases_sk_ad_network_view | |
| conversion_save_sk_ad_network_view | |
| conversion_start_checkout_sk_ad_network_view | |
| conversion_add_cart_sk_ad_network_view | |
| conversion_view_content_sk_ad_network_view | |
| conversion_add_billing_sk_ad_network_view | |
| conversion_sign_ups_sk_ad_network_view | |
| conversion_searches_sk_ad_network_view | |
| conversion_level_completes_sk_ad_network_view | |
| conversion_app_opens_sk_ad_network_view | |
| conversion_page_views_sk_ad_network_view | |
| conversion_subscribe_sk_ad_network_view | |
| conversion_ad_click_sk_ad_network_view | |
| conversion_ad_view_sk_ad_network_view | |
| conversion_complete_tutorial_sk_ad_network_view | |
| conversion_invite_sk_ad_network_view | |
| conversion_login_sk_ad_network_view | |
| conversion_share_sk_ad_network_view | |
| conversion_reserve_sk_ad_network_view | |
| conversion_achievement_unlocked_sk_ad_network_view | |
| conversion_add_to_wishlist_sk_ad_network_view | |
| conversion_spend_credits_sk_ad_network_view | |
| conversion_rate_sk_ad_network_view | |
| conversion_start_trial_sk_ad_network_view | |
| conversion_list_view_sk_ad_network_view | |
| conversion_visitation_sk_ad_network_view | |
| custom_event_1_sk_ad_network_view | |
| custom_event_2_sk_ad_network_view | |
| custom_event_3_sk_ad_network_view | |
| custom_event_4_sk_ad_network_view | |
| custom_event_5_sk_ad_network_view | |
| unknown_sk_ad_network_view | SkAdNetwork conversion events with unknown Conversion Values |
| conversion_assist_install_sk_ad_network_view | The number of times the SKAdNetwork campaign drove an App Install, but was not the last touch before the App Install occurred |
| conversion_null_sk_ad_network_view | The number of SKAdNetwork conversion events with "null" Conversion Values. This indicates the campaign did not generate enough daily SKAdNetwork conversions to pass Apple’s privacy threshold |
SKAd Network Total Conversion Metrics
The following metrics return the total sum of the SKAd Network SWIPE and VIEW conversions.
| Name | Description |
|---|---|
| conversion_total_installs_sk_ad_network_total | Total App Installs tracked via SKAd Network |
| conversion_ios_installs_sk_ad_network_total | Exact same metric as conversion_total_installs_sk_ad_network_total |
| conversion_purchases_sk_ad_network_total | |
| conversion_save_sk_ad_network_total | |
| conversion_start_checkout_sk_ad_network_total | |
| conversion_add_cart_sk_ad_network_total | |
| conversion_view_content_sk_ad_network_total | |
| conversion_add_billing_sk_ad_network_total | |
| conversion_sign_ups_sk_ad_network_total | |
| conversion_searches_sk_ad_network_total | |
| conversion_level_completes_sk_ad_network_total | |
| conversion_app_opens_sk_ad_network_total | |
| conversion_page_views_sk_ad_network_total | |
| conversion_subscribe_sk_ad_network_total | |
| conversion_ad_click_sk_ad_network_total | |
| conversion_ad_view_sk_ad_network_total | |
| conversion_complete_tutorial_sk_ad_network_total | |
| conversion_invite_sk_ad_network_total | |
| conversion_login_sk_ad_network_total | |
| conversion_share_sk_ad_network_total | |
| conversion_reserve_sk_ad_network_total | |
| conversion_achievement_unlocked_sk_ad_network_total | |
| conversion_add_to_wishlist_sk_ad_network_total | |
| conversion_spend_credits_sk_ad_network_total | |
| conversion_rate_sk_ad_network_total | |
| conversion_start_trial_sk_ad_network_total | |
| conversion_list_view_sk_ad_network_total | |
| conversion_visitation_sk_ad_network_total | |
| custom_event_1_sk_ad_network_total | |
| custom_event_2_sk_ad_network_total | |
| custom_event_3_sk_ad_network_total | |
| custom_event_4_sk_ad_network_total | |
| custom_event_5_sk_ad_network_total | |
| unknown_sk_ad_network_total | SkAdNetwork conversion events with unknown Conversion Values |
| conversion_assist_install_sk_ad_network_total | The number of times the SKAdNetwork campaign drove an App Install, but was not the last touch before the App Install occurred. conversion_null_sk_ad_network |
| conversion_null_sk_ad_network_total | The number of SKAdNetwork conversion events with "null" Conversion Values. This indicates the campaign did not generate enough daily SKAdNetwork conversions to pass Apple’s privacy threshold |