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?