Table of Contents

Introduction

Track & Trigger is an Optimove add-on product that captures realtime customer and visitor activity in websites and apps, in order to enrich customer segmentation and to deliver highly personalized messaging in immediate response to user activity.

By turning live user events into actionable data, Track & Trigger enables you to perform the following functions:

  • Track on-site and in-app activity of individual users, both unidentified visitors and recognized customers.
  • Target users and personalize their messaging based on their activity.
  • Serve personalized realtime messages that are triggered by specific user behavior.

Implementing Track & Trigger

The initial step in implementing Track & Trigger is scheduling a kick-off call with Optimove’s Product Integration Team to ensure the smoothest process possible.

Following the call, you can embed the Optimove SDKs in your website and/or mobile apps (iOS and Android native are currently supported).

For detailed information about implementing the various Optimove SDKs, see the following guides:

You can implement any combination of the Optimove SDKs according to your business needs – all events reported from the various SDKs are collected by Optimove into a single pool of events to be used for both user activity tracking and triggering campaigns.

There are four different ways to report customer IDs to Optimove using the SDKs:

  1. Reporting customer IDs that are identical to the customer IDs sent to Optimove in your daily data update process. In this scenario, all customer events reported from your website/app must utilize customer IDs that are identical to the customer IDs included in the daily data update.
  2. Reporting customer IDs that are different than the customer IDs sent to Optimove in your daily data update. In this scenario, the customer records sent from your system to Optimove as part of the daily data update must contain both the customer IDs used to identify customers in the Optimove database, as well as the customer IDs sent from the SDK.
  3. Reporting hashed customer IDs. In this scenario, the customer records sent from your system to Optimove as part of the daily data update must contain both the customer IDs used to identify customers in the Optimove database, as well as the hashed customer IDs that are sent from the SDK.
  4. Reporting encrypted customer IDs to Optimove from the Web or mobile SDKs. In this scenario, you will share with Optimove a decryption key as part of the SDK onboarding process. Optimove will then use this key to decrypt the customer IDs sent from the SDK.

Tracking User Activity

Once the Optimove SDK(s) are properly implemented, your server, website and/or mobile apps can report nearly any event or user action to Optimove for storage, realtime analysis and campaign activation.

The following parameter types are available for use in the SDKs:

  1. String – A series of alphanumeric characters of up to 255 characters in length, using any encoding
  2. Number – Any numeric value, whether an integer or a value containing a decimal point
  3. Boolean – Either true or false (not a string)

Important notes:

  • Event and parameter names are case sensitive.
  • Events and parameters use snake_case as a naming convention. Separate each word with one underscore character (_) and no spaces. (e.g., checkout_completed).
  • All monetary values must be reported in the same currency defined in your Optimove instance (e.g., if your instance is based on US dollars, all monetary event values must be reported in US dollars). Optimove will not perform currency conversions.
  • If your Optimove instance supports multiple languages, all event parameters must use a single default language. This is required in order to maintain a unified set of events.

Web & Mobile SDKs

Out-of-the-Box Event and Data Capture

Upon integration, Optimove’s SDKs will automatically begin collecting and delivering the following out-of-the-box (OOTB) events and user data to your Optimove instance, with no special configuration required:

Visit Information

  • Page visit
  • Page URL/mobile screen name
  • Page category
  • Page title

Device Information

  • Device platform (e.g., Linux)
  • Device type (e.g., Tablet)
  • Device OS (e.g., Android 10)
  • Is native mobile (true/false)

General Usage Information

  • Unique session days per user
  • Number of page views per user
  • Average session time
  • UTM attributes of the first and last sessions

App Information (Mobile SDKs Only)

  • Installed app
  • App opened count per user per day/month
  • Advertising IDs
  • Push notification opt-in/opt-out
  • App-device coupling

Optipush Information (Only Mobile SDKs with Optipush Implemented)

  • Days since last received an Optipush campaign
  • Days since last opened an Optipush campaign
  • Number of Optipush campaigns delivered
  • Number of Optipush campaigns opened

Custom Event and Data Capture

In addition to the OOTB events and data tracking capabilities, with Optimove’s SDK(s) you can set up any custom event you would like to track. Custom event can include up to 50 different parameters.

