These docs describe the FunnelConnect (short FC) JavaScript integration method via simple integration tag and JavaScript APIs.
FC is a web service, which provides:
As a pre-requisite to setting up the FunnelConnect service, Teavaro requires a sub-domain to be created for all domains of the sites to be integrated, using the
fc.
prefix. Depending on your region, Teavaro Client Integration team will provide the address for your CNAME DNS setup.
The JavaScript FC Tag will be provided by Teavaro and comes with automatically-loaded configuration file including all configuration entries needed to handle the library calls and services (pipelines) required.
Depending on the requirements. The tag can be provided as JavaScript snippet:
var script = document.createElement("script")
script.type = "text/javascript"
script.src = "https://fc.{domain-name}/fcTag.js"
document.head.appendChild(script)
or as a script element that can be added to a page directly:
<script type="text/javascript" src="https://fc.{domain-name}/fcTag.js"></script>
And that is it! Those snippets will load the library and all of its components and it will start working at the same moment.
Teavaro FC services uses the concept of pipelines to define client specific service configuration, for example analytics data collection, specific customer identifiers as part of login or other identity resolution process.
Visitor identity resolution uses the Info API. Every site visitor, after accepting the required consent or acknowledging legitimate interest, gets a Universal Marketing ID (UMID) returned in JSON or JS variable, and Universal Marketing Device ID (UMDID) set as 1st party cookie.
Customer identity resolution uses the Ident or Click Ident APIs and returns either a pixel, empty response, or redirect location, and sets a UMDID cookie.
See details.
The web analytics service uses the Track API to track users across sites and collect behaviour, contextual, and any other customer and transactional information from the data layer.
See details.
User profile data is retrieved as JSON object from TargetData that holds real-time updated visitor and customer profile data, including identifiers, attributes (key-value-pairs), marketing data permissions, consent or legitimate interest notification acknowledgments.
Additional data sources including Teavaro’s Customer Data Store and external systems, which are integrated via API through the FC Info pipeline, can be made available in real-time. The inclusion of these additional data sources requires FC Info pipeline configuration, which will be done by your Teavaro support team.
This JSON object is also stored in session or local storage as fcData key.
fcData can be used for a range of use cases. A common use case is personalisation using the attributes’ key-value-pairs for example via query string parameter or as payload with personalisation tools to deliver personalised content.
Available fields:
Field | Type | Values | Optional | Description |
---|---|---|---|---|
umid | String | No | Marketing ID | |
attributes | Object | Yes | Object with the associated attributes. | |
[attributeName] | String | No | An attribute key value pair for the identified profile. | |
identifiers | Array of Objects | Yes | ||
name | String | No | The mapped name of the identifier as configured in the pipeline. | |
value | String | No | The value of the identifier. | |
nextBestIdentifiers | Array of Objects | Yes | ||
name | String | No | The mapped name of the next-best identifier as configured in the pipeline. | |
value | String | No | The value of the next-best identifier. | |
permissions | Object | Yes | ||
LI-OM | Boolean | true or false | Yes | The value false equals opt out. Default value is true. |
LI-OPT | Boolean | true or false | Yes | The value false equals opt out. Default value is true. |
LI-NBA | Boolean | true or false | Yes | The value false equals opt out. Default value is true. |
permissionsLastModification | Object | Yes | ||
LI-OM | String | ISO 8601 Date | Yes | Date and time in UTC this permission has been last modified by an user action. Format YYYY-MM-DD’T’hh:mm:ss’Z'. |
LI-OPT | String | ISO 8601 Date | Yes | Date and time in UTC this permission has been last modified by an user action. Format YYYY-MM-DD’T’hh:mm:ss’Z'. |
LI-NBA | String | ISO 8601 Date | Yes | Date and time in UTC this permission has been last modified by an user action. Format YYYY-MM-DD’T’hh:mm:ss’Z'. |
notificationHistory | Array | Yes | ||
name | String | No | Identifier of the notification. | |
version | Int | No | Version of the notification. | |
permissions | Array | LI-OPT, LI-NBA, LI-OM | No | Permission this notification covers. |
date | String | ISO 8601 Date | No | Date and time in UTC this notification has been shown to this visitor. Format YYYY-MM-DD’T’hh:mm:ss’Z'. |
notificationStatus | Object | Yes | ||
LI-OM | Boolean | true or false | Yes | This value is computed from the notficationHistory and denotes if a valid notification has been shown for the permission LI-OM. True equals a valid notification for this permission, false equals invalid. |
LI-OPT | Boolean | true or false | Yes | This value is computed from the notficationHistory and denotes if a valid notification has been shown for the permission LI-OPT. True equals a valid notification for this permission, false equals invalid. |
LI-NBA | Boolean | true or false | Yes | This value is computed from the notficationHistory and denotes if a valid notification has been shown for the permission LI-NBA. True equals a valid notification for this permission, false equals invalid. |
state | Int | 1 or 0 | No | The state of the current identification. 0 indicates a prospect, 1 an identified customer. |
Accessing fcData object data:
JSON.parse(localStorage.fcData)
Example data:
{
"umid": "c3641a83-8ea8-412f-b234-ea91cfaa3242",
"state": 1,
"permissions": {
"LI-NBA": true,
"TransactionData": true,
"LI-OPT": true,
"CustomerData": true,
"LI-OM": true
},
"permissionsLastModification": {
"LI-NBA": "2019-12-20T17:10:35.003Z",
"TransactionData": "2020-09-18T11:51:00.684Z",
"LI-OPT": "2019-12-20T17:10:35.003Z",
"CustomerData": "2020-12-17T17:37:41.826Z",
"LI-OM": "2020-04-21T13:30:58.064Z"
},
"notificationHistory": [
{
"name": "APP",
"version": 1,
"permissions": ["LI-OM", "LI-OPT", "LI-NBA"],
"date": "2020-04-21T13:18:55.880Z"
},
{
"name": "WEB",
"version": 1,
"permissions": ["LI-OPT", "LI-OM", "LI-NBA"],
"date": "2019-10-24T00:00:00Z"
}
],
"notificationStatus": {
"LI-OM": true,
"LI-OPT": true,
"LI-NBA": true
},
"attributes": {
"deviceName": "PC",
"isp": "Vodafone Ltd",
"domainName": "vodafone.co.uk",
"browserType": "BR",
"region": "England",
"mobileBrand": "Vodafone UK",
"city": "Warrington",
"osFamily": "Windows",
"browserFamily": "Chrome",
"cc": "GB",
"sample_name_1": "sample_value_1",
"sample_name_2": "sample_value_2",
"sample_name_3": "sample_value_3"
}
}
Profile data is retrieved using the Info API. See details.
Consent (and Permissions) Management uses the Info API. It requires information about the permissions to be managed, for example online marketing, web analytics, personalisation, etc. The legal basis being consent or legitimate interest.
Teavaro provides ID matching pipelines with a redirecting or forwarding functionality, sending required identifiers, for example the UMID, a hashed Email, etc. with any other required profile data to external systems like Google Floodlight, Facebook Custom Audience, and others.
For any integration support queries, please email ClientSDKs.