Shared Storage Component

With the Shared Storage component you can set and update global variables that can be used in one or more journeys. 'System' shared variables can be used in every journey, while a 'campaign' shared variable only is accessible in the journey you have created it. There are 5 levels: System, List, Campaign, Cookie, Databuffer.

Shared variables are global variables, they cannot be used for individual contacts. For instance to temporary store a contact's answer, to use later on in the journey. If the next contact comes along, the value of the (global) shared variable is overwritten. When you access the shared variable's value later on in the journey for the first contact, it can hold the value of the second contact.

To use shared variables you must load them in the journey (see below), they are not loaded by default.

Other Shared Storage components can ADD or SUBSTRACT values from a previously set numericshared variable. E.g. a counter that is updated during the course of a journey.

In this example a shared variable PROMOCODE is only used in this journey and nowhere else. The scope is CAMPAIGN. The developer will set it once, and it's value "SPRING20" can be used on this journey pages and email by using ~CAMPAIGN.PROMOCODE~ (in the Editor). In other components, e.g. the data components, CAMPAIGN.PROMOCODE (without tildes) can be used to store the value "SPRING20".
The developer sets the shared variable with an Input component, the Shared Storage component and a result page. The value is set by previewing the Input component in 'Test' mode and clicking the 'GO' button. The result page simply uses ~CAMPAIGN.PROMOCODE~ to display the shared variable's value. The Preview panel's 'Logging' on the right side shows the shared variable has been set. Its value can now be used elsewhere in the journey only (scope is CAMPAIGN). IN the journeys properties "Load shared variables" is checked.




Another example: You need to create several journeys about a contest. But the contests start date is not certain yet. Teaser emails must be sent, but as long as the contest has not started yet, the clicks in the teaser emails must go to a teaser landing page. Once the contest goes live, all clicks in the emails must go to the contest's landing page. You do this with a Decision component in each journey, checking if the start date has been reached. Instead of updating the fixed date in each Decision component in each journey, you set a shared variable CONTESTNAME_START_DT in a separate journey on LIST level (scope). This journey uses the same audience list as the other contest journeys, Because the level is LIST, all journeys using the same audience list can use the shared variable (that's why its name is CONTESTNAME_START_DT) All Decision components in the contest journeys check this shared variable's value instead of a fixed date, using LIST.CONTESTNAME_START_DT. When the contest start date changes, you only have to reset the date in the one journey, instead of in all other contest journeys. In all the contest journeys properties "Load shared variables" is checked




 

Events

The Shared Storage component triggers one event:

  • OnSucces: when the shared variable has successfully been set, added or subtracted, the trigger passes to the next component in the journey.

Properties

1. Enter a description  for the variable

2. Enter a constraint for the variable (optional). Press the […] button to access the Constraint editor.

Example: AGE>12

3. Enter a scope for the variable. Options are:

  • CAMPAIGN: the shared variable's value is only used inside this journey, nowhere else. Access the variable's value with CAMPAIGN.VARIABLENAME in the journey. ~CAMPAIGN.VARIABLENAME~ on the journey's pages and emails (in the Editor)
  • SYSTEM: the shared variable's value is used in all journeys in Selligent Campaign. Access the variable's value with SYSTEM.VARIABLENAME in journeys. ~SYSTEM.VARIABLENAME~ on pages and emails (in the Editor)
  • LIST: the shared variable's value is used in all journeys that uses the same audience list. Access the variable's value with LIST.VARIABLENAME in the journey using the same audience list. ~LIST.VARIABLENAME~ on the pages and emails (in the Editor) for journeys using the same audience list.
  • COOKIE: the shared variable is stored in a cookie on the contact’s computer. A name can be defined for this cookie and used later on. This is rarely used, as it depends on the contact's computer security and browser settings. Access the variable's value with COOKIE.VARIABLENAME in the journey. ~COOKIE.VARIABLENAME~ on the journey's pages and emails (in the Editor)

When using a cookie as shared variable, no content renderer can be used in the journey because the cookie won't get passed along.

  • DATABUFFER: The shared variable is added to the memory. As the data is loaded into memory, it is only available during one request. Until the next page, after this page the data is gone (just like a posted value from a form). The value can be accessed using ~VARIABLENAME~

4. Enter a name for the variable IN CAPITALS. This name will be used throughout the list, system, ... depending on the scope defined.

5. Select an operation for this shared variable component. Options are:

  • SET: set the variable to a value. A shared variable must be set manually, with a click in a journey.
  • ADD: add a value to the variable. E.g. a counter
  • SUBSTR: subtract a value from the variable. E.g. a counter

6. Enter a value to be used. For textual values use single quotes, e.g. 'SPRING20'. You can also use the  contact's profile values or other system variables.

Important:
To use a shared variable in a journey, it must be loaded. Shared variables are not loaded by default. Check 'Load shared variables' in the properties of the journey, under 'Advanced'.  The variables that will be loaded are:

  • All system shared variables
  • All shared variables defined on the same audience list
  • Shared variables defined in this journey
  • Cookie variables
  • Databuffer shared variables during one request when passing the Shared Storage component

1.     Back