Last updated: 12/11/2024
As a Publisher, you can use the Reporting API to retrieve reporting data for your apps that serve the Offerwall.
Before you begin: You must authenticate with the API, following the steps here.
The Reporting API can be used to request performance data for your Offerwall content, including metrics such as clicks, conversions, and total revenue. All available publisher reporting metrics are listed in the chart below.
We recommend publishers to start with the following base query to retrieve performance metrics:
{
publisher {
placements(appId: "00000000-0000-0000-0000-000000000000") {
id
name
insights(
timeRange: {from: "YYYY-MM-DDT00:00:00Z", until: "YYYY-MM-DDT00:00:00Z"}
) {
timestamps
reports {
dailyUniqueViewers
earnings
}
}
}
}
}
Publisher Metric | Description | Country | App Group | Publisher App | Placement |
---|---|---|---|---|---|
averageDuc | Average number of unique users that converted on an offerwall ad in the app, placement, or content card (counted once per 24 hours per user) divided by number of days | x | x | x | x |
arpdau | Average revenue per daily active user (total revenue divided by the number of daily active users) | x | x | x | |
arpduv | Average revenue per daily unique offerwall viewer (total revenue divided by the number of unique users that viewed an offerwall in the app (counted once per 24 hours per user) | x | x | x | |
averageDau | Average number of daily active users (counted once per 24 hours per user) divided by number of days | x | x | x | |
averageDuv | Average number of unique users that viewed an offerwall in the app (counted once per 24 hours per user) divided by number of days | x | x | x | |
clicks | Number of clicks that originated from the placement | x | x | ||
conversions | Number of conversions that originated from the placement | x | x | ||
dailyActiveUsers | Number of daily active users | x | x | x | |
dailyUniqueConversions | Number of users who converted on an ad from this placement or content card (counted once per 24 hours per user). Currently only applies to offerwall content cards | x | x | ||
dailyUniqueOfferwallEngagements | Number of unique users that converted on an offerwall ad in the app (counted once per 24 hours per user) | x | x | x | |
dailyUniqueOfferwallViewers | Number of unique users that viewed an offerwall in the app (counted once per 24 hours per user) | x | x | x | |
dailyUniqueViewers | Number of unique users who viewed an ad in this placement or content card (counted once per 24 hours per user). Currently only applies to offerwall content cards | x | x | ||
ducduv | Number of users who converted on an ad from this placement or content card (counted once per 24 hours per user) divided by the number of users who viewed an ad in this placement or content card (counted once per 24 hours per user) | x | x | x | x |
duvDau | Number of unique users that viewed an offerwall in the app (counted once per 24 hours per user) divided by the number of daily active users | x | x | x | |
earnings | Total amount earned | x | x | ||
impressions | Number of impressions that originated from the placement | x | x | ||
newUsers | Number of new users | x | x | x | |
offerwallViews | Total number of offerwall open | x | x | x | |
sessions | Number of app opens | x | x | x | |
totalRevenue | Total revenue | x | x | x |
Additional publisher metrics available in the Dashboard:
By adding segment fields to your queries, the API can return performance data broken down by app, placement, and/or country.
The Reporting API supports segmentation under the following breakdowns:
{
publisher {
placements(appId: "00000000-0000-0000-0000-000000000000") {
id
insights(timePreset: TODAY) {
timestamps
reports {
country
dailyUniqueViewers
}
}
}
}
}
{
publisher {
apps(first: 3) {
nodes {
appGroupId
insights(timePreset: TODAY) {
reports {
dailyActiveUsers
}
}
}
}
}
}
query {
publisher {
apps(first:3) {
edges {
node {
name
insights(timePreset:TODAY) {
reports {
dailyActiveUsers
}
}
}
}
}
}
}
{
publisher{
placements(appId: "00000000-0000-0000-0000-000000000000") {
id
name
insights(timePreset: TODAY) {
reports {
impressions
}
timestamps
}
}
}
}
By adding filters to your queries, the API will return performance metrics from the specified sources only. The Reporting API supports the following filtering capabilities:
This limits results to a single App
{
publisher{
app(id: "<app ID>") {
id
name
insights(timePreset: TODAY) {
reports {
arpdau
}
timestamps
}
}
}
}
This limits results to the first or last x Apps
{
publisher {
apps(first: 3) {
nodes {
id
platform
insights {
reports {
arpdau
totalRevenue
}
}
}
}
}
}
This limits results to a single Content Card ID
{
publisher {
placements(appId: "<app ID>") {
id
name
content(id: "<content ID>") {
id
type
insights(timePreset: TODAY) {
timestamps
reports {
earnings
}
}
}
}
}
}
This limits results to a preset timeframe. This is a relative time range and results will vary based on when the query is run.
Options: LAST_30D, LAST_WEEK, TODAY, YESTERDAY.
Note: To define the level of data aggregation, include timeIncrement, which can take values DAILY, HOURLY, MONTHLY. timeIncrement is an optional parameter and defaults to ALL
{
publisher {
placements(appId: “<app ID>”) {
content(id: “<content card ID>") {
insights(timePreset:LAST_30D, timeIncrement: DAILY) {
timestamps
reports {
dailyUniqueViewers
}
}
}
}
}
}
This limits results to the absolute time range specified.
The maximum range is 3 months and the earliest date supported is 2 years in the past.
Note: To define the level of data aggregation, include timeIncrement, which can take values DAILY, HOURLY, MONTHLY. timeIncrement is an optional parameter and defaults to ALL
{
publisher {
placements(appId: “<app ID>”) {
content(id: “<content card ID>") {
insights(timeRange: {from: "2024-11-15T00:00:00Z", until: "2024-11-17T00:00:00Z"}, timeIncrement: DAILY) {
timestamps
reports {
dailyUniqueViewers
}
}
}
}
}
}