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.
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.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
dataarray. - 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, andoffsetto 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