Skip to main content

Export All Campaign Activities

Blueshift exports raw campaign activity data, including actions such as sent, delivered, opened, and more. These campaign activity reports provide valuable insights into tracking and measuring campaign performance.

Campaign activity reports can be exported to:

Export frequency:

  • Amazon S3: Data is exported in batches every 5 minutes. These are incremental updates written to the designated folder.

  • Snowflake: Data is batched and exported once daily.

  • Databricks: Data is batched and exported once daily.

  • Google BigQuery: Data is batched and exported once daily.

Exported campaign activity data

The following attributes and extended attributes are exported in the campaign activity reports to S3, Snowflake, Databricks, and Google BigQuery.

Note: Blueshift can add new columns in the future, but any new columns will be added at the end.

Attributes

Name

Description

Type

trigger_​timestamp

Time of the action in iso8601 UTC

timestamp

trigger_​type

Type of the trigger

  • EmailTrigger: Email channel

  • PushTrigger: Push channel

  • InAppTrigger: In-app channel

  • SmsTrigger: SMS channel

  • WhatsAppTrigger: WhatsApp channel

  • LiveContentTrigger: Live Content trigger (in the journey builder)

  • OnsiteTrigger: Live Content channel (in a Live Content campaign)

  • WebhookTrigger: Cloud App channel

  • DelayTrigger: Standalone delay

  • FilterTrigger: Decision split

  • Merge​Journey​Trigger: Merge branches

  • ExitJourneyTrigger: Exit the journey

String

experiment_​uuid

Unique identifier of experiment.
Even if there is a single template on a trigger, it will generate a unique experiment_​uuid.
Engagement statistics are aggregated against experiment_​uuid for reporting.

String

user_​uuid

Unique Blueshift generated user uuid for the user.

String

retailer_​customer_​id

The customer ID is passed into Blueshift via API or CRM upload.

String

email

Email identifier of the customer

String

action

User campaign activity action. The action is set to attribution when a goal event gets attributed to a campaign. Possible values:

  • sent: Message sent to user

  • open: User opened/viewed message

  • click: User clicked on the link

  • dismiss: User customer closed or dismissed the in-app message

  • holdout: The user was held out from getting a message from the campaign since the user was a member of the control group.
    Also, look for the is_​global extended attribute for more information.

  • bounce: Hard bounce from ISP

  • soft_​bounce: Temporary soft bounce from ISP

  • delivered: Delivery notification from ESP SendGrid/SparkPost

  • attribution: Downstream conversion such as purchase or custom goal based on attribution model configured

  • unsubscribe: User clicked unsubscribed

  • spam_​report: User reported email as Spam

  • visit: User session/visit attributed to campaign

  • journey: User journeyed through a flow control trigger or a live content trigger. The action_​type for the journey is defined in the extended attributes.

  • device_​sent: Number of mobile devices a push or in-app message was sent to. If there’s no device_​sent metric, that means the message wasn’t sent to the device.

  • bcc_sent: Number of BCC recipients. If native BCC is enabled, this count is included with regular sends. Separate BCC statistics aren’t available.

  • subscribe: A previously unsubscribed user actively opts back in for future communications. A user can resubscribe via the unsubscribe link in the email template or from the email header of a sent campaign.

  • drop: Messages to a specific email address that an ESP drops in order to protect your sender reputation. This can occur with users who have previously unsubscribed, bounced or reported your emails as spam.

String

event

The event name for event triggered campaigns or attribution:

  • If the action is sent and was triggered as a part of event-triggered campaign or

  • If action is attribution, the event which got attributed

String

extended_​attributes

JSON encoded metadata for the message, including “message_​uuid,” uniquely tracks all user actions to a send.
You can also white list custom attributes from your event to be included here.
It also includes all the UTM parameters, such as utm_​campaign, that specify the campaign name.
For more information, see Campaign Tracking Parameters.

String

trigger_​uuid

