DataDocs for Campaign Manager

This article will walk you through the settings and how to use placeholders and segment splits in Campaign Manager using DataDocs.

Basics

When you want to use DataDocs in Journeys or Campaign Manager you need to point out the documents you want to use for the flow at the start. The targeted documents for each contact will be available for placeholders (to render content) throughout the flow *. 

Please note that filtering of documents only is available in Journeys and Campaign Manager. 


For starters triggered by the API, you must include the documents in your call.

For all starters run by a segment, you will target the documents on DataDocs filter.

Important! The starter segment will target your specific contacts and the DataDocs filter will fetch all your filtered documents and store these for each contact for your whole flow.

You can choose to also include your filter conditions to your starter segment but be aware of that all conditions in your filter in that case must match a contact. I.e. depending on your flow, you might need to build one segment that includes DataDocs and mirror these in the filter.

Placeholders

To render data you will refer to documents:

{{#documents}} Welcome to {{event}}! {{/documents}}

Every document that is pointed out by the filter in the starter will be rendered, i.e. if two documents are found, above would render:

Welcome to Mongoose FC - Pumba FC

Welcome to Circus Salsa

 

If your document filter targets multiple documents but you only want to print out the first or last added document for a contact you can use

  • {{#if @first}}
  • {{#if @last}}
{{#documents}}{{#if @last}}Your level={{level}}{{/if}}{{/documents}}

You can also target documents by different values by using the helper #when:

{{#documents}}
{{#when points ">=" 1}}{{#when points "<=" 250}}Membership: SILVER{{/when}}{{/when}} 
{{#when points ">" 250}}{{#when points "<=" 500}}Membership: GOLD{{/when}}{{/when}}
{{/documents}}

If your filter is pointing out documents from different document types and you want to render these differently you can specify different content by the type id:

{{#documents typeId="38"}}Welcome to {{event}}{{/documents}}

{{#documents typeId="39"}}Your support ticket #{{ticketId}} is {{ticket.status}}.{{/documents}}

Welcome to Mongoose FC - Pumba FC

Your support ticket #ABC-123 is in progress.

The filtered documents will be rendered as they were when entering the flow, even if the documents have been updated.

If you, later on, may have updated the documents and want to render the updated version, you use the helper snapshot="CURRENT":

{{#documents snapshot="CURRENT"}} Your issue #{{tickedId}} is {{ticket.status}}. {{/documents}}

Your support ticket ABC-123 is solved.

 

To render data in an JSON object, you simply write the entity_name.attribute_name, for example:

{{event_details.location}}

 

You can of course transform your data using handlebar helpers:

{{date "MMMM d" event_date}}

 

Segment splits

If a contact has entered a flow with data that has been updated during the trip, the handlebars will still show the entering data (if not stated otherwise). However, segment splits will always evaluate the conditions based on the current data. This means that you can set up segments splits to determine the rest of the flow based on your updated data. 

Example campaign

This campaign will target specific contacts on the Swedish market with an offer to upgrade their current membership.

The starter segment targets all contacts who should enter the campaign.

 

In addition to the main segment, some DataDocs conditions should match to allow entering the campaign.

In this case, these conditions are the same as the ones needed to print placeholder data in the sendouts. This means we can simply add the conditions on DataDocs filter level and enable the filter to be used in the segment (and we don't need to build the rules twice: one for the segment and one for the filter).

 

The DataDocs conditions needed for this campaign are:

  • the memberships that should be upgraded are called Active1000 or Active2000
  • payment is done monthly
  • the status of the membership is active

If a contact has multiple documents matching the condition, all documents will follow the contact in the campaign.

Content with placeholders

The emails in the campaign will include an offer and a reminder to those who have not yet taken the offer:

 



One week later, all contacts that have not yet upgraded their membership, should get a reminder.

To do that we add a segment split, checking the original state of the documents for each contact, and target those with still active, monthly running Active1000 or Active 2000 memberships (excluding
those where status at this point is not active).

And add the reminder email step.

 

* Since the specific documents for each contact already are fetched by the starter, no content segment is needed for rendering the correct data. If you are used to working with content segmentation and placeholders for Purchase history, this is a game changer. 

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