To set up a custom event, please refer to the guides for Web, iOS and Android SDKs.

Testing the Web SDK Implementation

After setting up your Web events, you can use Optimove’s Web SDK Test Tool to see and debug the data that is being sent from your website to Optimove from the Web SDK. Once launched within a browser window, all events sent to Optimove will appear in the Web SDK Test Tool panel.

For detailed information on how to use the Web SDK Test Tool, click here.

Server-Side Events

The Optimove server-side API allows you to send events that do not necessarily result directly from user activity in your website or mobile app. For example, changes in a player’s deposit balance or changes to a customer’s loyalty point balance.

Enabling Optimove’s Server-Side API

Optimove’s Product Integration Team needs to pre-configure your desired server-side events and their parameters before you can report them using the API. The Team will also help you define the custom events that you will report to Optimove from your back-end environment.

In order to implement server-side events:

  1. Contact your Customer Success Manager (CSM) or other Optimove point of contact to request implementation of the server-side API in your Optimove site.
  2. Define the server-side events and parameters to be supported, in conjunction with the Product Integration Team.
  3. After configuring the events, Optimove’s Product Integration Team will send you:
    • A unique API Token to use for API authentication
    • Event IDs for each server-side event you can report using the API
    • The parameter names and data types that can be included with each configured event
  4. Report events to Optimove by calling the API from your server-side code. For an example of how the events should be sent click here.

Important notes:

  • Server-side events can only be reported for customers (not visitors).
  • Optimove's Web pop-ups cannot currently be triggered by server-side events.
  • Server-side events cannot be used as target group criteria.

Comparison of SDK and Server-Side Capabilities

This table presents a summary of the functional and technical differences between the SDKs and server-side API:

Web and Mobile SDKs Server-Side API
Supported Functionality Event tracking and campaign triggering Event tracking and campaign triggering
Supported Execution Channels
  • Web pop-up
  • Optimail
  • Optipush
  • API
  • Optimail
  • API
  • Optipush
Supported User Types Customers & Visitors Customers & Visitors
Webpage and App Screen Visits Supported Not supported
Device Detection Supported Not supported
Stitching SDK IDs (Visitors to Customers) Supported Not supported
Support for Reporting Back-End/Server-Side Events Server side pushes the event to the client side, to be sent via Web SDK N/A

Server-side and SDK events can be implemented in parallel in your Optimove’s instance. The side-by-side configuration allows you to leverage the benefits from both server-side and client-side events.

When implementing the side-by-side configuration, keep in mind the following:

  1. Visitor target groups can only be targeted by website/mobile events and not by server-side events
  2. Web popups can only be triggered by website events and not by server-side
  3. To trigger mobile push notifications, either via server-side events or website/mobile events, you must have deployed the Optimove Mobile SDK

Supported Execution Channels for Triggered Campaigns

Track & Trigger currently supports the delivery of activity-triggered campaigns via Optimail (email), Optipush (mobile push), webpage pop-up and the Realtime API (for using any campaign delivery channel at your disposal).

Webpage Pop-up

Displaying a personalized and timely webpage pop-up to a customer is a very effective way to influence customer behavior. To serve a webpage pop-up in response to the activated trigger of a triggered campaign, select Webpage Pop-up as the execution channel when setting up the campaign.

For a detailed walkthrough of how to create a webpage pop-up template click here.

There are two ways to display webpage pop-ups on your website:

  1. Optimove will automatically handle the execution and display of the pop-up in your website as part of the Web SDK integration. For detailed information on how to implement this option, click here.
  2. Optimove returns the pop-up HTML for your code to display according to your own popup/banner functionality. For detailed information on how to implement this option, click here.

Important notes:

  • Webpage pop-ups cannot be triggered by server-side events.
  • Webpage pop-ups are not supported as an execution channel of an uncompleted sequence event such as an abandoned cart or incomplete registration.

Optimail

Optimail is Optimove’s native ESP. When Optimail is selected as the execution channel for a triggered campaign, the specified email will be sent immediately when the trigger scenario defined for the campaign occurs.

