This guide is for Singular analytics partners who want to integrate with Singular by providing access to their reporting API. Learn more in the Integrating with Singular Analytics FAQ.
If you are a Singular customer, see Guide to the Singular Reporting API and the Reporting API Reference instead.
Minimum Requirements
To integrate with Singular, your API must provide the following:
- Method: GET or POST
- API response format: JSON or CSV
-
Data:
- App Store ID/package name (to identify individual apps) OR App / Brand Name + OS / Platform
- Campaign Name
- Cost
- The data must be broken down by day (date)
- Query parameters: Singular should be able to request data by Start Date and End Date
- Filtering: Singular should be capable of filtering data for individual clients.
Notes on Filtering: Kindly note that if your API requires unique credentials for each client, there is no necessity to implement additional filtering mechanisms.
Additional Data (Recommended)
To provide our shared clients with the highest reporting granularity, we encourage you to provide as many additional dimensions and metrics as possible from the list below:
Dimensions (Breakdowns)
Dimension | Description |
app | The name of the app or brand |
site_public_id |
iOS apps: The app's store ID in the Apple App Store (e.g., 144175066) Android apps: The package name in Google Play (e.g., com.example.myapp) |
campaign_name | The campaign name |
campaign_id | The internal ID for campaign within the network's system |
campaign_url | The campaign URL, a.k.a tracking URL/store URL |
sub_campaign_name | The name of the ad group/ad set, if applicable |
sub_campaign_id | The ID of the ad group/ad set, if applicable |
country |
Country code (2-letter) the ad was served in (e.g., UK)
|
os |
The operating system of the marketed product. For an app, this indicates which app store the app is sold in, e.g., "iOS" or "Android". For non-mobile products, this is "web".
|
platform |
The platform of the marketed product, e.g., "iPhone" or "iPad". |
creative_name | The name of the creative or ad |
creative_id | The ID of the creative or ad |
creative_url | The URL to the creative assets (Image/Video) |
creative_text | The text portion of the creative, if any |
creative_width | Creative width in pixels |
creative_height | Creative height in pixels |
publisher_site_name | The name of the publisher (app) in which the ad has been displayed |
publisher_site_id | The public ID of the publisher (app) in which the ad has been displayed |
publisher_id | The hashed ID of the publisher (app) in which the ad has been displayed |
currency | ISO 4217 3-Letter Currency Code (e.g., USD) |
adnetwork_name | The name of the ad network (if you are an agency and you are providing campaign data from multiple ad networks) |
Metrics
Metric | Description |
impressions | Ad views |
clicks | Ad clicks |
installs | App installs or conversions |
Implementation Examples
Here are examples of API requests and responses that Singular can work with.
Request (GET):
https:///api.examplepartner.com/api/v2.0/reporting/4ru34ur3u4u5i3pteqrt?start_date=2022-01-01&end_date=2022-04-01
The response in CSV:
Date,campaign_name,site_public_id,os,creative_name,creative_id,creative_url,Impressions,Clicks,Installs,Cost
2022-01-01,Fresh Air iOS Campaign (US),1195648107,iOS,interstitial,3,http://examplepartner.com/interstitials4.jpg,292088,11244,238,166.6
2022-01-01,Fresh Air iOS Campaign (US),1195648107,iOS,banner,2,http://examplepartner.com/banner2.jpg,16444743,86716,4366,3056.2 2022-01-01,Fresh Air iOS Campaign
(US),1195648107,iOS,banner,1,http://examplepartner.com/banner1.jpg, 802797,40263,1800,3960.0
2022-01-01,Fresh Air iOS Campaign (US),1195648107,iOS,video,3,http://examplepartner.com/video3.jpg,398590,17107,763,2479.75
2022-01-01,Fresh Air iOS Campaign (US),1195648107,iOS,banner,4,http://examplepartner.com/banner4.jpg,423573,15429,454,317.8
2022-01-02,Fresh Air iOS Campaign (US),1195648107,iOS,interstitial,2,http://examplepartner.com/interstitials2.jpg,1425602,69436,2771,6096.2
Request (GET):
https:///api.examplepartner.com/api/v2.0/reporting/4ru34ur3u4u5i3pteqrt?start_date=2022-01-01&end_date=2022-04-01&format=JSON
The response in JSON:
[ {
"date": "2022-01-01",
"campaign_name": "Fresh Air iOS Campaign (US)",
"site_public_id": 1195648107,
"os": iOS,
"creative_name": "interstitial ",
"creative_id": 3,
"creative_url": http://examplepartner.com/interstitials4.jpg
"impressions": 292088,
"clicks": 11244,
"installs": 238,
"cost": "166.6"
}, {
"date": "2022-01-01",
"campaign_name": "Fresh Air iOS Campaign (US)",
"site_public_id": 1195648107,
"os": iOS,
"creative_name": "banner ",
"creative_id": 2,
"creative_url": http://examplepartner.com/banner2.jpg
"impressions": 16444743,
"clicks": 86716,
"installs": 4366,
"cost": "3056.2"
}, {
"date": "2022-01-01",
"campaign_name": "Fresh Air iOS Campaign (US)",
"site_public_id": 1195648107,
"os": iOS,
"creative_name": "banner ",
"creative_id": 1,
"creative_url": http://examplepartner.com/banner1.jpg
"impressions": 802797,
"clicks": 40263,
"installs": 1800,
"cost": "3960.0"
}, {
"date": "2022-01-01",
"campaign_name": "Fresh Air iOS Campaign (US)",
"site_public_id": 1195648107,
"os": iOS,
"creative_name": "banner ",
"creative_id": 4,
"creative_url": http://examplepartner.com/banner4.jpg
"impressions": 398590,
"clicks": 17107,
"installs": 763,
"cost": "2479.75"
}, {
"date": "2022-01-01",
"campaign_name": "Fresh Air iOS Campaign (US)",
"site_public_id": 1195648107,
"os": iOS,
"creative_name": "interstitial ",
"creative_id": 2,
"creative_url": http://examplepartner.com/interstitials2.jpg
"impressions": 423573,
"clicks": 15429,
"installs": 454,
"cost": "317.8"
}]