Skip to main content
Required scopes: campaigns_read, campaigns_write
Analytics for this campaign, grouped by what is being measured.
When the merchant canceled the campaign, if they did.
The channel this campaign sends on.
required
When the campaign was created.
The email content this campaign sends, oldest arm first. A campaign that is not split-testing has exactly one entry; there is no separate subject on the campaign because a split test has more than one.
Why the campaign failed, when it did.
required
The segments held out of this campaign.Requires: segments_read
When the campaign failed to send, if it did.
Follow-up email configuration when one was enabled.
The from address recorded when the campaign sent. Null for drafts and for SMS campaigns.
The From mailbox chosen for this campaign. Null when the store default should be used, and for SMS.Requires: campaigns_read
ID!
required
The id of this campaign.
String!
required
The campaign’s legacy Mongo ObjectId (24-char hex) from before the CockroachDB migration.
String!
required
The merchant-facing name of the campaign.
The reply-to address recorded when the campaign sent. Null when none was set.
The Reply-To mailbox chosen for this campaign. Null when the store default should be used.Requires: campaigns_read
When the campaign is scheduled to start sending. Null for drafts, and for campaigns scheduled in each recipient’s local time.
String
IANA time zone the merchant picked when scheduling a single UTC instant. Null for drafts and local-time sends.
String
IANA time zone used when a recipient has no time zone, for local-time sends. Null when scheduledAt is set.
String
For campaigns scheduled in each recipient’s local time, the wall-clock time they send at, as YYYY-MM-DDTHH:mm:ss. Null when scheduledAt is set.
required
The segments this campaign was sent to.Requires: segments_read
When the campaign finished sending. Null until it has finished.
The SMS content this campaign sends, oldest arm first. Empty for email campaigns.
Derived lifecycle status from schedule, send, failure, and cancellation timestamps.
[String!]!
required
Tags the merchant applied to this campaign, in the order they applied them. Free-form and merchant-defined — Redo attaches no meaning to them, so they are the place a store’s own categorisation (a promotion name, a season, a product line) is kept. Empty when the campaign is untagged.
required
When the campaign was last updated.