UUID of the Trigger step in the journey (example: Send an email).
Each step in a journey has a unique trigger_​uuid.
The trigger UUID is shown in the Advanced settings at the bottom of the trigger on the campaign creation page.

String

campaign_​uuid

UUID of the Campaign.
This corresponds to the UUID of the campaign from the URL.
​
Example: if the campaign URL is https://app.getblueshift.com/dashboard#/campaigns/2df5aa31-3261-4354-8395-53c76a4cec9c/details,
Its corresponding UUID will be 2df5aa31-3261-4354-8395-53c76a4cec9c

String

merged_​from_​user_​uuid

Old user UUID, if the user was merged to another user

String

creative_​uuid

Template UUID.
This corresponds to the UUID of the template from the URL.
Example: if the template URL is https://app.getblueshift.com/dashboard#/app/email_template_studio/4290936f-9223-40d2-8bcf-60ffa7e8d1d7/edit/info.
Its corresponding UUID will be 4290936f-9223-40d2-8bcf-60ffa7e8d1d7

String

uuid

UUID for this action

String

execution_​key

Campaign execution time

timestamp

message_​uuid

UUID of the message sent

String

phone_​number

The customer’s phone number which is used for SMS and WhatsApp communication.

String

custom_​user_​identities

JSON object containing additional user identifiers like Salesforce ID or Magento ID.
Example: {"salesforce_​id": "S123", "magento_​id": "M456"}
Note: Redundant identifiers such as customer_​id, email, and phone_​number are excluded from this field.

JSON

Extended attributes

The extended attributes field in a report includes metadata of a campaign activity.

  • A campaign activity can be a message that is sent, a message that bounces, spam reports, etc. You can use this additional information in your attribution models.

  • In addition, extended attributes also include:

    • Additional parameters that you specify in your campaign

    • Certain attributes specific to an adapter or a channel, such as IP addresses for Sparkpost and Sendgrid

  • Each campaign type has attributes added in the report’s extended attributes field.

  • The rendered attributes are available only for ‘send’ events. The raw values are available for all events.

The following table provides the extended attributes for the following types of campaigns:

  • One Time

  • Recurring

  • Segment triggered

  • Event-triggered

  • API triggered

Note: For event-triggered campaigns, the extended attributes can also show the whitelisted event attributes. Please reach out to [email protected] to enable this feature.

Parameter

Available in

account_​algorithm_​uuid
A unique identifier of the recommendation algorithm is used to generate product recommendations in a template.

Email, SMS, WhatsApp, Push, In-app, Cloud-app

campaign_​exec_​term
The term that indicates the campaign type and behavior. For example, one-time or recurring.

Email, SMS, WhatsApp, Push, In-app, Cloud-app

campaign_​tags
The tags that are assigned to a campaign.
For example, consider a campaign with the following tags:

  • Folder: Country, Tags: CAN, USA, AUS

  • Folder: Business_​Unit, Tags: Marketplace

The report contains the entry "Business_​Unit:Marketplace|Country:AUS,CAN,US".

Email, SMS, WhatsApp, Push, In-app, Cloud-app

trigger_​name
The name of the trigger as added in the campaign journey. For example, Welcome email - Day 1.

Email, SMS, WhatsApp, Push, In-app, Cloud-app

action_​type
The type of trigger when action = journey. Values can be merge_​journey, exit_​journey, delay, filter (decision split), and live_​content (Live Content trigger).

—

message_​uuid
Unique identifier of the message that is sent to your customers.

Email, SMS, WhatsApp, Push, In-app, Cloud-app

transaction_​uuid
Unique identifier of the transaction if a message sent as a part of a campaign is also a part of a transaction.

Email, SMS, Push

product_​uuid
Unique identifier of the product that is sent in a campaign.

Email

bsft_​click_​uuid

Email, SMS, WhatsApp

user_​agent
Information on the device type where your customer views the message. For example, information such as Mozilla, Chrome in this field indicates that the user viewed the message on a browser.

Email, SMS, Push

mime_​type
Indicates the type non-ASCII components of a message.

