Digioh supports turnkey integration with Segment:
- Track named events with form data as properties
- Supports progressive forms for data “accumulation”
- Set traits on Segment users from form data
- Target Segment traits in Digioh box conditions (requires Segment Persona API; separate help doc)
- Pass anonymousId and/or userId to your email platform or CRM via a Digioh integration
The Digioh Segment App requires that you have installed the Segment JavaScript tag on your site, and will track events and identify users via the existing Segment Source configured for your website. If you need to use the Segment Server-to-Server API instead of the JavaScript tag, please contact Digioh Support.
Setup
From Digioh Custom JS (Apps), install the “Segment Track and Traits” app.
Install the app once. It is an “always on” app, which reacts only when you have configured Boxes with specific controlling metadata.
Box Configuration
Once the app is installed, you configure how you want it to work for one or more of your Boxes. If you are just getting started with Digioh, we recommend that you create a Box to serve as a template including standard Segment config that you can clone.
Available metadata commands are:
- seg_track = eventName: page- or button-level metadata command that initiates a track event immediately when the Box page is shown or button is clicked, OR if configured on a button with action “submit form” then immediately after successful form submission.
- seg_traits = true|{json}: page-level metadata command that initiates a Segment identify call set to set traits using the anonymousId, after a page’s form is submitted. If set to true, then the standard payload will be used to identify (same as the track data), or you can configure your own JSON containing Universal Merge Tags.
- seg_prop = propName: form Field level attribute that indicates the field should be included in the payload for track and traits operations
- seg_pageprop = propName=propVal: for more advanced use cases, page-level metadata that sets static prop=val for seg_track and seg_traits operations on this page.
Page-level metadata is configured from the Box Editor, under the Layout sub-menu for each page:
You may need to scroll down to see it, right at the bottom:
This example shows a track event on the Main page. Note that this will fire immediately on Box Display, since the Main page is always shown immediately on display.
seg_traits is configured the same way, but differs in that it fires immediately after the form on that page is submitted.
seg_traits and seg_track are “commands”, whereas seg_prop is a form-Field level “attribute” that indicates that field data should be passed in the payload to the track or traits command, and seg_pageprop is a page-level static attribute.
Field-level metadata is configured from Box page > Form > Fields:
Pick the specific field you want to pass to Segment, then at the bottom of the section you can configure seg_prop to name it in Segment. Digioh will construct a payload including the property/trait name you entered, and the value of the field at time of form submission.
With seg_pageprop, configure that in Page-level metadata. Digioh doesn’t allow duplicate metadata keys at the same level, so if you need to set more than one page property for a page, then you can comma separate them like this:
seg_pageprop : favorite_color=green,high_score=120
Segment & Digioh Integrations
By default, the Segment Track and Traits app will store the userId (if available) in [CUSTOM_48] and the anonymousId in [CUSTOM_49] and passed with all submissions. You can reference these fields in the integration template as needed. When this app is installed, do not use these also fields for form input or it will be clobbered by the app.
Tips and Best Practices
- The app will not function in Box Previews, since there is no Segment JS available, Boxes need to be displaying on your site, with Segment JS
- For testing, use the Segment “debug” tab for your default web source, this will show track and identify calls in real-time
- When configuring seg_traits with JSON, make sure you quote all properties and values that are merge tag strings, e.g. {“propName”:”[CUSTOM_1]”}
- seg_traits and seg_track will grab seg_prop data from forms on all pages of your box, it’s not just the data from that pages form
- seg_prop values are ignored at time of seg_track or seg_traits if they are blank, they are not included in the payload
- You can be aggressive when using seg_traits, for example by invoking it on every page. Setting of traits is cumulative.
- seg_traits and seg_track essentially carry the same payload. Use seg_track for tracking engagement, and traits for setting profile data.
- If you want to include “static” information, such as a campaign ID for a specific box, create a hidden field on the Boxes first form with Default Value of your ID, and apply seg_prop=CampaignId to the field. Note that seg_track events occur before form submission, so hidden fields on that page will not be carried with the event. However …
- seg_pageprop is particularly useful if you want to trigger a seg_track event when a box displays and send box specific data, e.g. a campaign ID.
Finally, if you have the Segment Persona API, this Segment Integration App also supports targeting of Digioh Box Conditions to persona traits in real-time. More information here: Targeting Segment Persona Traits with Digioh Conditions
Running into an issue or have a question? Reach out to our support team via support@digioh.com and we’ll be happy to help!