Optimail also supports email templates that contain a unique indication of an event or other user activity. For example, the template can contain personalization tags referring to the specific product abandoned in a shopping cart (using the parameters that describe the product, as sent with the add-to-cart event). The relevant product data must be included in the last event of the flow, e.g., in the last add-to-cart event sent before the cart was abandoned. Any events and associated parameters can be added to an email template and be managed in Optimail’s Manage Templates page.

To learn more about Optimail, click here.

Optipush

Optipush is Optimove’s native mobile push notifications solution. When Optipush is selected as the execution channel for a triggered campaign, the specified push notification will be sent immediately when the trigger scenario defined for the campaign occurs.

Optipush supports personalization tags in the message or title, using the personalization dropdown. Any events and associated parameters can be included in a push notification template and managed in Optipush’s Manage Templates page.

To learn more about creating Optipush campaigns, click here.

API

When using Optimove’s API as a campaign’s execution channel, Optimove sends a notification to a listener running on your server whenever a campaign has been triggered. In order to use this method, you will need to deploy one or more listeners and register them via the Optimove API function, RegisterEventListener.

Multiple listeners are typically deployed to support multiple channels.

This approach allows you to develop any kind of realtime event handler, using any campaign delivery channel at your disposal.

For additional details, see the RegisterEventListener function in the API User Guide.

Important Note: In order to generate a campaign via the API, Optimove must obtain the customer ID or email address of the visitor. For campaigns triggered via API, you can use any customer target group or the “converted today” visitor target group.

Track & Trigger Use Cases

Example Triggered Campaign Use Cases

Pop-up upon Website Visit

Trigger a personalized website pop-up for visitors, as they enter your website. For example, trigger newsletter or account sign-up pop-ups.

Target Audience Visitors
Platform Support Web
Execution Type Triggered campaign
Trigger Website visit
Execution Channel Webpage pop-up

Here is the triggered campaign flow for a typical newsletter sign-up pop-up:

Trigger and Campaign Setup

In order to execute the pop-up campaign upon a visitor’s first visit day, the following steps are required:

    1. Add code to the relevant places in your website to report a 'page_loaded' event, using the reportEvent() function of the Optimove Web SDK. The structure of this call is reportEvent('page_loaded',params); where params is an object containing the following named parameters and their values:
      • url
      • page_title
      • page_category
      • additional parameters optional
    2. In Optimove’s Manage Triggers page, define a trigger based on this custom event. For example:
      You can use the event parameters to define a more specific trigger. For example, only when a page_loaded event contains a specific page_url, or page_loaded events performed only on the website.
    3. Define two target groups for this campaign. For more information on these target groups, see Creating Behavior-Based Target Groups.
        • First-Time Visitors
        • Returning Visitors
    4. Configure the campaign. You can define identical campaigns for first-time and returning visitors, or address the two groups differently, by assigning a different marketing action, creative or promotion.
      To create the campaign for each target group:

      • Create the webpage pop-up template for the campaign. For information on adding personalization tags to a webpage pop-up template, click here.
      • Define triggered campaigns for both target groups mentioned above, using Page Loaded as the trigger.
      • Select Webpage Pop-up as the execution channel.
      • Specify the date range during which this campaign will run.
      • (Optional) Specify the maximum number of times the campaign may be triggered for eligible visitors.
      • (Optional) Specify the delay (in seconds) for triggering the pop-up (i.e., if a delay of x seconds is specified, the pop-up will appear x seconds after the campaign was triggered).
      • Select a marketing action.
      • (Optional) Select a promotion.
      • Select the pop-up template to use when executing the campaign.

Pop-up Following a Particular Call to Action (CTA)

Trigger a personalized pop-up for visitors during their first visit day, as they click on a CTA button or link in your website. For example, trigger a newsletter or account sign-up pop-up.

Target Audience Visitors
Platform Support Web
Execution Type Triggered campaign
Trigger Clicked CTA
Execution Channel Webpage pop-up

Here is the triggered campaign flow for this type of scenario:

Trigger and Campaign Setup