Email

url
URL of the product from your site that includes parameters for analytics on our platform.

Email, SMS, WhatsApp

utm_​source
The source of traffic to your service. For example, Blueshift.

Email, In-app

utm_​campaign
Your campaign's name.

Email, SMS, WhatsApp, Push, In-app, Cloud-app

utm_​medium
The channel on which a message was sent to your customer. For example, email.

Email, SMS, WhatsApp, Push, In-app, Cloud-app

utm_​content
Optional parameter to include information such as details on an A/B test.

Email, SMS, WhatsApp, Push, In-app, Cloud-app

utm_​term
Optional parameter to include keywords that optimize search based ads.

Email, SMS, WhatsApp, Push, In-app, Cloud-app

sending_​ip
The IP address that your email service provider uses to send messages.

Email, SMS

ip_​pool
The pool of IP addresses from which your email address provider picks an IP address to send emails.

Email

sending_​domain
The domain that your email service provider uses to send emails.

Email

adapter_​uuid
The unique identifier of the adapter that you use to send messages to your customers. An adapter represents an integration with Blueshift to send messages.

Email

subaccount_​id
ID of the account you create for Blueshift in Sparkpost or Sendgrid to send emails.

Email

friendly_​from
The email address that we use to send emails to your customers.

Email

execution_​key
The date and time of the execution of a step in a campaign.

Email, In-app, Cloud-app

product_​ids
Unique identifiers of the products sent in a message.

Email

products
Products sent in a message.

Email

bsft_​link_​url

Email, SMS, WhatsApp

cloud_​app
Content type of the message sent through a cloud app. For example, custom JSON.

Cloud-app

template
Template used for a message.

In-app, Cloud-app

Recommendations
Unique identifier of the product recommendations used in a message. It is available for 'send' events only.

Email, SMS, WhatsApp, Push, In-app, Cloud-app

clk_​elmt
Identifier of the clicked element on an in-app modal.

In-app

is_​global

  • true indicates that the user is a member of the global control group.

  • false indicates that the user is a member of the campaign control group.

Email, SMS, WhatsApp, Push, In-app, Cloud-app

clk_​url
Identifier of the action or the URL of a page in the app that is launched when a customer clicks on it in an in-app modal.

In-app

preheader_​text
The raw pre-header text of the email. This can include Liquid syntax.

Email

rendered_​preheader_​text
The rendered pre-header text of the email as received by the end user. This does not include any Liquid syntax. It is available for 'send' events only.

Email

email_​subject
The raw subject line of the email. This can include Liquid syntax.

Email

rendered_​email_​subject
The rendered subject line of the email as received by the end user. This does not include any Liquid syntax. It is available for 'send' events only.

Email

from_​name
The "from" name in an email. This can include Liquid syntax.

Email

rendered_​from_​name
The rendered "from" name in an email as received by the end user. This does not include any Liquid syntax. It is available for 'send' events only.

Email

from_​address
The "from" address in an email. This can include Liquid syntax.

Email

rendered_​from_​address
The rendered "from" address in an email as received by the end user. This does not include any Liquid syntax. It is available for 'send' events only.

Email

reply_​to_​address
The "reply_​to" address in an email. This can include Liquid syntax.

Email

rendered_​reply_​to_​address
The rendered "reply_​to" address in an email as received by the end user. This does not include any Liquid syntax. It is available for 'send' events only.

Email

sms_​type
The type of message sent - SMS or MMS.

SMS

sender_​from
The "sender" for an SMS. This can include Liquid syntax.

SMS

rendered_​sender_​from
The rendered "sender" that the user sees in an SMS. This does not include any Liquid syntax. It is available for 'send' events only.

SMS

sms_​message
The contents of the SMS or MMS message. It is available for 'send' events only.

SMS

sms_​parts
The actual number of SMS messages that you will be billed for by the carrier. They are calculated based on SMS message character limits.
​Note: SMS Parts data is available only for the sent event.

SMS

