AdRoll GraphQL Reporting API Schema

Warning

The GraphQL Reporting is in beta and the schema may change. Currently only campaign-level data is stable, all other data may be unstable. If you have questions or feedback, please contact the API team.

Objects

Objects represent a set of fields.

Descriptions

Fields:

eid: String!

EID of the ad.

adFormatID: Int!

The id of the corresponding ad format in the AdRoll system.

adFormat: String!

Format string. i.e. ‘300 wide x 250 high’.

adFormatName: String!

Format string. i.e. ‘300x250’.

advertisable: String!

The EID of the advertisable to which this ad belongs.

adgroups: JSON!

The list of adgroup EIDs that this ad belongs to.

hasFutureCampaigns: Boolean!

Whether or not this ad has the possiblity of serving based on the adgroups and campaigns in which it inhabits.

destinationURL: String!

The URL that the browser will navigate to when this ad is clicked.

headline: String!

For Facebook ads, the text to be displayed as the ad’s headline.

body: String!

For Facebook ads, the text to be displayed as the ad’s body.

message: String!

For Facebook Newsfeed ads, the text to be displayed as the ad’s message.

isActive: Boolean!

Whether or not this ad is currently active.

name: String!

The name of this ad.

src: String!

This ad’s creative’s source URL.

status: String!

One of ‘approved’, ‘paused’, ‘review’, ‘daft’, ‘rejected’ or ‘deleted’.

type: String!

The ad type: ‘liquid’, ‘image’, ‘flash’ or ‘ad_network’.

height: Int!

The height in pixels of this ad’s creative.

width: Int!

The width in pixels of this ad’s creative.

createdDate: DateTime!

The date this ad was created.

updatedDate: DateTime!

The date this ad was last updated.

hasEdits: Boolean!

Whether or not this ad has been edited such that another ad has it’s original ad parameter set to this ad’s EID.

hasPendingEdits: Boolean!

Whether or not this ad has edits that must be reviewed by an AdRoll administrator.

originalAd: String!

The EID of the ad that was edited to create this ad.

isOutlined: Boolean!

Whether or not an outline has been applied to the ad to satisfy network compliancy.

outlineColor: String!

Hexadecimal color code corresponding to the outline of an ad.

validClicktag: Boolean!

If the ad is in flash format, this is the flag showing whether or not the clickTAG is compliant.

Facebook permalink if applicable.

Instagram permalink if applicable.

channel: String!

The channel for the campaign this ad belongs to. This is only available when loading the ads through a campaign.

campaignType: String!

The type for the campaign this ad belongs to. This is only available when loading the ads through a campaign.

adrollEID: String!

The adroll EID for prospecting ads.

inAdgroupEID: String!

The AdGroup’s EID in the AdGroupAd relationship, if listed inside an AdGroup.

inAdgroupIsActive: Boolean!

True of the AdGroupAd relationship is active, if listed inside an AdGroup.

inAdgroupStatus: String!

The status of the AdGroupAd relationship, if listed inside an AdGroup.

inAdgroupRelationshipEID: String!

The the internal EID of the AdGroupAd relationship, if such a EID exists and if the ad is listed inside an AdGroup.

metrics(duration: Int, start: Date, end: Date, pastDays: Int, currency: String): MetricResult!

Metrics for the Ad.

Arguments:

duration: Int
Default:30
start: Date

The start date for the metrics period (inclusive). The date range will be: [start, end)

end: Date

The end date for the metrics period (exclusive). The date range will be: [start, end)

pastDays: Int

Alternative to start/end parameters with less precedence. The date range will be: [today_utc - pastDays, today_utc)

Default:0
currency: String
Default:USD
conversions(duration: Int, start: Date, end: Date, pastDays: Int, currency: String): ConversionResult!

Arguments:

duration: Int
Default:30
start: Date

The start date for the metrics period (inclusive). The date range will be: [start, end)

end: Date

The end date for the metrics period (exclusive). The date range will be: [start, end)

pastDays: Int

Alternative to start/end parameters with less precedence. The date range will be: [today_utc - pastDays, today_utc)

Default:0
currency: String
Default:USD
AdGroupData

Fields:

eid: String!

EID of the ad.

adFormatID: Int!

The id of the corresponding ad format in the AdRoll system.

adFormat: String!

Format string. i.e. ‘300 wide x 250 high’.

adFormatName: String!

Format string. i.e. ‘300x250’.

advertisable: String!

The EID of the advertisable to which this ad belongs.

adgroups: JSON!

The list of adgroup EIDs that this ad belongs to.

hasFutureCampaigns: Boolean!

Whether or not this ad has the possiblity of serving based on the adgroups and campaigns in which it inhabits.

destinationURL: String!

The URL that the browser will navigate to when this ad is clicked.

headline: String!

For Facebook ads, the text to be displayed as the ad’s headline.

body: String!

For Facebook ads, the text to be displayed as the ad’s body.

message: String!

For Facebook Newsfeed ads, the text to be displayed as the ad’s message.

isActive: Boolean!

Whether or not this ad is currently active.

name: String!

The name of this ad.

src: String!

This ad’s creative’s source URL.

status: String!

One of ‘approved’, ‘paused’, ‘review’, ‘daft’, ‘rejected’ or ‘deleted’.

type: String!

The ad type: ‘liquid’, ‘image’, ‘flash’ or ‘ad_network’.

height: Int!

The height in pixels of this ad’s creative.

width: Int!

The width in pixels of this ad’s creative.

createdDate: DateTime!

The date this ad was created.

updatedDate: DateTime!

The date this ad was last updated.

hasEdits: Boolean!

Whether or not this ad has been edited such that another ad has it’s original ad parameter set to this ad’s EID.

hasPendingEdits: Boolean!

Whether or not this ad has edits that must be reviewed by an AdRoll administrator.

originalAd: String!

The EID of the ad that was edited to create this ad.

isOutlined: Boolean!

Whether or not an outline has been applied to the ad to satisfy network compliancy.

outlineColor: String!

Hexadecimal color code corresponding to the outline of an ad.

validClicktag: Boolean!

If the ad is in flash format, this is the flag showing whether or not the clickTAG is compliant.

Facebook permalink if applicable.

Instagram permalink if applicable.

channel: String!

The channel for the campaign this ad belongs to. This is only available when loading the ads through a campaign.

campaignType: String!

The type for the campaign this ad belongs to. This is only available when loading the ads through a campaign.

adrollEID: String!

The adroll EID for prospecting ads.

inAdgroupEID: String!

The AdGroup’s EID in the AdGroupAd relationship, if listed inside an AdGroup.

inAdgroupIsActive: Boolean!

True of the AdGroupAd relationship is active, if listed inside an AdGroup.

inAdgroupStatus: String!

The status of the AdGroupAd relationship, if listed inside an AdGroup.

inAdgroupRelationshipEID: String!

The the internal EID of the AdGroupAd relationship, if such a EID exists and if the ad is listed inside an AdGroup.

AdQuery

Fields:

byEID(ad: String!): Ad

Resolves an Ad by its EID. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

ad: String!

EID of the Ad.

byEIDs(eids: [String!]!): [Ad]!

Resolves Ads by their EIDs. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

eids: [String!]!
byAdvertisable(advertisable: String!, isActive: Boolean, statuses: [String!], types: [String!], width: Int, height: Int): [Ad]!

Resolves all Ads for an Advertisable. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

advertisable: String!

The EID of the advertisable whose ads are to be fetched

isActive: Boolean

If True, only active ads will be returned, and vice versa (Optional; default: True)

statuses: [String!]

Only ads that match one of these statuses will be returned (Optional; default: None)

Default:[]
types: [String!]

Only ads that match one of these types will be returned (Optional; default: None)

Default:[]
width: Int

Only ads having the specified width will be returned (Optional; default: None)

Default:0
height: Int

Only ads having the specified height will be returned (Optional; default: None)

Default:0
byAdgroup(adgroup: String!, isActive: Boolean, statuses: [String!], types: [String!], width: Int, height: Int): [Ad]!

Resolves all Ads for an AdGroup. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

adgroup: String!

The EID of the Adgroup whose ads are to be fetched

isActive: Boolean

If True, only active ads will be returned, and vice versa (Optional; default: True)

statuses: [String!]

