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. We’re planning a mid-Q1 2018 launch. 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.

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
end: Date
pastDays: Int
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
end: Date
pastDays: Int
Default:0
currency: String
Default:USD
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: MetricResult!

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

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.

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: [Audience]!

Audiences for this Adgroup

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
end: Date
pastDays: Int
Default:0
currency: String
Default:USD
metricsTotal: MetricResult!
placements(start: Date, end: Date, pastDays: Int, currency: String): PlacementResult!

Arguments:

start: Date
end: Date
pastDays: Int
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
end: Date
pastDays: Int
Default:0
currency: String
Default:USD
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: MetricResult!

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

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!]): [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:[]
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: 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
segments: [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.

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

Metrics for the Advertisable.

Arguments:

duration: Int
Default:30
start: Date
end: Date
pastDays: Int
Default:0
currency: String
Default:USD
metricsTotal: MetricResult!
AdvertisableQuery

Fields:

byEID(advertisable: String!): Advertisable

Arguments:

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

Arguments:

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

Arguments:

organization: String!
metricsTotal: MetricResult!
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.

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.

inclusion: Boolean!

Is the segment an inclusion segment.

segmentEID: String!

The EID of the 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.byte

createdDate: Date!

Date of creation.

metrics(duration: Int, 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:

duration: Int
Default:30
start: Date
end: Date
pastDays: Int
Default:0
AudienceMetric

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

Fields:

newVisitors: Decimal!
totalVisitors: Decimal!
currentVisitors: Decimal!
currentVisitorsInDateRange: 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: [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.

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

Metrics for the campaign.

Arguments:

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

Arguments:

duration: Int
Default:30
start: Date
end: Date
pastDays: Int
Default:0
currency: String
Default:USD
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!]): [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:[]
byOrganization(organization: String!, isActive: Boolean, statuses: [String!], blacklistStatuses: [String!], types: [String!], channels: [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:[]
metricsTotal: MetricResult!
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!
byDate: [ConversionsByDate!]!
summary: ConversionsSummary!
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

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!
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

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
end: Date
pastDays: Int
Default:0
currency: String
Default:USD
metricsTotal: MetricResult!
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(email: String!): [Email]!

Resolves all Emails for a Campaign.

Arguments:

email: String!

EID of the email.

metricsTotal: MetricResult!
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!
viewRevenue: Decimal!
viewThroughs: 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!
totalVisitors: Decimal!
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!

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

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.

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: MetricResult!
OrganizationQuery

Fields:

byEID(organization: String!): Organization

Arguments:

organization: String!
current: Organization
metricsTotal: MetricResult!
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!

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

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:

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
segment: SegmentQuery
metricsTotal: MetricResult!
Segment

Fields:

eid: String!

The EID of the segment.

advertisable: String!

The Advertisable for the segment.

matchMethod: String!

The match method used for the segment.

displayName: String!

Optional name of the segment used for display purposes.

name: String!

The name of the segment, for use internally and for JS segment matching.

mobile: String!

The mobile extension data as in the mobile_rule “get” representation

pattern: String!

The URL pattern used for matching users.

conversionValue: Float!

The value of a conversion from this segment (in USD).

threshold: Int!

The threshold used for match methods with a numerical limit.

duration: Int!

The duration of the segment, in days.

group: Int!

The group that the segment belongs to.

type: String!

The type of the segment. One of [c,s] (c=Conversion, s=Segment).

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

Metrics for the Segment. [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
end: Date
pastDays: Int
Default:0
currency: String
Default:USD
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!): [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!
metricsTotal: MetricResult!

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

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.