In order to execute the pop-up campaign, the following steps are required:

  1. Add code in your website to report an event such as 'open_newsletter_popup', in response to a user click on the relevant links/buttons, using the reportEvent() function of the Optimove Web SDK. The structure of this call is reportEvent('open_newsletter_popup',params); where params is an optional object containing any named parameters and their values that are passed to Optimove.
  2. In Optimove’s Manage Triggers page, define a trigger based on this custom event. For example:
    You can use the event parameters to define a more specific trigger. For example, open_newsletter_popup.
  3. Define two target groups for this campaign. For more information on these target groups, see Creating Behavior-Based Target Groups.
    • First-Time Visitors
    • Returning Visitors
  4. Configure the campaign. You can define identical campaigns for first-time and returning visitors, or address the two groups differently, by assigning a different marketing action, creative or promotion.
    To create the campaign for each target group:

    • Create the webpage pop-up template for the campaign. For information on adding personalization tags to a webpage pop-up template, click here.
    • Define triggered campaigns for both target groups mentioned above. For example, using the Open Newsletter Pop-up trigger created above.
    • Select Webpage Pop-up as the execution channel.
    • Specify the date range during which this campaign will run.
    • (Optional) Specify the maximum number of times the campaign may be triggered for eligible visitors.
    • (Optional) Specify the delay (in seconds) for triggering the pop-up (i.e., if a delay of x seconds is specified, the pop-up will appear x seconds after the campaign was triggered).
    • Select a marketing action.
    • (Optional) Select a promotion.
    • Select the pop-up template to use when executing the campaign.

Welcome Journey – First Email

Trigger a personalized email to a registered visitor or known customer following a sign up or specific action, whether from your website or mobile app.

Target Audience Registered visitors and known customers
Platform Support Web, mobile
Execution Type Triggered campaign
Trigger Newsletter sign-up
Execution Channel Triggered email (via Optimail)

Here is the typical flow for a triggered campaign, immediately following a newsletter sign up:

Trigger and Campaign Setup

To execute the registration email campaign, the following steps are required:

  1. Use the registerUser(); function of the Optimove SDK (see Web, iOS or Android) to assign a visitor ID upon registration or to identify the customer.
  2. Add code to the relevant places in your website and/or mobile application to report an event, such as newsletter_registration, using the reportEvent(); function of the Optimove Web, iOS or Android SDK. The structure of this call is reportEvent('newsletter_registration',params); where params is an object containing the following named parameters and their values:
    • first_name
    • last_name
    • email
    • opt_in
    • additional parameters optional
  3. In Optimove’s Manage Triggers page, define a trigger based on this custom event. For example:
    You can use the event parameters to define a more specific trigger. For example, newsletter_registration events performed only on the website/mobile app.
  4. Define two target groups for this campaign. For more information on these target groups, see Creating Behavior-Based Target Groups.
    • Converted Today
    • Registered Visitors
  5. Configure the campaign. You can define identical campaigns for registered visitors and customers, or address the two groups differently, by assigning a different marketing action, creative or promotion.
    To create the campaign for each target group:

    • Create the email templates for the campaigns in the Manage Templates page.
      For information on adding personalization tags to your triggered email templates, click here.
    • Define triggered campaigns for both target groups mentioned above. For example, using the newsletter_registration trigger created above.
    • Select Optimail as the execution channel.
    • Specify the date range during which this campaign will run.
    • (Optional) Specify the maximum number of times the campaign may be triggered for eligible visitors.
    • Select a marketing action. It is recommended to use a unique action for this campaign, so that you will later be able to build a target group of all customers who received this specific action, in order to send them a follow-up campaign.
    • (Optional) Select a promotion.
    • Select the email template to use when executing the campaign.
  6. Follow-up campaigns can be scheduled. To learn how, see the Welcome Journey – Follow-up Email use case example.

Cart/Browse Abandonment Emails

Trigger a personalized email to a registered visitor or known customer as a result of an unfinished sequence. Examples of these are customers with products in their cart, but who did not complete the purchase process. or players initiating a bet without finalizing it.

Multiple emails can be set up and triggered for the same Cart or Browse abandonment trigger. For example, you can send a reminder an hour after the abandonment takes place, and a reminder if the purchase still hasn’t been completed 24 hours later.