Only ads that match one of these statuses will be returned (Optional; default: None)

Default:[]
types: [String!]

Only ads that match one of these types will be returned (Optional; default: None)

Default:[]
width: Int

Only ads having the specified width will be returned (Optional; default: None)

Default:0
height: Int

Only ads having the specified height will be returned (Optional; default: None)

Default:0
metricsTotal: MetricAggregateResult!

[ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

For documentation see the root metricsTotal field in Query.

Adgroup

Fields:

eid: String!

The EID of the adgroup.

adOptimization: String!

The strategy used to optimize ads when multiple ads fit a single ad space.

campaign: String!

The EID of the campaign that this adgroup is associated with.

isActive: Boolean!

Whether or not this adgroup is currently active.

name: String!

The name of this adgroup.

status: String!

One of ‘approved’, ‘paused’, ‘daft’, ‘rejected’ or ‘deleted’.

createdDate: DateTime!

The date this adgroup was created.

updatedDate: DateTime!

The date this adgroup was last updated.

segments: JSON!

A list of dictionaries for the segments attached to the adgroup. Each entry has ‘id’ and ‘is_negative’ fields.

siteExclusions: JSON!

The list of excluded domains for the adgroup, with ad format information, if any.

platformTargets: JSON!

A list of dictionaries for the adgroup’s platform targets..

placementTargets: JSON!

A list of strings for an adgroup’s placement targets. Each entry can have a value of ‘all’, ‘newsfeed’, or ‘rightcolumn’.

flightTimezone: String!

The timezone preference of all flights of this adgroup.

flights: JSON!

Scheduled flight periods when ads will be served. Null if there is no limitation.

significantFlightStartDate: DateTime!

Start date for the active or most recent flight period in the adgroup.

significantFlightEndDate: DateTime!

End date for the active or most recent flight period in the adgroup.

advertisable: String!

Advertisable for this Adgroup. NOTE/FIXME: the advertisable information is not usually available, so querying this will cause an additional request to be made.

kpiGoal: Decimal!

Goal -for the kpiMetric- that drives the campaign’s bid strategy. Null for automatic.

kpiCurrency: String!

ISO 4217 currency code for kpiGoal. If not provided assume the currency provided at the Advertisable level.

kpiMetric: String!

Metric being targeted by the campaign’s bid strategy.

adType: String!

Ad type restriction for this ad group. Empty if there is no explicit restriction. Currently one of “static” or “dynamic”.

ads(isActive: Boolean, statuses: [String!], types: [String!], width: Int, height: Int): [Ad]!

Ads for this Adgroup. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

isActive: Boolean

If True, only active ads will be returned, and vice versa (Optional; default: True)

statuses: [String!]

Only ads that match one of these statuses will be returned (Optional; default: None)

Default:[]
types: [String!]

Only ads that match one of these types will be returned (Optional; default: None)

Default:[]
width: Int

Only ads having the specified width will be returned (Optional; default: None)

Default:0
height: Int

Only ads having the specified height will be returned (Optional; default: None)

Default:0
audiences(includeInactive: Boolean): [Audience]!

Audiences for this Adgroup

Arguments:

includeInactive: Boolean
Default:false
metrics(duration: Int, start: Date, end: Date, pastDays: Int, currency: String): MetricResult!

Metrics for the Adgroup. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

duration: Int
Default:30
start: Date

The start date for the metrics period (inclusive). The date range will be: [start, end)

end: Date

The end date for the metrics period (exclusive). The date range will be: [start, end)

pastDays: Int

Alternative to start/end parameters with less precedence. The date range will be: [today_utc - pastDays, today_utc)

Default:0
currency: String
Default:USD
metricsTotal: MetricAggregateResult!

For documentation see the root metricsTotal field in Query.

placements(start: Date, end: Date, pastDays: Int, currency: String): PlacementResult!

Arguments:

start: Date

The start date for the metrics period (inclusive). The date range will be: [start, end)

end: Date

The end date for the metrics period (exclusive). The date range will be: [start, end)

pastDays: Int

Alternative to start/end parameters with less precedence. The date range will be: [today_utc - pastDays, today_utc)

Default:0
currency: String
Default:USD
conversions(duration: Int, start: Date, end: Date, pastDays: Int, currency: String): ConversionResult!

Arguments:

duration: Int
Default:30
start: Date

The start date for the metrics period (inclusive). The date range will be: [start, end)

end: Date

The end date for the metrics period (exclusive). The date range will be: [start, end)

pastDays: Int

Alternative to start/end parameters with less precedence. The date range will be: [today_utc - pastDays, today_utc)

Default:0
currency: String
Default:USD
AdgroupGroupData

Fields:

eid: String!

The EID of the adgroup.

adOptimization: String!

The strategy used to optimize ads when multiple ads fit a single ad space.

campaign: String!

The EID of the campaign that this adgroup is associated with.

isActive: Boolean!

Whether or not this adgroup is currently active.

name: String!

The name of this adgroup.

status: String!

One of ‘approved’, ‘paused’, ‘daft’, ‘rejected’ or ‘deleted’.

createdDate: DateTime!

The date this adgroup was created.

updatedDate: DateTime!

The date this adgroup was last updated.

segments: JSON!

A list of dictionaries for the segments attached to the adgroup. Each entry has ‘id’ and ‘is_negative’ fields.

siteExclusions: JSON!

The list of excluded domains for the adgroup, with ad format information, if any.

platformTargets: JSON!

A list of dictionaries for the adgroup’s platform targets..

placementTargets: JSON!

A list of strings for an adgroup’s placement targets. Each entry can have a value of ‘all’, ‘newsfeed’, or ‘rightcolumn’.

flightTimezone: String!

The timezone preference of all flights of this adgroup.

flights: JSON!

Scheduled flight periods when ads will be served. Null if there is no limitation.

significantFlightStartDate: DateTime!

Start date for the active or most recent flight period in the adgroup.

significantFlightEndDate: DateTime!

End date for the active or most recent flight period in the adgroup.

advertisable: String!

Advertisable for this Adgroup. NOTE/FIXME: the advertisable information is not usually available, so querying this will cause an additional request to be made.

kpiGoal: Decimal!

Goal -for the kpiMetric- that drives the campaign’s bid strategy. Null for automatic.

kpiCurrency: String!

ISO 4217 currency code for kpiGoal. If not provided assume the currency provided at the Advertisable level.

kpiMetric: String!

Metric being targeted by the campaign’s bid strategy.

adType: String!

Ad type restriction for this ad group. Empty if there is no explicit restriction. Currently one of “static” or “dynamic”.

AdgroupQuery

Fields:

byEID(adgroup: String!): Adgroup

Resolves an Adgroup by its EID. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

adgroup: String!

EID of the Adgroup.

byEIDs(eids: [String!]!): [Adgroup]!

Resolves a Adgroups by their EIDs. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

eids: [String!]!
byAdvertisable(advertisable: String!): [Adgroup]!

Resolves all Adgroups for a Advertisable. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

advertisable: String!

The EID of the advertisable whose adgroups are to be fetched

byCampaign(campaign: String!): [Adgroup]!

Resolves all Adgroups for a Campaign. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

campaign: String!

EID of the campaign.

metricsTotal: MetricAggregateResult!

[ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.|

For documentation see the root metricsTotal field in Query.

Advertisable

Fields:

eid: String!

EID of the advertisable.

isActive: Boolean!

Whether or not the advertisable is currently active.

isB2B: Boolean!

Whether or not the advertisable is a B2B customer.

isAbmCustomer: Boolean!

Whether or not the advertisable is an ABM customer.

name: String!

The name of the advertisable.

organization: String!

The EID of this advertisable’s organization.

status: String!

The status of the advertisable. One of [‘admin_review’, ‘approved’, ‘rejected’].

url: String!

The advertisable’s URL.

currency: String!

The currency code (ISO-4217) use by the advertisable’s account.

clickThroughConversionWindow: Int!

Duration of this advertisable’s click through conversion window in days.

viewThroughConversionWindow: Int!

Duration of this advertisable’s view through conversion window in days.

createdDate: DateTime!

The date this advertisable was created.

revshareViewPercent: Decimal!
revshareClickPercent: Decimal!
campaigns(isActive: Boolean, statuses: [String!], blacklistStatuses: [String!], types: [String!], channels: [String!], sources: [String!], excludeTypes: [String!], excludeChannels: [String!], excludeSources: [String!]): [Campaign]!

Campaigns for this Advertisable.

Arguments:

isActive: Boolean

If True, only active campaigns will be returned, and vice versa (Optional; default: True)

statuses: [String!]

Only campaigns that match one of these statuses will be returned (Optional; default: None)

Default:[]
blacklistStatuses: [String!]

Only campaigns whose status is not one of these will be returned (Optional; default: None)

Default:[]
types: [String!]

Only campaigns that match one of these types will be returned (Optional; default: None)

Default:[]
channels: [String!]

Only campaigns that match one of these channels will be returned (Optional; default: None)

Default:[]
sources: [String!]

Only campaigns that match one of these sources will be returned (Optional; default: None)

Default:[]
excludeTypes: [String!]

Exclude campaigns that match one of the given types. (Optional; default: None)

Default:[]
excludeChannels: [String!]

Exclude campaigns that match one of the given channels. (Optional; default: None)

Default:[]
excludeSources: [String!]

Exclude campaigns that match one of the given sources. (Optional; default: None)

Default:[]
adgroups: [Adgroup]!

Adgroups for this Advertisable. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

emails: [Email]!

Emails for this Advertisable.

ads(isActive: Boolean, statuses: [String!], types: [String!], width: Int, height: Int): [Ad]!

Ads for this Advertisable. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

isActive: Boolean

If True, only active ads will be returned, and vice versa (Optional; default: False)

statuses: [String!]

Only ads that match one of these statuses will be returned (Optional; default: None)

Default:[]
types: [String!]

Only ads that match one of these types will be returned (Optional; default: None)

Default:[]
width: Int

Only ads having the specified width will be returned (Optional; default: None)

Default:0
height: Int

Only ads having the specified height will be returned (Optional; default: None)

Default:0
segments(isConversion: Boolean): [Segment]!

Segments for this Advertisable. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

isConversion: Boolean

If True, only conversion segments will be returned (Optional; default: False).

metrics(duration: Int, start: Date, end: Date, pastDays: Int, currency: String): MetricResult!

Metrics for the Advertisable.

Arguments:

duration: Int
Default:30
start: Date

The start date for the metrics period (inclusive). The date range will be: [start, end)

end: Date

The end date for the metrics period (exclusive). The date range will be: [start, end)

pastDays: Int

Alternative to start/end parameters with less precedence. The date range will be: [today_utc - pastDays, today_utc)

Default:0
currency: String
Default:USD
metricsTotal: MetricAggregateResult!

For documentation see the root metricsTotal field in Query.

conversions(duration: Int, start: Date, end: Date, pastDays: Int, currency: String): ConversionResult!

Arguments:

duration: Int
Default:30
start: Date

The start date for the metrics period (inclusive). The date range will be: [start, end)

end: Date

The end date for the metrics period (exclusive). The date range will be: [start, end)

pastDays: Int

Alternative to start/end parameters with less precedence. The date range will be: [today_utc - pastDays, today_utc)

Default:0
currency: String
Default:USD
AdvertisableGroupData

Fields:

eid: String!

EID of the advertisable.

isActive: Boolean!

Whether or not the advertisable is currently active.

isB2B: Boolean!

Whether or not the advertisable is a B2B customer.

isAbmCustomer: Boolean!

Whether or not the advertisable is an ABM customer.

name: String!

The name of the advertisable.

organization: String!

The EID of this advertisable’s organization.

status: String!

The status of the advertisable. One of [‘admin_review’, ‘approved’, ‘rejected’].

url: String!

The advertisable’s URL.

currency: String!

The currency code (ISO-4217) use by the advertisable’s account.

clickThroughConversionWindow: Int!

Duration of this advertisable’s click through conversion window in days.

viewThroughConversionWindow: Int!

Duration of this advertisable’s view through conversion window in days.

createdDate: DateTime!

The date this advertisable was created.

revshareViewPercent: Decimal!
revshareClickPercent: Decimal!
AdvertisableQuery

Fields:

byEID(advertisable: String!): Advertisable

Arguments:

advertisable: String!
byEIDs(eids: [String!]!): [Advertisable]!

Arguments:

eids: [String!]!
byOrganization(organization: String!): [Advertisable]!

Arguments:

organization: String!
metricsTotal: MetricAggregateResult!

For documentation see the root metricsTotal field in Query.

forUser: [Advertisable]!

All the advertisables for the current user.

Audience

Fields:

eid: String!

The EID of the audience in use.

segmentEID: String!

The EID of the segment describing this audience.

advertisable: String!

The Advertisable for the segment.

campaign: String!

The Campaign for the segment.

name: String!

The Audience Name.

type: String!

The type of the segment. One of: - “url”: URL - “crm”: crm - “pages_viewed”: Pages Viewed - “products_viewed”: Products Viewed - “arbitrary_data”: External Data - “app_install”: App Install - “facebook_prospecting”: Facebook Prospecting - “custom”: Partner - “intent”: Intent - “impression”: Impression - “user_attributes”: Attributes - “user_events”: Events - “lead_generation”: Lead Generation - “composite”: Composite - “event_match”: Event JS Match - “js_match”: Explicit JS Match - “ipixel_match”: IPixel Match - “css_selector”: CSS Selector - “email_list”: Email List in AdRoll Email. - “email_domain”: Email Address Domain Match.

description: JSON!

Pieces to build the Audience’s description formatted following the type.

duration: Int!

The duration of the Audience, in days.

isActive: Boolean!

False if this is segment has been deleted.

inclusion: Boolean!

Is the segment an inclusion segment.

isConversion: Boolean!

True if this is a conversion audience.

conversionValue: Float!

The value of a conversion from this segment.

currency: String!

The value of a conversion from this segment. Default to the Advertisable’s currency.

createdDate: Date!

Date of creation.

metrics(start: Date, end: Date, pastDays: Int): AudienceMetricResult!

Metrics for the audience visitors. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

start: Date

The start date for the metrics period (inclusive). The date range will be: [start, end)

end: Date

The end date for the metrics period (exclusive). The date range will be: [start, end)

pastDays: Int

Alternative to start/end parameters with less precedence. The date range will be: [today_utc - pastDays, today_utc)

Default:0
AudienceGroupData

Fields:

eid: String!

The EID of the audience in use.

segmentEID: String!

The EID of the segment describing this audience.

advertisable: String!

The Advertisable for the segment.

campaign: String!

The Campaign for the segment.

name: String!

The Audience Name.

type: String!

The type of the segment. One of: - “url”: URL - “crm”: crm - “pages_viewed”: Pages Viewed - “products_viewed”: Products Viewed - “arbitrary_data”: External Data - “app_install”: App Install - “facebook_prospecting”: Facebook Prospecting - “custom”: Partner - “intent”: Intent - “impression”: Impression - “user_attributes”: Attributes - “user_events”: Events - “lead_generation”: Lead Generation - “composite”: Composite - “event_match”: Event JS Match - “js_match”: Explicit JS Match - “ipixel_match”: IPixel Match - “css_selector”: CSS Selector - “email_list”: Email List in AdRoll Email. - “email_domain”: Email Address Domain Match.

description: JSON!

Pieces to build the Audience’s description formatted following the type.

duration: Int!

The duration of the Audience, in days.

isActive: Boolean!

False if this is segment has been deleted.

inclusion: Boolean!

Is the segment an inclusion segment.

isConversion: Boolean!

True if this is a conversion audience.

conversionValue: Float!

The value of a conversion from this segment.

currency: String!

The value of a conversion from this segment. Default to the Advertisable’s currency.

createdDate: Date!

Date of creation.

AudienceMetric

Groups reporting metric audience data in summary and by date format.

Fields:

audienceSizeNew: Decimal!
audienceSizeTotal: Decimal!
audienceSizeCurrent: Decimal!
audienceSizeInDateRange: Decimal!
AudienceMetricResult

Groups reporting metric audience data in summary and by date format.

Fields:

summary: AudienceMetric!

Summarises the reporting data for the given date range and duration.

Campaign

Fields:

eid: String!

EID of the campaign.

advertisable: String!

EID of the advertisable to which this campaign belongs.

budget: Decimal!

The daily budget of the campaign.

createdDate: DateTime!

The date this campaign was created.

cpc: Decimal!

The CPC for this campaign.

cpm: Decimal!

The CPM for this campaign.

maxCpm: Decimal!

The maximum CPM for this campaign.

name: String!

The name of this campaign.

startDate: DateTime!

The day the campaign will start.

endDate: DateTime!

The day the campaign will end, exclusive.

status: String!

The status of the campaign. One of ‘running’, ‘ended’, ‘paused’, ‘review’, ‘daft’, ‘rejected’ or ‘deleted’.

updatedDate: DateTime!

The date this campaign was last updated.

channel: String!

Campaign channel: one of ‘email’, ‘social’ or ‘web’

source: String!

The service responsible for the creation of this campaign.

currency: String!

ISO-4217 currency code for the given amount.

type: String!

Type for the campaign. One of “prospecting”, “blended” or “retargeting”.

abmType: String!

Type of ABM campaign. Empty string if this is not an ABM campaign.

kpiGoal: Decimal!

Goal -for the kpiMetric- that drives the campaign’s bid strategy. Null for automatic.

kpiCurrency: String!

ISO 4217 currency code for kpiGoal. If not provided assume the currency provided at the Advertisable level.

kpiMetric: String!

Metric being targeted by the campaign’s bid strategy.

spendLimitUntil: DateTime!

SpendLimitUntil

spendLimitUntilReason: String!

SpendLimitUntilReason

adgroups: [Adgroup]!

Adgroups for this Campaign. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

emails: [Email]!

Emails for this Campaign [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

audiences(includeInactive: Boolean): [Audience]!

Audiences for this Campaign. [ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

includeInactive: Boolean
Default:false
metrics(duration: Int, start: Date, end: Date, pastDays: Int, currency: String): MetricResult!

Metrics for the campaign.

Arguments:

duration: Int
Default:30
start: Date

The start date for the metrics period (inclusive). The date range will be: [start, end)

end: Date

The end date for the metrics period (exclusive). The date range will be: [start, end)

pastDays: Int

Alternative to start/end parameters with less precedence. The date range will be: [today_utc - pastDays, today_utc)

Default:0
currency: String
Default:USD
metricsTotal: MetricAggregateResult!

For documentation see the root metricsTotal field in Query.

conversions(duration: Int, start: Date, end: Date, pastDays: Int, currency: String): ConversionResult!

Arguments:

duration: Int
Default:30
start: Date

The start date for the metrics period (inclusive). The date range will be: [start, end)

end: Date

The end date for the metrics period (exclusive). The date range will be: [start, end)

pastDays: Int

Alternative to start/end parameters with less precedence. The date range will be: [today_utc - pastDays, today_utc)

Default:0
currency: String
Default:USD
CampaignGroupData

Fields:

eid: String!

EID of the campaign.

advertisable: String!

EID of the advertisable to which this campaign belongs.

budget: Decimal!

The daily budget of the campaign.

createdDate: DateTime!

The date this campaign was created.

cpc: Decimal!

The CPC for this campaign.

cpm: Decimal!

The CPM for this campaign.

maxCpm: Decimal!

The maximum CPM for this campaign.

name: String!

The name of this campaign.

startDate: DateTime!

The day the campaign will start.

endDate: DateTime!

The day the campaign will end, exclusive.

status: String!

The status of the campaign. One of ‘running’, ‘ended’, ‘paused’, ‘review’, ‘daft’, ‘rejected’ or ‘deleted’.

updatedDate: DateTime!

The date this campaign was last updated.

channel: String!

Campaign channel: one of ‘email’, ‘social’ or ‘web’

source: String!

The service responsible for the creation of this campaign.

currency: String!

ISO-4217 currency code for the given amount.

type: String!

Type for the campaign. One of “prospecting”, “blended” or “retargeting”.

abmType: String!

Type of ABM campaign. Empty string if this is not an ABM campaign.

kpiGoal: Decimal!

Goal -for the kpiMetric- that drives the campaign’s bid strategy. Null for automatic.

kpiCurrency: String!

ISO 4217 currency code for kpiGoal. If not provided assume the currency provided at the Advertisable level.

kpiMetric: String!

Metric being targeted by the campaign’s bid strategy.

spendLimitUntil: DateTime!

SpendLimitUntil

spendLimitUntilReason: String!

SpendLimitUntilReason

CampaignQuery

Fields:

byEID(campaign: String!): Campaign

Arguments:

campaign: String!

EID of the campaign.

byEIDs(eids: [String!]!): [Campaign]!

Arguments:

eids: [String!]!
byAdvertisable(advertisable: String!, isActive: Boolean, statuses: [String!], blacklistStatuses: [String!], types: [String!], channels: [String!], sources: [String!], excludeTypes: [String!], excludeChannels: [String!], excludeSources: [String!]): [Campaign]!

Arguments:

advertisable: String!

The EID of the advertisable whose campaigns are to be fetched

isActive: Boolean

If True, only active campaigns will be returned, and vice versa (Optional; default: True)

statuses: [String!]

Only campaigns that match one of these statuses will be returned (Optional; default: None)

Default:[]
blacklistStatuses: [String!]

Only campaigns whose status is not one of these will be returned (Optional; default: None)

Default:[]
types: [String!]

Only campaigns that match one of these types will be returned (Optional; default: None)

Default:[]
channels: [String!]

Only campaigns that match one of these channels will be returned (Optional; default: None)

Default:[]
sources: [String!]

Only campaigns that match one of these sources will be returned (Optional; default: None)

Default:[]
excludeTypes: [String!]

Exclude campaigns that match one of the given types. (Optional; default: None)

Default:[]
excludeChannels: [String!]

Exclude campaigns that match one of the given channels. (Optional; default: None)

Default:[]
excludeSources: [String!]

Exclude campaigns that match one of the given sources. (Optional; default: None)

Default:[]
byOrganization(organization: String!, isActive: Boolean, statuses: [String!], blacklistStatuses: [String!], types: [String!], channels: [String!], sources: [String!], excludeTypes: [String!], excludeChannels: [String!], excludeSources: [String!]): [Campaign]!

Arguments:

organization: String!

The EID of the organization whose campaigns are to be fetched

isActive: Boolean

If True, only active campaigns will be returned, and vice versa (Optional; default: True)

statuses: [String!]

Only campaigns that match one of these statuses will be returned (Optional; default: None)

Default:[]
blacklistStatuses: [String!]

Only campaigns whose status is not one of these will be returned (Optional; default: None)

Default:[]
types: [String!]

Only campaigns that match one of these types will be returned (Optional; default: None)

Default:[]
channels: [String!]

Only campaigns that match one of these channels will be returned (Optional; default: None)

Default:[]
sources: [String!]

Only campaigns that match one of these sources will be returned (Optional; default: None)

Default:[]
excludeTypes: [String!]

Exclude campaigns that match one of the given types. (Optional; default: None)

Default:[]
excludeChannels: [String!]

Exclude campaigns that match one of the given channels. (Optional; default: None)

Default:[]
excludeSources: [String!]

Exclude campaigns that match one of the given sources. (Optional; default: None)

Default:[]
metricsTotal: MetricAggregateResult!

For documentation see the root metricsTotal field in Query.

ConversionResult

Groups reporting metric data for conversions.

Fields:

byAudience: [Conversions!]!

Summarises by conversion the reporting data for the given date range.

Conversions

Contains reporting metric data for attributions, deliveries

by audience conversion.

Fields:

audienceEID: String!
audienceName: String!
audienceDuration: Int!
audienceIsActive: Boolean!
byDate: [ConversionsByDate!]!
summary: ConversionsSummary!
impressions: Decimal!
clicks: Decimal!
cost: Decimal!
clickThroughs: Decimal!
clickRevenue: Decimal!
viewThroughs: Decimal!
viewRevenue: Decimal!
influencedThroughs: Decimal!
influencedRevenue: Decimal!
conversions: Decimal!

Conversions (count) = View Conversions + Click Conversions

revenue: Decimal!

Revenue (amount) = View Revenue + Click Conversions

cpa: Decimal!

CPA ($) = Spend / Conversions

clickCPA: Decimal!

Click CPA ($) = Spend / Click Conversions

viewCPA: Decimal!

View CPA ($) = Cost / View Throughs

ctcRate: Decimal!

CTC Rate (%) = Click Conversions / Clicks * 100

vtcRate: Decimal!

VTC Rate (%) = View Throughs / (Impressions + Opens) * 100

roi: Decimal!

[DEPRECATED] use ‘roas’ instead.

Alias for ‘roas’.

roas: Decimal!

Return on advertising spend: Your profit per dollar spent on ads.

ROAS (x) = (Click Revenue + View Revenue) / Cost

clickROAS: Decimal!

Click return on advertising spend: Your profit per dollar spent, generated from conversions that happen after someone clicks your ad.

Click ROAS (x) = Click Revenue / Cost

clickROI: Decimal!

[DEPRECATED] use ‘clickROAS’ instead.

Alias for ‘clickROAS’.

viewROAS: Decimal!

View return on advertising spend: Your profit per dollar spent, generated from conversions that happen after someone views your ad.

View ROAS (x) = View Revenue / Cost

viewROI: Decimal!

[DEPRECATED] use ‘viewROAS’ instead.

Alias for ‘viewROAS’.

ConversionsByDate

Fields:

date: Date!
impressions: Decimal!
clicks: Decimal!
cost: Decimal!
conversions: Decimal!

Conversions (count) = View Conversions + Click Conversions

clickThroughs: Decimal!
clickRevenue: Decimal!
revenue: Decimal!

Revenue (amount) = View Revenue + Click Conversions

viewRevenue: Decimal!
viewThroughs: Decimal!
cpa: Decimal!

CPA ($) = Spend / Conversions

clickCPA: Decimal!

Click CPA ($) = Spend / Click Conversions

viewCPA: Decimal!

View CPA ($) = Cost / View Throughs

ctcRate: Decimal!

CTC Rate (%) = Click Conversions / Clicks * 100

vtcRate: Decimal!

VTC Rate (%) = View Throughs / (Impressions + Opens) * 100

roi: Decimal!

Return on investment: Your profit per dollar spent on ads.

ROI (x) = (Click Revenue + View Revenue) / Cost

clickROI: Decimal!

Click return on investment: Your profit per dollar spent, generated from conversions that happen after someone clicks your ad.

Click ROI (x) = Click Revenue / Cost

viewROI: Decimal!

View return on investment: Your profit per dollar spent, generated from conversions that happen after someone views your ad.

View ROI (x) = View Revenue / Cost

ConversionsSummary

Fields:

impressions: Decimal!
clicks: Decimal!
cost: Decimal!
clickThroughs: Decimal!
clickRevenue: Decimal!
viewRevenue: Decimal!
viewThroughs: Decimal!
influencedRevenue: Decimal!
influencedThroughs: Decimal!
conversions: Decimal!

Conversions (count) = View Conversions + Click Conversions

revenue: Decimal!

Revenue (amount) = View Revenue + Click Conversions

cpa: Decimal!

CPA ($) = Spend / Conversions

clickCPA: Decimal!

Click CPA ($) = Spend / Click Conversions

viewCPA: Decimal!

View CPA ($) = Cost / View Throughs

ctcRate: Decimal!

CTC Rate (%) = Click Conversions / Clicks * 100

vtcRate: Decimal!

VTC Rate (%) = View Throughs / (Impressions + Opens) * 100

roi: Decimal!

Return on investment: Your profit per dollar spent on ads.

ROI (x) = (Click Revenue + View Revenue) / Cost

clickROI: Decimal!

Click return on investment: Your profit per dollar spent, generated from conversions that happen after someone clicks your ad.

Click ROI (x) = Click Revenue / Cost

viewROI: Decimal!

View return on investment: Your profit per dollar spent, generated from conversions that happen after someone views your ad.

View ROI (x) = View Revenue / Cost

Email

Fields:

eid: String!

The SendRoll e-mail EID.

campaign: String!

The EID of the AdRoll email campaign who owns this email.

sequencePosition: Int!

The position of this email in the campaign’s sequence. (0 for the first email).

subject: String!

The email’s subject.

status: String!

One of ‘approved’, ‘ended’, ‘paused’, ‘daft’ or ‘deleted’.

delayHours: Int!

Delay in hours between the previous event in the drip sequence and when this email is scheduled to be sent.

createdDate: DateTime!

The date this email was created.

advertisable: String!

Advertisable for this Email. NOTE/FIXME: the advertisable information is not usually available, so querying this will cause an additional request to be made.

metrics(duration: Int, start: Date, end: Date, pastDays: Int, currency: String): MetricResult!

Metrics for the Email.

Arguments:

duration: Int
Default:30
start: Date

The start date for the metrics period (inclusive). The date range will be: [start, end)

end: Date

The end date for the metrics period (exclusive). The date range will be: [start, end)

pastDays: Int

Alternative to start/end parameters with less precedence. The date range will be: [today_utc - pastDays, today_utc)

Default:0
currency: String
Default:USD
metricsTotal: MetricAggregateResult!

For documentation see the root metricsTotal field in Query.

EmailGroupData

Fields:

eid: String!

The SendRoll e-mail EID.

campaign: String!

The EID of the AdRoll email campaign who owns this email.

sequencePosition: Int!

The position of this email in the campaign’s sequence. (0 for the first email).

subject: String!

The email’s subject.

status: String!

One of ‘approved’, ‘ended’, ‘paused’, ‘daft’ or ‘deleted’.

delayHours: Int!

Delay in hours between the previous event in the drip sequence and when this email is scheduled to be sent.

createdDate: DateTime!

The date this email was created.

advertisable: String!

Advertisable for this Email. NOTE/FIXME: the advertisable information is not usually available, so querying this will cause an additional request to be made.

EmailQuery

Fields:

byEID(email: String!): Email

Resolves an Email by its EID.

Arguments:

email: String!

EID of the Email.

byEIDs(eids: [String!]!): [Email]!

Arguments:

eids: [String!]!
byAdvertisable(advertisable: String!): [Email]!

Resolves all Emails for an Advertisable.

Arguments:

advertisable: String!

The EID of the advertisable whose emails are to be fetched

byCampaign(campaign: String!): [Email]!

Resolves all Emails for a Campaign.

Arguments:

campaign: String!

EID of the campaign.

metricsTotal: MetricAggregateResult!

For documentation see the root metricsTotal field in Query.

GroupListRow

[ALPHA] This GraphQL node is currently under development and QA,

please hold off from using it in production for the time being.

Row returned for each row in a group by query from

‘group.loadByList’.

The available data depends on the arguments to the group by:

  • Entity data is only available when grouping by entity and

    only for the entity being grouped by.

  • Date is only available when grouping by date.

  • Only columns specified in the group by are available for a

    particular group.

Groups are returned as a flat list but should be interpret as a

hiearchy:

  • There is always one ‘root’ group that has no entity data. The

    metrics in this root group are the total aggregate.

  • Children groups have a ‘parentId’ field that is the ‘id’ of

    their parent (e.g. children of the root group will have a

    parentId of ‘root’).

  • The final level of groups in the query have the ‘leaf’ field

    as true. This is made for easy filtering when only the leaf

    nodes are required.

  • Each group in the ‘groups’ parameter for the query creates

    a level of sub-groups in order. So the first group parameter

    will correspond to children of the ‘root’ group, while the

    last group parameter will correspond to the ‘leaf’ groups.

Fields:

id: String!

Unique ID for this group.

parentId: String!

The unique ID of the parent group. Empty for the root group.

leaf: Boolean!

Leaf is true for the leaf groups (groups with no children). This corresponds to the last ‘groups’ parameter in the GroupBy.

date: String!

When grouping by date, this is the metric date for this group. The format depends on the ‘date’ argument of the GroupBy:

  • day: “2018-12-30”
  • week: “2018-W52”
  • month: “2018-12”
  • year: “2018”
  • dayofweek: “sun”
dateKey: String!

This is a sortable value for the ‘date’ argument. It is equal to ‘date’ except for when using ‘dayofweek’ when it is the number corresponding to the week day order.

domain: String!

When grouping by domain, this returns the domain for the current group.

columns: JSON!

When grouping by columns, this will return a JSON object whose keys are the group column names (as specified in the GroupBy argument) and the values are the column values for the current group.

organization: OrganizationGroupData

Organization data for the group. This is only available when grouping by organizations (e.g. ‘entity’ = ‘organization’).

advertisable: AdvertisableGroupData

Advertisable data for the group. This is only available when grouping by advertisables (e.g. ‘entity’ = ‘advertisable’).

campaign: CampaignGroupData

Campaign data for the group. This is only available when grouping by campaigns (e.g. ‘entity’ = ‘campaign’).

adgroup: AdgroupGroupData

Adgroup data for the group. This is only available when grouping by adgroups (e.g. ‘entity’ = ‘adgroup’).

ad: AdGroupData

Ad data for the group. This is only available when grouping by ads (e.g. ‘entity’ = ‘ad’).

segment: SegmentGroupData

Segment data for the group. This is only available when grouping by segments (e.g. ‘entity’ = ‘segment’).

email: EmailGroupData

Email data for the group. This is only available when grouping by emails (e.g. ‘entity’ = ‘email’).

audience: AudienceGroupData

Audience data for the group. This is only available when grouping by audiences (e.g. ‘entity’ = ‘audience’).

clickThroughs: Decimal!
clickRevenue: Decimal!
viewThroughs: Decimal!
viewRevenue: Decimal!
influencedThroughs: Decimal!
influencedRevenue: Decimal!
impressions: Decimal!

The sum of the number of ad impressions and the number of unique-by-session email opens collected.

clicks: Decimal!
cost: Decimal!
revenue: Decimal!
audienceSizeNew: Decimal!

Segment size metric.

audienceSizeTotal: Decimal!

Segment size metric.

newVisitors: Decimal!

The number of new visitors who came to your site after viewing a prospecting ad.

engagedVisitors: Decimal!

The number of new visitors who have viewed at least 3 pages on your site after viewing a prospecting ad.

bouncedVisitors: Decimal!

Visitors who have only viewed one page and left your site after viewing a prospecting ad.

nonBouncedVisitors: Decimal!

Visitors who have only viewed more than one page after viewing a prospecting ad.

newVisitorCost: Decimal!

The cost for each new visitor that came to your site after viewing a prospecting ad (newVisitorCost = cost / newVisitors).

engagedVisitorCost: Decimal!

The cost for each new visitor that has viewed at least 3 pages on your site after viewing a prospecting ad (engagedVisitorCost = cost / engagedVisitors).

bounceRate: Decimal!

The percentage of new visitors who have only viewed one page and left your site after viewing a prospecting ad.

Bounce Rate (%) = bouncedVisitors / newVisitors * 100.

sends: Decimal!

Number of emails sent by a campaign.

opens: Decimal!

Number of unique-by-session email opens collected for a campaign. WARNING: this field will be deprecated and opens aggregated into “impressions”. To ease up the transition this field will still be available, but always return 0.

ctr: Decimal!

CTR (%) = Clicks / Impression * 100

openRate: Decimal!

Open Rate (%) = Opens / Sends * 100

cpc: Decimal!

CPC ($) = Spend / Clicks

cpm: Decimal!

CPM ($) = Spend / Impressions * 1000

conversions: Decimal!

Conversions (count) = View Conversions + Click Conversions

cpa: Decimal!

CPA ($) = Spend / Conversions

ctcRate: Decimal!

CTC Rate (%) = Click Conversions / Clicks * 100

clickCPA: Decimal!

Click CPA ($) = Spend / Click Conversions

vtcRate: Decimal!

View-through conversion rate: The percentage of impressions that resulted in a view-through conversion.

VTC Rate (%) = View Throughs / (Impressions + Opens) * 100

viewCPA: Decimal!

Cost-per-view acquisition: Your average spend for a conversion that happens after someone views your ad.

View CPA ($) = Cost / View Throughs

roi: Decimal!

[DEPRECATED] use ‘roas’ instead.

Alias for ‘roas’.

roas: Decimal!

Return on advertising spend: Your profit per dollar spent on ads.

ROAS (x) = (Click Revenue + View Revenue) / Cost

clickROAS: Decimal!

Click return on advertising spend: Your profit per dollar spent, generated from conversions that happen after someone clicks your ad.

Click ROAS (x) = Click Revenue / Cost

clickROI: Decimal!

[DEPRECATED] use ‘clickROAS’ instead.

Alias for ‘clickROAS’.

viewROAS: Decimal!

View return on advertising spend: Your profit per dollar spent, generated from conversions that happen after someone views your ad.

View ROAS (x) = View Revenue / Cost

viewROI: Decimal!

[DEPRECATED] use ‘viewROAS’ instead.

Alias for ‘viewROAS’.

GroupQuery

[ALPHA] This GraphQL node is currently under development and QA,

please hold off from using it in production for the time being.

Provides arbitrary grouping for queries.

Fields:

loadBy(eids: [String!]!, by: String!, start: Date, end: Date, pastDays: Int, currency: String, groups: [GroupBy!]!): GroupResult!

Loads entities and metrics providing for arbitrary grouping.

Each group in the ‘groups’ argument will create a group level in the hierarchy. The first root group will always be empty and can be used as an aggregate for all the metrics.

Arguments:

eids: [String!]!

List of EIDs to load by. The kind of entity being loaded by is specified with the ‘by’ argument.

by: String!

Kind of entity to load by. The EIDs of the entities to load by are specified in the ‘eids’ argument.

start: Date

The start date for the metrics period (inclusive). The date range will be: [start, end)

end: Date

The end date for the metrics period (exclusive). The date range will be: [start, end)

pastDays: Int

Alternative to start/end parameters with less precedence. The date range will be: [today_utc - pastDays, today_utc)

Default:0
currency: String

Currency to load the metrics in.

Default:USD
groups: [GroupBy!]!

List of groups to group by.

Default:[]
loadByList(eids: [String!]!, by: String!, start: Date, end: Date, pastDays: Int, currency: String, groups: [GroupBy!]!): [GroupListRow!]!

Loads entities and metrics providing for arbitrary grouping.

This differs from loadBy in that the group hierarchy is returned as a flat list that must be reconstructed as a tree by the client.

For details on how the group hiearchy is returned, see the documentation for GroupListRow.

Arguments:

eids: [String!]!

List of EIDs to load by. The kind of entity being loaded by is specified with the ‘by’ argument.

by: String!

Kind of entity to load by. The EIDs of the entities to load by are specified in the ‘eids’ argument.

start: Date

The start date for the metrics period (inclusive). The date range will be: [start, end)

end: Date

The end date for the metrics period (exclusive). The date range will be: [start, end)

pastDays: Int

Alternative to start/end parameters with less precedence. The date range will be: [today_utc - pastDays, today_utc)

Default:0
currency: String

Currency to load the metrics in.

Default:USD
groups: [GroupBy!]!

List of groups to group by.

Default:[]
GroupResult

[ALPHA] This GraphQL node is currently under development and QA,

please hold off from using it in production for the time being.

Result for the ‘groups.loadBy’ field.

Fields:

id: String!

Unique ID for this group.

date: String!

When grouping by date, this is the metric date for this group. The format depends on the ‘date’ argument of the GroupBy:

  • day: “2018-12-30”
  • week: “2018-W52”
  • month: “2018-12”
  • year: “2018”
  • dayofweek: “sun”
dateKey: String!

This is a sortable value for the ‘date’ argument. It is equal to ‘date’ except for when using ‘dayofweek’ when it is the number corresponding to the week day order.

domain: String!

When grouping by domain, this returns the domain for the current group.

columns: JSON!

When grouping by columns, this will return a JSON object whose keys are the group column names (as specified in the GroupBy argument) and the values are the column values for the current group.

organization: OrganizationGroupData

Organization data for the group. This is only available when grouping by organizations (e.g. ‘entity’ = ‘organization’).

advertisable: AdvertisableGroupData

Advertisable data for the group. This is only available when grouping by advertisables (e.g. ‘entity’ = ‘advertisable’).

campaign: CampaignGroupData

Campaign data for the group. This is only available when grouping by campaigns (e.g. ‘entity’ = ‘campaign’).

adgroup: AdgroupGroupData

Adgroup data for the group. This is only available when grouping by adgroups (e.g. ‘entity’ = ‘adgroup’).

ad: AdGroupData

Ad data for the group. This is only available when grouping by ads (e.g. ‘entity’ = ‘ad’).

segment: SegmentGroupData

Segment data for the group. This is only available when grouping by segments (e.g. ‘entity’ = ‘segment’).

email: EmailGroupData

Email data for the group. This is only available when grouping by emails (e.g. ‘entity’ = ‘email’).

audience: AudienceGroupData

Audience data for the group. This is only available when grouping by audiences (e.g. ‘entity’ = ‘audience’).

clickThroughs: Decimal!
clickRevenue: Decimal!
viewThroughs: Decimal!
viewRevenue: Decimal!
influencedThroughs: Decimal!
influencedRevenue: Decimal!
impressions: Decimal!

The sum of the number of ad impressions and the number of unique-by-session email opens collected.

clicks: Decimal!
cost: Decimal!
revenue: Decimal!
audienceSizeNew: Decimal!

Segment size metric.

audienceSizeTotal: Decimal!

Segment size metric.

newVisitors: Decimal!

The number of new visitors who came to your site after viewing a prospecting ad.

engagedVisitors: Decimal!

The number of new visitors who have viewed at least 3 pages on your site after viewing a prospecting ad.

bouncedVisitors: Decimal!

Visitors who have only viewed one page and left your site after viewing a prospecting ad.

nonBouncedVisitors: Decimal!

Visitors who have only viewed more than one page after viewing a prospecting ad.

newVisitorCost: Decimal!

The cost for each new visitor that came to your site after viewing a prospecting ad (newVisitorCost = cost / newVisitors).

engagedVisitorCost: Decimal!

The cost for each new visitor that has viewed at least 3 pages on your site after viewing a prospecting ad (engagedVisitorCost = cost / engagedVisitors).

bounceRate: Decimal!

The percentage of new visitors who have only viewed one page and left your site after viewing a prospecting ad.

Bounce Rate (%) = bouncedVisitors / newVisitors * 100.

sends: Decimal!

Number of emails sent by a campaign.

opens: Decimal!

Number of unique-by-session email opens collected for a campaign. WARNING: this field will be deprecated and opens aggregated into “impressions”. To ease up the transition this field will still be available, but always return 0.

ctr: Decimal!

CTR (%) = Clicks / Impression * 100

openRate: Decimal!

Open Rate (%) = Opens / Sends * 100

cpc: Decimal!

CPC ($) = Spend / Clicks

cpm: Decimal!

CPM ($) = Spend / Impressions * 1000

conversions: Decimal!

Conversions (count) = View Conversions + Click Conversions

cpa: Decimal!

CPA ($) = Spend / Conversions

ctcRate: Decimal!

CTC Rate (%) = Click Conversions / Clicks * 100

clickCPA: Decimal!

Click CPA ($) = Spend / Click Conversions

vtcRate: Decimal!

View-through conversion rate: The percentage of impressions that resulted in a view-through conversion.

VTC Rate (%) = View Throughs / (Impressions + Opens) * 100

viewCPA: Decimal!

Cost-per-view acquisition: Your average spend for a conversion that happens after someone views your ad.

View CPA ($) = Cost / View Throughs

roi: Decimal!

[DEPRECATED] use ‘roas’ instead.

Alias for ‘roas’.

roas: Decimal!

Return on advertising spend: Your profit per dollar spent on ads.

ROAS (x) = (Click Revenue + View Revenue) / Cost

clickROAS: Decimal!

Click return on advertising spend: Your profit per dollar spent, generated from conversions that happen after someone clicks your ad.

Click ROAS (x) = Click Revenue / Cost

clickROI: Decimal!

[DEPRECATED] use ‘clickROAS’ instead.

Alias for ‘clickROAS’.

viewROAS: Decimal!

View return on advertising spend: Your profit per dollar spent, generated from conversions that happen after someone views your ad.

View ROAS (x) = View Revenue / Cost

viewROI: Decimal!

[DEPRECATED] use ‘viewROAS’ instead.

Alias for ‘viewROAS’.

groups: [GroupResult!]!

Return children groups if available.

LogLine

Fields:

id: String!

ID for the log entry this line belongs to. An ID may have multiple lines.

kind: String!

Kind of entry.

key: String!

Key for the log line. The key indicates the operation in the system that generated this entry.

time: DateTime!

Absolute time when the log line was generated.

delta: Float!

Relative delta when the log line was generated. In seconds from the beginning of the request.

text: String!

Text for the log line message.

data: String!

Raw data for the log line (e.g. data dump).

lines: JSON!

This is the data field split by lines.

json: JSON!

Parsed JSON payload from the data field, if any.

info: String!

A string combining information from id, kind, key, time, delta and text fields.

payload: JSON!

Payload parses information from the data field and returns the CSV, JSON or Form data payload for a dump or the payload lines (excluding headers).

xtra: JSON!

Returns the non-payload part of the data dump as split lines.

Metric

Contains reporting metric data for attributions, deliveries,

segment deliveries and emails.

Fields:

date: Date!

Date for this particular metric data. This is empty for summaries.

clickThroughs: Decimal!
clickRevenue: Decimal!
viewThroughs: Decimal!
viewRevenue: Decimal!
influencedThroughs: Decimal!
influencedRevenue: Decimal!
impressions: Decimal!

The sum of the number of ad impressions and the number of unique-by-session email opens collected.

clicks: Decimal!
cost: Decimal!
revenue: Decimal!
audienceSizeNew: Decimal!

Segment size metric.

audienceSizeTotal: Decimal!

Segment size metric.

newVisitors: Decimal!

The number of new visitors who came to your site after viewing a prospecting ad.

engagedVisitors: Decimal!

The number of new visitors who have viewed at least 3 pages on your site after viewing a prospecting ad.

bouncedVisitors: Decimal!

Visitors who have only viewed one page and left your site after viewing a prospecting ad.

nonBouncedVisitors: Decimal!

Visitors who have only viewed more than one page after viewing a prospecting ad.

newVisitorCost: Decimal!

The cost for each new visitor that came to your site after viewing a prospecting ad (newVisitorCost = cost / newVisitors).

engagedVisitorCost: Decimal!

The cost for each new visitor that has viewed at least 3 pages on your site after viewing a prospecting ad (engagedVisitorCost = cost / engagedVisitors).

bounceRate: Decimal!

The percentage of new visitors who have only viewed one page and left your site after viewing a prospecting ad.

Bounce Rate (%) = bouncedVisitors / newVisitors * 100.

sends: Decimal!

Number of emails sent by a campaign.

opens: Decimal!

Number of unique-by-session email opens collected for a campaign. WARNING: this field will be deprecated and opens aggregated into “impressions”. To ease up the transition this field will still be available, but always return 0.

ctr: Decimal!

CTR (%) = Clicks / Impression * 100

openRate: Decimal!

Open Rate (%) = Opens / Sends * 100

cpc: Decimal!

CPC ($) = Spend / Clicks

cpm: Decimal!

CPM ($) = Spend / Impressions * 1000

conversions: Decimal!

Conversions (count) = View Conversions + Click Conversions

cpa: Decimal!

CPA ($) = Spend / Conversions

ctcRate: Decimal!

CTC Rate (%) = Click Conversions / Clicks * 100

clickCPA: Decimal!

Click CPA ($) = Spend / Click Conversions

vtcRate: Decimal!

View-through conversion rate: The percentage of impressions that resulted in a view-through conversion.

VTC Rate (%) = View Throughs / (Impressions + Opens) * 100

viewCPA: Decimal!

Cost-per-view acquisition: Your average spend for a conversion that happens after someone views your ad.

View CPA ($) = Cost / View Throughs

roi: Decimal!

[DEPRECATED] use ‘roas’ instead.

Alias for ‘roas’.

roas: Decimal!

Return on advertising spend: Your profit per dollar spent on ads.

ROAS (x) = (Click Revenue + View Revenue) / Cost

clickROAS: Decimal!

Click return on advertising spend: Your profit per dollar spent, generated from conversions that happen after someone clicks your ad.

Click ROAS (x) = Click Revenue / Cost

clickROI: Decimal!

[DEPRECATED] use ‘clickROAS’ instead.

Alias for ‘clickROAS’.

viewROAS: Decimal!

View return on advertising spend: Your profit per dollar spent, generated from conversions that happen after someone views your ad.

View ROAS (x) = View Revenue / Cost

viewROI: Decimal!

[DEPRECATED] use ‘viewROAS’ instead.

Alias for ‘viewROAS’.

MetricAggregateResult

Groups reporting metric data in summary and by date format. This

is the result of the metricsTotal field. See the root metricsTotal

field in Query for documentation.

Fields:

summary: Metric!

Summarises the reporting data for the given date range.

byDate: [Metric!]!

Reporting data by date in the given range.

MetricDomain

Contains reporting metric data for the domain.

Fields:

date: Date!

Date for this particular metric data. This is empty for summaries.

impressions: Decimal!
clicks: Decimal!
cost: Decimal!
cpm: Decimal!
ctr: Decimal!
MetricDomainResult

Groups reporting metric data for the domain in summary and by

date format.

Fields:

domain: String!

The domain this metric pertains to.

summary: MetricDomain!

Summarises the reporting data for the given date range.

byDate: [MetricDomain!]!

Reporting data by date in the given range.

MetricResult

Groups reporting metric data in summary and by date format.

Fields:

summary: Metric!

Summarises the reporting data for the given date range.

byDate: [Metric!]!

Reporting data by date in the given range.

byDomain: [MetricDomainResult!]!

Reporting data by domain.

Organization

Fields:

eid: String!

EID of the organization.

name: String!

Name of the organization.

createdDate: DateTime!

Created date for the organization.

advertisables: [Advertisable]!

Advertisables for this Organization.

campaigns(isActive: Boolean, statuses: [String!], blacklistStatuses: [String!], types: [String!], channels: [String!]): [Campaign]!

Campaigns for this Organization.

Arguments:

isActive: Boolean

If True, only active campaigns will be returned, and vice versa (Optional; default: True)

statuses: [String!]

Only campaigns that match one of these statuses will be returned (Optional; default: None)

Default:[]
blacklistStatuses: [String!]

Only campaigns whose status is not one of these will be returned (Optional; default: None)

Default:[]
types: [String!]

Only campaigns that match one of these types will be returned (Optional; default: None)

Default:[]
channels: [String!]

Only campaigns that match one of these channels will be returned (Optional; default: None)

Default:[]
metricsTotal: MetricAggregateResult!

For documentation see the root metricsTotal field in Query.

OrganizationGroupData

Fields:

eid: String!

EID of the organization.

name: String!

Name of the organization.

createdDate: DateTime!

Created date for the organization.

OrganizationQuery

Fields:

byEID(organization: String!): Organization

Arguments:

organization: String!
current: Organization
metricsTotal: MetricAggregateResult!

For documentation see the root metricsTotal field in Query.

Placement

Contains reporting metric data for attributions, deliveries

by placement.

Fields:

placement: String!
clickThroughs: Decimal!
clickRevenue: Decimal!
viewRevenue: Decimal!
viewThroughs: Decimal!
impressions: Decimal!
clicks: Decimal!
cost: Decimal!
revenue: Decimal!
ctr: Decimal!

CTR (%) = Clicks / Impression * 100

cpc: Decimal!

CPC ($) = Spend / Clicks

cpm: Decimal!

CPM ($) = Spend / Impressions * 1000

conversions: Decimal!

Conversions (count) = View Conversions + Click Conversions

cpa: Decimal!

CPA ($) = Spend / Conversions

ctcRate: Decimal!

CTC Rate (%) = Click Conversions / Clicks * 100

clickCPA: Decimal!

Click CPA ($) = Spend / Click Conversions

vtcRate: Decimal!

View-through conversion rate: The percentage of impressions that resulted in a view-through conversion.

VTC Rate (%) = View Throughs / Impressions

viewCPA: Decimal!

Cost-per-view acquisition: Your average spend for a conversion that happens after someone views your ad.

View CPA ($) = Cost / View Throughs

roi: Decimal!

[DEPRECATED] use ‘roas’ instead.

Alias for ‘roas’.

roas: Decimal!

Return on advertising spend: Your profit per dollar spent on ads.

ROAS (x) = (Click Revenue + View Revenue) / Cost

clickROAS: Decimal!

Click return on advertising spend: Your profit per dollar spent, generated from conversions that happen after someone clicks your ad.

Click ROAS (x) = Click Revenue / Cost

clickROI: Decimal!

[DEPRECATED] use ‘clickROAS’ instead.

Alias for ‘clickROAS’.

viewROAS: Decimal!

View return on advertising spend: Your profit per dollar spent, generated from conversions that happen after someone views your ad.

View ROAS (x) = View Revenue / Cost

viewROI: Decimal!

[DEPRECATED] use ‘viewROAS’ instead.

Alias for ‘viewROAS’.

PlacementResult

Groups reporting metric data in summary and by date format.

Fields:

byPlacement: [Placement!]!

Summarises by placement the reporting data for the given date range.

Query

Root query element for GraphQL.

Fields:

flags(enableUniversalCampaigns: Boolean!): Boolean!

Setup global request flags

Arguments:

enableUniversalCampaigns: Boolean!

Enables or disables fetching universal campaigns for advertisable and organization queries and filtering of inventory campaigns. This does not affect queries using EIDs.

Note: The default value for this flag will be changed to true once universal campaign support is considered stable.

Default:false
requestId: String!

Unique ID generated for this request.

log(text: String, id: String, kind: String, key: String, filter: String, not: String): [LogLine!]!

Log lines for this request. Admin-only.

Arguments:

text: String
id: String
kind: String
key: String
filter: String
not: String
organization: OrganizationQuery
advertisable: AdvertisableQuery
campaign: CampaignQuery
adgroup: AdgroupQuery
ad: AdQuery
email: EmailQuery
segment: SegmentQuery
group: GroupQuery

[ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Provides custom grouping in queries.

metricsTotal: MetricAggregateResult!

Provides simple aggregation of all metrics in the current and child nodes. Supports aggregating the summary and byDate metrics separately.

The scope of the metricsTotal field, i.e. the scope from which metrics will be aggregated, is the current node (the node where the metricsTotal is declared under) and its inner nodes. The aggregation happens for each metrics field under the scope. Here the term “node” refers to the result of any non-scalar GraphQL field.

Note that this is a simple aggregation of the metric results in the scope, as such:

  • Using fields in metricsTotal WILL NOT cause them to be loaded, it will only aggregate from data that is already being loaded through a metrics field.
  • As a corollary of the above, it will only aggregate a particular field insofar as it is loaded, e.g. if the field is included in some but not all “metrics” fields, only those which are loaded will be aggregated.
  • The totals may end up duplicated if metrics are loaded more than once for the same entity, or if the same metrics are loaded at multiple levels (e.g. campaigns and ads) in the metricsTotal scope.
Segment

Fields:

eid: String!

The Segment EID.

name: String!

The Segment Name.

duration: Int!

The Segment’s duration in days.

isConversion: Boolean!

True if this is a conversion segment.

conversionValue: Float!

The value of a conversion from this segment.

currency: String!

The value of a conversion from this segment. Default to the Advertisable’s currency.

SegmentGroupData

Fields:

eid: String!

The Segment EID.

name: String!

The Segment Name.

duration: Int!

The Segment’s duration in days.

isConversion: Boolean!

True if this is a conversion segment.

conversionValue: Float!

The value of a conversion from this segment.

currency: String!

The value of a conversion from this segment. Default to the Advertisable’s currency.

SegmentQuery

Fields:

byEID(segment: String!): Segment

[ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

segment: String!
byEIDs(eids: [String!]!): [Segment]!

[ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

eids: [String!]!
byAdvertisable(advertisable: String!, isConversion: Boolean): [Segment]!

[ALPHA] This GraphQL node is currently under development and QA, please hold off from using it in production for the time being.

Arguments:

advertisable: String!

Required advertisable EID.

isConversion: Boolean

If True, only conversion segments will be returned (Optional; default: False).

Scalars

Scalars represent primitive types and cannot have fields.

Descriptions

Boolean

The Boolean scalar type represents true or false.

Date
DateTime
Decimal
Error
Float

The Float scalar type represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point).

ID

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as “4”) or integer (such as 4) input value will be accepted as an ID.

Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

JSON
String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.