User-Identifiers
This page provides guidance on how to declare User Identifiers in common tracking examples (see Why should I declare User Identifiers?):
In this page
User identifiers allow you to declare some kind of unique identifier for a give user. For example, you may wish to declare your own identifier for a user using wt.dcsvid
or perhaps the user’s SHA-256 hashed email address using wt.email_sha256
. Please see below for guidance:
List of User Identifiers
Parameter | Name | Syntax | Sample Value | Notes |
---|---|---|---|---|
wt.dcsvid |
External Visitor Parameter* | {YOUR EXTERNAL-LEVEL IDENTIFIER} | wt.dcsvid=MYCUSTOMERID123 |
- |
wt.email_sha256 |
SHA-256 Hashed Email Address | {SHA-256 HASHED EMAIL ADDRESS} | wt.email_sha256=588833DBA4CCAE4E7A33ADFA7F3F965073A4F3E4D05B5C2935BD642D22107247 |
- |
*External Visitor Parameters can be set for any identifier (for example, your customer ID).
You also declare identifiers using any parameter name you wish (for example, you could declare an MD5-hashed email as wt.email_md5
).
You can declare User Identifiers within any tracking you wish. Please see below for an example of user identifiers being declared upon sign in by a user:
Upon successful login of a user.
Parameter | Name | Syntax | Sample Value | Notes |
---|---|---|---|---|
wt.ev |
Event Type | $SignIn |
wt.ev=$SignIn |
- Required for Sign In within Behaviors |
wt.dcsvid |
External Visitor Parameter* | {YOUR EXTERNAL-LEVEL IDENTIFIER} | wt.dcsvid=MYCUSTOMERID123 |
- |
wt.email_sha256 |
SHA-256 Hashed Email Address | {SHA-256 HASHED EMAIL ADDRESS} | wt.email_sha256=588833DBA4CCAE4E7A33ADFA7F3F965073A4F3E4D05B5C2935BD642D22107247 |
- |
*External Visitor Parameters can be set for any identifier (for example, your customer ID).
Please see below for an example implementation using the Oracle CX Tag:
<script>
(function(){
// Send Data
var cxDataObject = {
"wt.ev":"$SignIn", // Required for behavior
"wt.tx_i":"132432ASP34",
"wt.email_sha256":"588833DBA4CCAE4E7A33ADFA7F3F965073A4F3E4D05B5C2935BD642D22107247",
"wt.dcsvid":"MYCUSTOMERID123"
};
// DO NOT EDIT BELOW THIS LINE - ORA.view() (you may also use ORA.click() depending on your scenario)
window.ORA = window.ORA || {productReady: []};
ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.view({"data": cxDataObject})}}(cxDataObject)]);
})();
</script>
Please see below for an example implementation using the Data Collection API (why would I use this?) on a webpage (ensuring you persist the visitor ID as wt.co_f
in your API calls):
<script>
(function() {
var xmlhttp = new XMLHttpRequest();
var url = "https://dc.oracleinfinity.io/v3/ACCOUNTGUID" // where ACCOUNTGUID is your account GUID
var payload = {
"static": {
"wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89" // Visitor ID : Take value of 'id' from ORA_FPC cookie
},
"events": [{
"wt.dl": "0", // Denotes Page View (or "1" for a click)
"dcsuri": document.location.pathname, // pathname
"domain": document.domain, // domain
"wt.ti": document.title, // page title
"wt.es": document.domain + document.location.pathname, // URL
"wt.ssl": (document.location.protocol === "https:") ? "1" : "0", // Secure/non-secure
"wt.ev": "$SignIn", // Required for behavior
"wt.email_sha256": "588833DBA4CCAE4E7A33ADFA7F3F965073A4F3E4D05B5C2935BD642D22107247",
"wt.dcsvid": "MYCUSTOMERID123"
}]
};
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
window.console.log("post was successful, response was " + this.response);
} else if (this.readyState == 4 && this.status != 200) {
window.console.log("post was not successful, response was " + this.response);
}
};
xmlhttp.open("POST", url);
xmlhttp.setRequestHeader("Content-Type", "application/json");
xmlhttp.send(JSON.stringify(payload));
})();
</script>
Declaring User Identifiers ensures that you can leverage this identifier within your Actions to target users in your Connections.
For example, you may wish to send emails to user who abandon their shopping cart using Oracle Responsys - to do this you will need to send an identifier which Responsys can accept (typically EMAIL_SHA256_HASH_
or CUSTOMER_ID_
).
You can declare any identifier you would like in wt.dcsvid
. For example, you could populate this with a SHA256 hashed email address or your own identifier for this user. Please see External Visitor Parameters for more details.
It is best-practice to ensure you declare at least one User Identifier for known users on your website. Specifically, you should ensure that you are declaring at least the identifiers the Connections you wish to work with require.
Yes, you can declare any parameters you like (for example, wt.mycustomparam=myvalue
). Please see Parameters and Parameter Syntax.
IQ Customers Only
User Attributes are only available for users with an Infinity IQ licence.
Yes, you can declare user-level identifiers as user attributes (if you wish to persist a parameter in a user’s profile for future user). For example, you may wish to declare a user’s SHA-256 hashed email in a profile - you can declare it as wt.email_sha256
and/or user.email_sha256
:
When you declare a User Attribute (e.g. user.email_sha256
), it will be persisted in the user’s profile for use in future events/sessions.
Sample Sign In - CX Tag tracking code for web
<script>
(function(){
// Send Data
var cxDataObject = {
"wt.ev":"$SignIn", // Required for behavior
"wt.tx_i":"132432ASP34",
"wt.email_sha256":"588833DBA4CCAE4E7A33ADFA7F3F965073A4F3E4D05B5C2935BD642D22107247", // Standard Parameter
"user.email_sha256":"588833DBA4CCAE4E7A33ADFA7F3F965073A4F3E4D05B5C2935BD642D22107247", // User Attribute (will persist in the user's profile)
"wt.dcsvid":"MYCUSTOMERID123"
};
// DO NOT EDIT BELOW THIS LINE - ORA.view() (you may also use ORA.click() depending on your scenario)
window.ORA = window.ORA || {productReady: []};
ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.view({"data": cxDataObject})}}(cxDataObject)]);
})();
</script>
Please see Full Parameter Reference for full definitions per parameter.
Common Tracking Examples - Browse common tracking situations with their respective Infinity parameters..
Full Parameter Reference - View the full list of default Oracle Infinity parameter.
Oracle CX Tag - Implementation - Learn how to create tracking calls using the Oracle CX Tag.
Data Collection API - Learn how to send data into Oracle Infinity by API.
Oracle CX Mobile SDK - Behavior Tracking (Android) - Learn how to send data to Oracle Infinity using the Oracle CX Mobile SDK Infinity Module for Android.
Oracle CX Mobile SDK - Behavior Tracking (iOS) - Learn how to send data to Oracle Infinity using the Oracle CX Mobile SDK Infinity Module for iOS.