By triggering an email, you can:

      • Set the campaign to be triggered at a relative time to each customer's time of abandonment (e.g., three hours after a cart was abandoned).
      • Include the details of the items abandoned in the cart in your email template (these can be made available as part of the triggering event's parameters).
      • Analyze the campaign via the Triggered Campaign Explorer.
Target Audience Registered visitors and known customers
Platform Support Web, Mobile
Execution Type Triggered campaign
Trigger Cart abandonment
Execution Channel Triggered email (via Optimail)

Here is the typical flow for a triggered campaign following an abandoned cart:

Trigger and Campaign Setup

In order to execute the cart abandonment campaign – for known customers and for visitors who register at any point during the purchase process – the following steps are required:

    1. Use the registerUser(); function of the Optimove SDK (see Web, iOS or Android) to assign a visitor ID upon registration or to identify the customer.
    2. Add code to the relevant places in your website to report a series of custom events that will be used to create triggers, such as a cart abandonment trigger. For example, these custom events can have the following structure:
      • Send a reportEvent('items_in_cart',params); event whenever a product is added or removed from the cart, where params is an object containing the following named parameters and their values:
        • item_name_1
        • item_price_1
        • item_image_1
        • total_price
        • up to 50 parameters may be included
      • Send a reportEvent(‘placed_order',params); event whenever the checkout process is completed, where params is an object containing the following named parameters and their values:
        • item_name_1
        • item_price_1
        • item_image_1
        • total_price
        • up to 50 parameters may be included
      • Send a reportEvent('item_viewed',params); event whenever a product is viewed, where params is an object containing the following named parameters and their values:
        • item_name
        • item_price
        • item_image
        • up to 50 parameters may be included
      • Send a reportEvent(‘cart_is_empty’); event whenever the cart is cleared by the user.
    3. The Cart Abandonment event will be configured for you by Optimove’s Product Integration team, as follows:
      • A timer will be initialized when the first product is added to the cart.
      • If the defined number of minutes or seconds passed without a purchase, and the cart is not empty, the trigger will fire.
      • If the customer adds another product to the cart, the timer will be restarted.
    4. In Optimove’s Manage Triggers page, define a trigger based on the custom cart abandonment event. For example:
    5. Define three target groups for this campaign. For more information on these target groups see Creating Behavior-Based Target Groups.
      • Converted Today
      • Registered Visitors
      • Customers
    6. Configure the campaign. You can define identical campaigns for registered visitors and customers, or address the two groups differently, by assigning a different marketing action, creative or promotion.
      To create the campaign for each target group:

      • Create the email templates for the campaigns in the Manage Templates page. The template can contain personalization tags that refer to the specific products abandoned in the cart (using the parameters that describe each product, as sent with the items_in_cart event). The relevant product data must be included in the last event of the flow – for example, in the last items_in_cart event sent before the cart was abandoned. For information on adding personalization tags to your triggered email templates, click here.
      • Define triggered campaigns for the three target groups mentioned above, using, for example, the Cart Abandonment trigger created above.
      • Select Optimail as the execution channel.
      • Specify the date range during which this campaign will run.
      • (Optional) Specify the maximum number of times the campaign may be triggered for eligible visitors.
      • Select a marketing action. It is recommended to use a unique action for this campaign, so that you will later be able to build a target group of all customers who received this specific action, in order to send them a follow-up campaign.
      • (Optional) Select a promotion.
      • Select the email template to use when executing the campaign.
    7. Follow-up campaigns can be set up. To learn how to schedule a follow-up campaign, see the Cart/Browse Abandonment – Scheduled Follow-up Email use case example.

Player balance-drop triggered campaign

Trigger a real-time campaign to players whose balance dropped below a certain threshold using server-side events. For example, trigger a promotional web popup to any players whose balance dropped below $10.

Target Audience Known customers
Platform Support Web
Execution Type Triggered Campaign
Execution Channel Third-party Webpage pop-up via API

Trigger and Campaign Setup

In order to execute the pop-up campaign upon a customer's balance drop, the following steps are required:

    1. Create a server-side event including an API token (tid), Customer ID (cid), Event ID (eid), and the balance_drop custom event.
    2. When setting up the custom event, you will also need to define when the event should be generated. For example, every time there is a balance change for a logged in user, the balance_drop event should be sent to Optimove. More information on setting up server-side events can be found in this guide.
    3. In Optimove’s Manage Triggers page, define a trigger based on the balance-drop custom event. For example:
    4. Create a new trigger and define the balance parameters using the numerical operators. This configuration will determine when the campaign will be triggered based on the balance value of the player.

      You can also use the balance event parameter to create multiple triggers (and associated campaigns) which will engage customers based on their individual real-time balance value. For example, you can provide a 5% discount offer for any player with a balance that drops below $50 and a 15% discount once their balance drops below $10.
    5. Define Customer target groups for this campaign. For more information on these target groups see Creating Behavior-Based Target Groups.
    6. Configure your campaign following the steps below:
      • Create the webpage pop-up for the campaign.
      • Define triggered campaigns for one or more customer target groups.
      • Use Optimove’s API as the campaign’s execution channel. You can use any Webpage pop-up channel to support this use case. In order to use this method, you will need to deploy one or more listeners and register them via the Optimove API function, RegisterEventListener.
      • Specify the date range during which this campaign will run.
      • (Optional) Specify the maximum number of times the campaign may be triggered for eligible visitors.
      • Select a marketing action.

Example Follow-Up Campaign Use Cases

Welcome Journey – Follow-up Email

Schedule a personalized email to registered users, several days following their registration.

Note that this campaign is a follow-up campaign to the first welcome email described in the Welcome Journey – First Email use case example.

Target Audience Registered visitors and known customers
Platform Support Web, mobile
Execution Type Scheduled campaign
Execution Channel Optimail

Here is the typical flow for a follow-up welcome email:

Campaign Setup

In order to execute the follow-up welcome email campaign, the following steps are required:

  1. There is no need to create a trigger – this campaign is a scheduled campaign, following the initial registration.
  2. Define the target group for this campaign:
    • Using the Campaign History criterion, select all customers who received the first welcome email campaign in the past day (or past x days, depending on your business needs).If you created a unique action for this campaign, as suggested above, you can easily select all campaign recipients by selecting that action name here.
    • If relevant, add criteria to limit the campaign’s audience by selecting only customers with no purchases, no activity, or any other criterion you would like to apply to this campaign.
  3. Configure the campaign:
    • Create the email templates for the campaigns in the Manage Templates page.
    • Select Optimail as the execution channel.
    • Set daily recurrence, in order to capture all registered customers on the day after their registration.
    • Select the email template to use when executing the campaign.

Cart/Browse Abandonment – Scheduled Follow-up Email

Schedule a personalized follow-up email to be sent, several days after the initial cart abandonment, to customers who abandoned products in their carts. This campaign is a follow-up campaign to the first cart abandonment email.

Target Audience Registered visitors and known customers
Platform Support Web, mobile
Execution Type Scheduled campaign
Execution Channel Scheduled email (via Optimail)

Here is the typical flow for a scheduled cart abandonment follow-up campaign:

Campaign Setup

In order to execute the cart abandonment follow-up campaign, the following steps are required:

    1. There is no need to create a trigger – this campaign is a scheduled campaign, following the initial cart abandonment.
    2. Define two target groups for this campaign. For more information on these target groups, see Creating Behavior-Based Target Groups.
      • Registered Visitors
      • Customers
    3. Configure the campaign for each target group:
      • Create the email templates for the campaigns in the Manage Templates page.
      • Define scheduled campaigns for both target groups mentioned above.
      • Select Optimail as the execution channel.
      • Set daily recurrence, in order to capture all relevant customers/visitors on the day(s) after their cart abandonment.
      • Select the email template(s) to use when executing the campaign.

Notes about this type of scheduled follow-up email:

    • The email can be sent at a specific time of day for all customers (e.g., at 10:00 am on the day following the event), but not at a particular number of hours after each user triggered the initial event.
    • The email cannot include the specific details of the items abandoned in the cart. Instead, you will have to use a more generic “you still have some items in your cart” type of message.
    • If you wish to set up a follow-up campaign that is based on a relative time from the initial event (e.g., 36 hours after the event) or include specific details from the event, create a triggered follow up campaign. To learn more, see the Cart/Browse Abandonment Emails section.
    • You will be able to analyze the campaign via its own detailed Campaign Analysis page.