sms_​subject
The subject line for an MMS message. It is available for 'send' events only.

SMS

media_​url
The URL of the media attachment in an MMS message. It is available for 'send' events only.

SMS

click_​type
The source of a click in a WhatsApp message. Available for "click" events only. Values:

  • body_​link: a URL in the message body injected via a variable.

  • cta_​button: a dynamic URL CTA button.

  • quick_​reply_​button: a quick reply button tap.

WhatsApp

opened_​by
Available for "open" events only.

For emails (refer to the note), it can have one of the following values:

  • prefetch: if the email was automatically opened or downloaded by the email client. For example, AppleMail on iOS15+ devices.

  • proxy: if the email was opened by a proxy server.

  • user: if the email was opened by a human user. For example, a user on a non-Apple device.

For in-app messages, it can have one of the following values:

  • prefetch: if the message was automatically displayed to the user in the app.

  • user: if the user manually tapped to open the message from their inbox.

Email, In-app

clicked_​by
Available for "click" events, if you have enabled the bot click filtering feature for your account.

It can have one of the following values:

  • bot: if the link was accessed by a bot.

  • user: if a real human user clicked on the link.

Email, SMS

cf_​bot_​score
​
Available for "click" events, if you have enabled the bot click filtering feature for your account. It has a value of 1 to 99. Values of 1 are verified bots and lower values are more likely to be bots. Any bot score that is less than 30 will usually have a clicked_​by value of "bot".

Email, SMS

bot_​reason
​
Available for "click" events, if you have enabled the bot click filtering feature for your account. This field only will appear if a click_​by is "bot". It contains a short description of why a click was determined to be a bot click. It can have values such as "scored by Cloudflare" (bot score was less than 30) or describe an internal rule that automatically marked a click as a bot.

Email, SMS

ja3
​
Available for "click" events, if you have enabled the bot click filtering feature for your account. The JA3 hash is a method for fingerprinting the client making the request that was developed at Salesforce.

Email, SMS

ja4
​
Available for "click" events, if you have enabled the bot click filtering feature for your account. The JA4 is another method for fingerprinting the client.

Email, SMS

unsubscribe_​source

Available for "unsubscribe" events only. It can have one of the following values:

  • blueshift: if the end user unsubscribed using your custom unsubscribe link and the unsubscribe activity was processed by Blueshift.

  • esp: if the end user unsubscribed using your custom unsubscribe link and the unsubscribe activity was processed by the ESP.

  • header_​http: if the end user unsubscribed using list-unsubscribe header and the unsubscribe activity was processed by Blueshift using the HTTP workflow.

  • header_​mailto: if the end user unsubscribed using list-unsubscribe header and the unsubscribe activity was processed by Blueshift using the mailto workflow.

Email

subscription_​group_​id
​
The identifier of the subscription group associated with the campaign activity. This is logged when the activity involves subscription groups' updates (for example, subscribe or unsubscribe actions).

Email, SMS, Push, In-app

subscription_​group_​subscribed
The subscription status for the group: true (subscribed) or false (unsubscribed).

Email, SMS, Push, In-app

price_​per_​message
​
The cost of sending an SMS if you use Infobip as your SMS adapter with Blueshift.

SMS

currency
The currency of the cost of sending an SMS if you use Infobip as your SMS adapter with Blueshift.

SMS

bsft_​template_​version
The version of the template used in the email.

Email

bsft_​link_​index
Identifies the instance of the URL when the same URL is used in multiple locations in the template.

Email

phone_​number
The phone number associated with the campaign activity is formatted with the country code (e.g., +11234567890). Relevant for SMS campaigns and can also be logged across other channels for tracking or identification purposes.

Email, SMS, WhatsApp, Push, In-app, Cloud-app

custom_​user_​identities
JSON-encoded custom user identifiers provided by the customer. For example: {"salesforce_id": "S123", "magento_id": "M456"}. These exclude redundant identifiers such as customer_​id, email, or phone_​number.

