Export campaign activity data

Blueshift can export a campaign activity each time your customer interacts with a marketing message. Notifications can be sent to Segment.com, mParticle, Mixpanel or a Custom webhook URL. Blueshift sends a notification when the 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.

  Note

A batch of these notifications is created every 1 minute.

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.

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

Export campaign status notifications

You can export execution details for event triggered campaigns to a webhook by completing the following settings.

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.

campaign_status_export.png

Export selected campaign activity data

Export selected campaign activities by completing the following settings and selecting the events to export.

Field Description
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
  • Segment.com
  • 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.

Authentication

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.

account_settings_may23.png

  Note

For SMS channels, the Inbound Message events are available only if you are using Blueshift Full Service SMS offering or if you are using Sinch as your SMS provider. For more information, see 2-way SMS messaging.

This is how the notification content looks if the payload of the webhook callback is batched.

{
"batch": [
    {  
    "action":"open",
    "bucket_uuid":"e211ea94-8da6-43a5-b95b-c21ccfe4568c",
    "campaign_exec_term":"on_going",
    "campaign_id":"0835fbbb-4059-4172-bebc-6aafdaa7b44f",
    "campaign_name":"Abandoned cart",
    "campaign_uuid":"0845bbbb-4059-4172-bebc-6aafdaa7b44f",
    "creative_uuid":"a533de05-1a32-4312-80da-7c5893fbd5a5",
    "customer_id":"12345",
    "email":"username@domain.com",
    "event":"open",
    "experiment_uuid":"ac09f565-9bd9-4f72-b5ea-6a143516f1f4",
    "ip":"198.234.218.145",
    "message_uuid":"3543b535-29ad-4144-a749-2340a5c694f0",
    "trigger_timestamp":"2016-11-22T06:50:14+00:00",
    "trigger_type":"EmailTrigger",
    "trigger_uuid":"577a52f6-0678-4aa2-80f9-f819395aba07",
    "user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:49.0) Gecko/20100101 Firefox/49.0",
    "user_uuid":"9a4df219-e42c-4913-a3d9-917e9fb4dd6d",
    "utm_campaign":"abandoned_cart",
    "utm_content":"product-banner",
    "utm_medium":"email",
    "utm_source":"blueshift",
    "utm_term":null
    },
    ...
    ]
}

  Note

This is a sample JSON and the actual JSON that you receive may look slightly different. Other attribute might also be added to the JSON in the future.

Export all campaign actions

Blueshift also exports all the raw campaign actions (sent, delivered, opened, and so on) from your campaigns in the form of campaign activity reports which give you lots of valuable information to track and measure the performance of your campaigns. These reports are exported to Amazon S3. You can also export these reports to your Snowflake account.

Data in campaign activity reports

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

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
  • OnsiteTrigger: Live website channel
  • WebhookTrigger: Cloud App channel
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 Customer ID of the customer as 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 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 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
  • unsubscribed: User clicked unsubscribed
  • spam_report: User reported email as Spam
  • visit: User session/visit attributed to campaign
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 - 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
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 in 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

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 its own attributes that are added in the extended attributes field of the report.
  • 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. Contact support@blueshift.com to enable this feature.

Parameter Email SMS Push In-app Cloud-app
account_algorithm_uuid
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.
 ✓ ✓  ✓   ✓  ✓
message_uuid
Unique identifier of the message that is sent to your customers.
 ✓ ✓   ✓  ✓
transaction_uuid
Unique identifier of the transaction if a message sent as a part of a campaign is also a part of a transaction.
 ✓ ✓     
product_uuid
Unique identifier of the product that is sent in a campaign.
       
bsft_click_uuid ✓  ✓       
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.
 ✓  ✓    
mime_type
Indicates the type non-ASCII components of a message.
       
url
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.
       
execution_key
The date and time of the execution of a step in a campaign.
 ✓      ✓
product_ids
Unique identifiers of the products sent in a message.
       
products
Products sent in a message.
✓         
bsft_link_url      
cloud_app
Content type of the message sent through a cloud app. For example, custom JSON.
       
template
Template used for a message.
       ✓
Recommendations
Unique identifier of the product recommendations used in a message. It is available for 'send' events only.
clk_elmt
Identifier of the clicked element on an in-app modal.
       
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.
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.
       
preheader_text
The raw pre-header text of the email. This can include Liquid syntax.
       
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_subject
The raw subject line of the email. This can include Liquid syntax.
       
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.
       
from_name
The "from" name in an email. This can include Liquid syntax.
       
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.
       
from_address
The "from" address in an email. This can include Liquid syntax.
       
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.
       
reply_to_address
The "reply_to" address in an email. This can include Liquid syntax.
       
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.
       
sms_type
The type of message sent - SMS or MMS.
       
sender_from
The "sender" for an SMS. This can include Liquid syntax.
       
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_message
The contents of the SMS or MMS message. It is available for 'send' events only.
       
sms_subject
The subject line for an MMS message. It is available for 'send' events only.
       
media_url
The URL of the media attachment in an MMS message. It is available for 'send' events only.
       
opened_by
Available for "open" events only.

For emails1, 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.
     
price_per_message
The cost of sending an SMS if you use Infobip as your SMS adapter with Blueshift.
       
currency
The currency of the cost of sending an SMS if you use Infobip as your SMS adapter with Blueshift.
       
bsft_template_version
The version of the template used in the email.
       
bsft_link_index
Identifies the instance of the URL when the same URL is used in multiple locations in the template.
       

1Note: The user_agent attribute in an email open event provides information regarding the email client that was used to open the email and is used to determine if the email was opened by a user, was a prefetch open, or was opened by a proxy server. The User-Agent request header is a characteristic string that is used by servers and network peers to identify the application, operating system, vendor, and/or version of the requesting user agent.

  • For a user open, the full user-agent attribute is returned. For example: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0
  • For a prefetch open, only the User Agent information is returned. For example: Mozilla/5.0
  • For a proxy open, no user_agent information is returned.
Was this article helpful?
0 out of 1 found this helpful

Comments

0 comments

Please sign in to leave a comment.