Skip to main content
Use these read-only endpoints to pull your advertiser data: your profile, campaigns with their statistics, daily metrics at the campaign, ad group, and ad unit level, conversions, billing, pixel events, and connected stores.

GET /advertiser-dashboard/info

Get your advertiser profile.
string
required
Your advertiser API key.
Request
Response

GET /advertiser-dashboard/campaigns

List all your campaigns with their lifetime statistics (impressions, clicks, spend, and conversions).
string
Show only the campaigns with this status: active, paused, or draft.
Request
Response

GET /advertiser-dashboard/campaigns/{campaign_id}

Get one campaign with its full statistics and its target settings.
string
required
The campaign ID.
The response also has all the fields of the list response. If the campaign is not in your account, the response is 404.
Request
Response

GET /advertiser-dashboard/metrics

Get daily performance metrics.
integer
default:"30"
The number of days to look back, from 1 to 365.
string
The first day (YYYY-MM-DD). If you send only start_date, the range ends today.
string
The last day (YYYY-MM-DD). If you send only end_date, the range starts days before it.
string
Show only one campaign. Omit it to get the totals for all campaigns.
string
default:"UTC"
The IANA time zone (for example America/New_York) that sets the start and end of each day. Set it to the time zone that your ad account uses for reports. Then the daily rows agree with the Gravity dashboard. For ChatGPT and OpenAI campaigns, they also agree with the OpenAI reports. OpenAI ad accounts currently report in America/New_York.
The tz parameter sets the days, not the time zone of the machine that calls the API. A day in UTC and the same day in America/New_York cover different hours, so the totals are different. Choose one time zone and always use it.
If start_date or end_date is not a valid date, or tz is not a valid time zone, the response is 400.
Request
Response

GET /advertiser-dashboard/ad-unit-metrics

Get daily metrics for each ad unit. These are the numbers in Ad units on the detail page of a campaign. Use this endpoint for reports at the creative level.The response has one series for each link between a campaign and an ad unit. Each series has a data_source:
  • ad_unit_stats: the series comes from real statistics for the ad unit.
  • campaign_fallback: the campaign has one linked ad unit and no ad unit rows yet. The series uses the daily totals of the campaign, so the numbers agree with the dashboard.
This endpoint gives impressions, clicks, spend, CTR, CPC, and CPM for each ad unit. Gravity attributes conversions, CPA, and ROAS at the campaign level. For those metrics, use /metrics or /conversions.
integer
default:"30"
The number of days to look back, from 1 to 365.
string
The first day (YYYY-MM-DD). The rules are the same as for /metrics.
string
The last day (YYYY-MM-DD).
string
Show only one campaign.
string
Show only one ad unit. If the ad unit is not in your account, the response is 404.
string
default:"UTC"
The IANA time zone (for example America/New_York) that sets the days. It works the same as on /metrics.
Request
Response

GET /advertiser-dashboard/ad-group-metrics

Get daily metrics for each ad group. A campaign contains ad groups, and an ad group contains ads. Use this endpoint for ad group reports, for example a weekly CSV.The response has one series for each ad group, with the sum for all publishers.
  • An ad group with no delivery in the range is in the list. It has zero totals and an empty data array.
  • A day with conversions but no delivery is in the list, with zero impressions.
  • One call returns at most 2,000 ad groups. Use total_ad_groups, truncated, and offset to get all of them.
Gravity counts conversions here the same way as campaign /metrics. It removes duplicates and applies the same attribution window. Currently, a conversion counts when it occurs within 7 days of a Gravity click or a Gravity view. This window can change. Gravity gives each conversion to the ad group that served the click. So the ad groups of a campaign never have more conversions than the campaign.Some conversions have no ad group: conversions from clicks before Gravity added ad group attribution, and view-through conversions. These show only in campaign /metrics. So the ad group conversions and Results of a campaign can be less than the campaign total. Use /metrics for the full count. Results count the conversion event that the campaign selected, the same way as Ads Manager.
integer
default:"30"
The number of days to look back, from 1 to 365.
string
The first day (YYYY-MM-DD). The rules are the same as for /metrics.
string
The last day (YYYY-MM-DD).
string
Show only one campaign. If the campaign is not in your account, the response is 404.
string
Show only one ad group. If the ad group is not in your account, the response is 404.
boolean
default:"false"
Include archived ad groups.
integer
default:"0"
The number of ad groups to skip. While truncated is true, send the request again with offset increased by 2000.
string
default:"UTC"
The IANA time zone (for example America/New_York) that sets the days. It works the same as on /metrics.
Request
Response

GET /advertiser-dashboard/conversions

List your recent conversions, one page at a time. The list includes conversions with and without attribution.
integer
default:"50"
The page size, from 1 to 100.
string
The pagination cursor. Send the next_cursor value from the previous response.
string
Show only one campaign. If the campaign is not in your account, the response is 404.
string
Show only one conversion event type, for example purchase or lead.
string
Show only click_through or view_through conversions. When you set this filter, the response does not include conversions without attribution.
Request
Response

GET /advertiser-dashboard/billing

Get a billing summary: total spend, billed amount, unbilled amount, and credits.
Request
Response

GET /advertiser-dashboard/events/analytics

Get the event analytics of your pixel: event counts for each domain, a time series, and counts for each event type.
integer
default:"30"
The number of days to look back, from 1 to 365.
string
The first day (YYYY-MM-DD). The rules are the same as for /metrics.
string
The last day (YYYY-MM-DD).
string
Show only the domains that contain this text.
string
Show only one event type, for example page_view, form_submit, or click.
Request
Response

GET /advertiser-dashboard/events/conversion-stats

Get a conversion time series: the daily totals and the totals for each event type.
integer
default:"30"
The number of days to look back, from 1 to 365.
string
The first day (YYYY-MM-DD). The rules are the same as for /metrics.
string
The last day (YYYY-MM-DD).
string
Show only one conversion event type, for example purchase or lead.
Request
Response

GET /advertiser-dashboard/integrations

List your active Shopify store connections. To connect a store, see Integrations.
Request
Response