Email, SMS, WhatsApp, Push, In-app, Cloud-app

link_​position_​id
​
A position identifier assigned to each rendered link in an email template, starting from 1 and incrementing sequentially. This helps track link placement and customer interactions when multiple links are present. The identifier is included in the campaign activity reports and can be tracked via S3, Snowflake, Databricks, and Google BigQuery.
​
​Note: This attribute is not enabled by default. Please contact [email protected] to have it enabled.
​
Sample JSON format: "link_position_id": "2"

Email

Understanding the user_agent attribute in email open events

The user_agent attribute in an email open event provides details about the email client used to open the email. It helps determine whether the email was opened by a user, prefetch system, or a proxy server.

How user_agent data is returned

  • User open: The full user_agent string is returned, including details about the operating system, browser, and version.
    Example: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0

  • Prefetch open: Only the user agent information is returned, without full device details.
    Example: Mozilla/5.0

  • Proxy open: No user_agent data is returned.

The User-Agent request header is a characteristic string that servers and network peers use to identify the application, operating system, vendor, and/or version of the requesting client.

Sample data

Here’s some sample data:

Field

Example 1

Example 2

trigger_​timestamp

2018-06-21T07:08:18+00:00

2018-06-21T07:08:52+00:00

trigger_​type

EmailTrigger

EmailTrigger

experiment_​uuid

153811c3-16b5-4ca9-9ba5-6a0e50a606b2

153811c3-16b5-4ca9-9ba5-6a0e50a606b2

user_​uuid

69d56862-049f-405d-b162-ea457fd11ea8

69d56862-049f-405d-b162-ea457fd11ea8

retailer_​customer_​id

C12345

C12345

email

action

sent

delivered

event

extended_​attributes

{““campaign_​exec_​term””: ““transactional””,
​
““execution_​key””: ““20180621070805””,
​
""message_​uuid"":""8e5b8e0f-9a7a-48ea-9e49-8913ffe20334"",
​
""transaction_​uuid"":""3c8eb39f-f0c2-406b-9fdd-2cba76de3fbc"",
​
""utm_​campaign"":""my_​campaign""}

{""message_​uuid"":""8e5b8e0f-9a7a-48ea-9e49-8913ffe20334"",
​
""transaction_​uuid"":""3c8eb39f-f0c2-406b-9fdd-2cba76de3fbc"",
​
""sg_​message_​id"":""wa8jzQcqSnWUMFlHLKavWA.​filter0611p1iad2-11282-5B2B4EE2-9.​0"",
​
""utm_​campaign"":""my_​campaign""}

trigger_​uuid

1244a2ad-f23d-4422-85b3-be2954eb11b6

1244a2ad-f23d-4422-85b3-be2954eb11b6

campaign_​uuid

a20a33f7-8e05-4742-bc75-60ffe6da7d2c

a20a33f7-8e05-4742-bc75-60ffe6da7d2c

merged_​from_​user_​uuid

creative_​uuid

c8b47d68-db9b-4d71-b198-9e9f6fa94f98

c8b47d68-db9b-4d71-b198-9e9f6fa94f98

uuid

1e5b8e0f-9a7a-48ea-9e49-8913ffe20334

4293e8a4-d167-47e0-a4cc-883c176824d8

execution_​key

2018-06-21T07:00:00Z

2018-06-21T07:00:00Z

message_​uuid

8e5b8e0f-9a7a-48ea-9e49-8913ffe20334

8e5b8e0f-9a7a-48ea-9e49-8913ffe20334

phone_​number

+11234567890

001234567890

custom_​user_​identities

{"shopify_​id": "SH12345", "loyalty_​id": "LY98765"}

{"zendesk_​id": "ZD45678", "hubspot_​id": "HS87654"}

subscription_​groups

{ "subscription_​group_​id": "newsletter", "subscription_​group_​subscribed": true }

{ "subscription_​groups": [ { "id": "newsletter", "subscribed": true }, { "id": "promotions", "subscribed": false } ] }

Did this answer your question?