Custom Campaign Tracking

Custom Campaign Tracking allows you to add custom event attributes to be tracked in the campaign events for all statuses of the campaigns. It helps you to categorize, tag or add any needed data to your campaign events in order to do analyzes more easily, enable cross tool data stitching and consistency.

How it works

You can define custom attribute names and values that will be added to every campaign event which was generated by that particular campaign from enqueued to click events in the campaign or action node Settings. Custom campaign tracking is supported for most of the channels that generate campaign events such as SMS, Mobile and Push Notifications, Webhooks and Emails (Transactional emails as well).

📘

Mobile push notifications support

The following (or higher) SDKs versions are needed for this feature to work for all mobile push notifications events: Android v2.9.5, iOS v2.11.2 , React Native v0.5.2.

Configuration

You can configure custom campaign tracking on two levels:

  • On the project level where the project default custom campaign tracking is done through Project Settings with various configurations,
  • On the campaign level where you configure each individual campaign settings or action node settings.

Except for a few cases, Jinja is supported as a value of a custom campaign tracking attribute. See below for limitations.

Project Level Settings

To access Project Level settings, go to Campaigns -> General -> General Campaign settings -> Custom campaign tracking. The configuration of default custom tracking on the project-wide level will be prefilled upon campaign creation in the campaign settings.

The settings available per each custom tracking attribute on the project level are Custom attribute name, Attribute value type, Default value, Apply to, Required field and Editable.

Custom attribute name
It is a name of the attribute, e.g. Campaigns type. It will be used in the event in a normalized form (lowercase, underscore instead of space) and with an added prefix c_ to avoid conflicts with the system defined attributes. For example, Campaign type will be tracked as c_campaign_type.

Attribute value type
It defines the type of a field that the attribute will create in the campaign settings. There are two value types, Custom value and Predefined values. Custom value creates a standard text input to define any attribute value on the campaign level. Predefined values create a selected box of the list with the predefined values on the campaign level that you can select from. Those predefined values can be any custom values defined by you in the project setting field Values. The examples of the values are “Newsletter”, “Welcome series”, “Loyalty program'', “Sale” etc.

Here is a visualization of settings for Attribute value type through the Predefined values on project level where after saving the setting, those same Attribute values are available on campaign level as well.

Default value
Default value will be used to prefill the attribute for new campaigns in the campaign settings. It is based on the attribute value type which allows you to input any text value or you can select one of the predefined values as default.

Apply to
This setting defines which channels should the default attribute be applied to, either for selected specific channels or all of them.

Required field
Attributes marked as required must be filled in on the campaign level in order to start the campaign. The attribute name cannot be changed.

Editable
The name and value of attributes marked as not editable cannot be changed and are fixed on the campaign level. Default value must be provided for attributes marked as not editable. The attributes are marked as editable by default.

Campaign Level Settings

To adjust custom campaign tracking on the campaign level, go to the Settings tab in the campaign or action node.

Upon campaign creation, the custom tracking setting is pre-populated based on the current project level settings. You can also add additional local custom attributes just for the particular campaign providing the attribute name and value. Attribute names will be normalized such as lowercase, underscore used instead of space and c_ prefix.

In case of the pre-populated attributes based on the project settings, depending on the project settings configuration you can edit the attribute name and fill in the value either as a text input or select a predefined value from a dropdown menu. Values for attributes marked as required must be provided before saving the campaign and their attribute name cannot be changed after that. If attributes are marked as not editable, both attribute name and value cannot be changed.

Update from project settings

Changes made to project level settings are not reflected in already existing campaigns, they are only used when a new campaign is created or can be applied on demand using the Update from project settings button. Using this option will apply the current project level default attributes to the existing campaign using the following rules:

  • Existing attributes are updated and not reseted. You should keep the filled in value if possible.
  • Based on the change type of the project setting, the following will happen
    • If you add new attributes, those attributes will be added to the campaign.
    • If you remove an attribute, the attribute will stay in the campaign settings. However, all previous settings such as Required or Editable will be removed.
    • If you change the attribute name, a new attribute will be created.
    • If you change a configuration (e.g. required, editable, apply to, …), the new configuration will be applied.
    • If you change a default state of the settings, it will keep the existing value.
    • If you change type custom/predefined, it will reset type and default as well.
    • If you update the predefined values list, it will update the list of predefined values which are offered to be selected from in the settings.
    • If the originally selected value is removed from the list, the select box is set to default value or “not set”.

🚧

If there is a conflict in names of attributes, meaning the attribute was defined only on the campaign level and now the same attribute name was defined in the project settings, the global attribute configuration from project settings will overwrite the local campaign attribute, e.g. as it is of a different type.

Custom tracking in Email templates & Transactional emails

Custom tracking attributes in email templates are defined in the Settings tab of the template. This means that in order to use custom attributes, Template settings have to be allowed. Once allowed, you can define your custom attributes (update them from project settings) as well as custom headers.

Custom campaign tracking is supported for transactional emails in two ways:

  • configuring them within the Settings of the used Email template
  • sending them as part of the API

This means the user is able to specify email settings in email templates and also in the transactional requests. Possible discrepancies are handled in the following way: Request settings have a higher priority and will override the template settings.

Limitations

  • Max. 20 custom attributes defined in project settings
  • Max. 20 custom attributes defined per campaign in campaign settings
  • Length of the attribute values (per item in a list) is max. 1000 characters including rendered jinja. If the limit is exceeded, the value is cut and ‘...’ are added
  • Length of the attribute name is max. 100 characters
  • Max. 100 distinct predefined values per one custom attribute
  • The overall 256 limit on the attributes per events needs to be kept in mind
  • Adding custom attributes to emails via Jinja can enlarge the links for open and click tracking

Jinja support

Jinja is supported for most of the campaign event types, but there are some exceptions where jinja will not be rendered due to technical limitations.

Jinja with the following accessors will not be rendered (present in the events) for events of status “suppressed” or ”enqueue_failed” caused by frequency policy, cumulative bounce and list hygiene filter:

  • customer, customer_ids, aggregates, segmentations, expressions, predictions, recommendations, metrics, snippet, reports, report_value_by_key, vouchers

Updated 5 days ago

Custom Campaign Tracking


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.


We rely on cookies

to optimize our communication and to enhance your customer experience. By clicking on the Accept and Close button, you agree to the collection of cookies. You can also adjust your preferences by clicking on Manage Preferences. For more information please see our Privacy policy.

Manage cookies
Accept & close

Cookies preferences

Accept & close
Back