Blueshift can export a campaign activity each time your customer interacts with a marketing message. Notifications are sent to the destination set in the Send notifications to field and can be, mParticle, Mixpanel or a Custom webhook URL. Our platform sends a notification when your customer opens, clicks, or unsubscribes to marketing messages, or if marketing messages bounce or get delivered. You can use this to update analytics or route the data to other partners you may be using.

A batch of these notifications is created every 1 minute.

Note: Notification batches are not created if you disable the exporting of campaign activities. Campaign activity updates are not queued and are discarded. You can still download campaign activities as campaign reports.

Setting up campaign activity exports

In order to export campaign activities, go to the Campaign Activity Export tab in Account Settings and set up the required configurations.


Field Description
Event Triggered Campaign Status Notifications

Set to enabled to send execution details for event triggered campaigns.

The data is sent to URL set in the Execution Status Webhook URL field.

Execution Status Webhook URL

Specify the URL to which the execution details for event triggered campaigns must be sent.

Messaging Event Notifications Set to enabled to send selected events in real time to the destination set in the Send Notifications to field.
Send Notifications to

Select the destination to which events data is to be sent. You can set the destination as one of the following options:

  • Custom webhook URL
  • mParticle
  • Mixpanel

Webhook URL

The URL to which messaging events details are sent when a new event like open, click, bounce and so on, occurs for a message sent using any campaigns from Blueshift.


Select the type of authentication as None or Basic HTTPS.
Username The username if the Authentication is set as Basic HTTPS.
Password The password if the Authentication is set as Basic HTTPS.
Select events you want to export Select the events that you want to export.


Ensure that you Save your settings. This is how the notification content looks if the payload of the webhook callback is batched.

"batch": [
    "campaign_name":"Abandoned cart",
    "user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:49.0) Gecko/20100101 Firefox/49.0",


This is a sample JSON and the actual JSON that you receive may look slightly different. 

We can add attributes to the JSON in the future.


Here are the attributes that are sent in the JSON of the webhook notification:

name description type
trigger_timestamp Time of the action in iso8601 UTC Timestamp

Type of the trigger

EmailTrigger: Email channel

PushTrigger: Push channel

SmsTrigger: SMS channel

OnsiteTrigger: Live website channel

WebhookTrigger: Cloud App channel

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.
user_uuid unique Blueshift generated user uuid for the user. String
retailer_customer_id customer_id of the customer as passed into Blueshift via API or CRM upload. String
email email identifier of the customer String

User campaign activity action. The action is set to attribution when a goal events 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 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

- unsubscribed: User clicked unsubscribed

- spam_report: User reported email as Spam

- visit: User session/visit attributed to campaign


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


extended_attributes JSON encoded Metadata for the message - includes  "message_uuid" which uniquely tracks all the 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 specifies the campaign name.
For more information, see Campaign Tracking Parameters
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 in the campaign creation page.
campaign_uuid UUID of the Campaign. This corresponds to the UUID of the campaign from the URL.
Example: if the campaign url is:,
the corresponding uuid will be 2df5aa31-3261-4354-8395-53c76a4cec9c
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:,
the corresponding uuid will be 4290936f-9223-40d2-8bcf-60ffa7e8d1d7
uuid UUID for this action String
execution_key Campaign execution time


message_uuid UUID of the message sent



Extended attributes

The extended attributes provide 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 its own attributes that are added in the extended attributes field of the report. The table below provides the extended attributes of the following campaign types:

  • One Time
  • Recurring
  • Segment triggered
  • Event triggered
  • API triggered
Parameter Email SMS Push In-app Cloud-app
(Unique identifier of the recommendation algorithm that is used to generate product recommendations in a template.)
✓  ✓  ✓  ✓  ✓ 

campaign_exec_term (The term that indicates the campaign type and behavior. For example, one-time or recurring.)

 ✓ ✓  ✓   ✓  ✓


(Unique identifier of the message that is sent to your customers)

 ✓ ✓   ✓  ✓

(Unique identifier of the transaction if a message sent as a part of a campaign is also a part of a transaction.)

 ✓ ✓     

(Unique identifier of the product that is sent in a campaign)



✓  ✓       

(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.)

 ✓  ✓    

(Indicates the type non-ASCII components of a message.)


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

utm_source (The source of traffic to your service. For example, Blueshift.)      
utm_campaign (Your campaign's name.)
utm_medium (The channel on which a message was sent to your customer. For example, email.)
utm_content (Optional parameter to include information such as details on an A/B test.) ✓ 
utm_term (Optional parameter to include keywords that optimize search based ads.) ✓  ✓  ✓  ✓  ✓ 
sending_ip (The IP address that your email service provider uses to send messages.)      
ip_pool (The pool of IP addresses from which your email address provider picks an IP address to send emails.)        
sending_domain (The domain that your email service provider uses to send emails.)        
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.)        
subaccount_id (ID of the account you create for Blueshift in Sparkpost or Sendgrid to send emails.)        
friendly_from (The email address that we use to send emails to your customers.)        
(The date and time of the execution of a step in a campaign.)
 ✓      ✓
(Unique identifiers of the products sent in a message)
(Products sent in a message)
bsft_link_url  ✓      
(Content type of the message sent through a cloud app. For example, custom JSON.)
(Template used for a message.)
(Unique identifier of the product recommendations used in a message. It is available for 'send' events only.)


(Identifier of the clicked element on an in-app modal)



(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.)



(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)


(The pre-header text of the email.)



(The subject line of the email.)


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



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

(The version of the template used in the email.)

(Identifies the instance of the URL when the same URL is used in multiple locations in the template.)


For event triggered campaigns, the extended attributes can also show the whitelisted event attributes. Reach us on to enable this feature.

Was this article helpful?
0 out of 1 found this helpful



Please sign in to leave a comment.