Attributes
Passing customer, transactional and vertical-specific data in your Rokt integration is important — as having rich, granular data allows for greater campaign optimizations, enhanced targeting and personalization capabilities, and spend efficiencies. Passing more data attributes also allows marketers to attribute conversions to their Rokt campaign with a high degree of accuracy.
You can find the full list of pre-defined Rokt attributes in the sections below, and you can also pass custom attributes to complement the standard integration.
Core Attributes
Name | Attribute | Format | Payload Example |
---|---|---|---|
john.smith@rokt.com | |||
Email (MD5) | emailmd5 | MD5 hash string | 238afb9e862add7d56bbc4181b80fa32 |
Email (SHA256) | emailsha256 | SHA256 hash string | F6191D8D6A0F75CA7D237ED07CF8E461E72E5C7BB28D611DDF37E5908FDB632B |
Amount | amount | amount | 300.50 |
Currency | currency | 3-letter ISO currency code | USD |
Quantity | quantity | number | 2 |
Payment Type | paymenttype | string | Credit Card, Paypal |
Credit Card BIN | ccbin | 6 digits | 372888 |
Margin | margin | amount | 10.50 |
Confirmation Reference | confirmationref | string | XYZ123 |
First Name | firstname | name | John |
Last Name | lastname | name | Smith |
Mobile | mobile | mobile format without country code | 7327572923 |
Title | title | Mr/Mrs/Ms/Miss | Ms |
Gender | gender | M or F | F |
Date of Birth | dob | yyyymmdd | 19831215 |
Age | age | integer | 33 |
Language | language | 2-letter ISO language code | en, nl, de, fr |
Experience | experience | string | |
Unit Number | unitno | string | 101 |
Address Line 1 | address1 | string | 123 Fake Street |
Address Line 2 | address2 | string | Building A |
ZIP/Postcode | zipcode | zipcode | 90210 |
City | city | string | New York |
State | state | state | NY |
Country | country | 2-letter ISO country code | us, au, nz, ca, gb, sg |
Conversion Type | conversiontype | string | |
Rokt Tracking ID | rokttrackingid | string |
Vertical-Specific Attributes
E-commerce/Retail
Name | Attribute | Format | Payload Example |
---|---|---|---|
Restaurant ID | restaurantid | string | |
Delivery | delivery | boolean | |
Restaurant Name | restaurantname | string | |
Delivery/Pick up Addess | deliveryaddress | string | |
Cuisine | cuisine | string | |
Delivery/Pick up Time | deliverytime | time | |
Delivery/Pick up Date | deliverydate | date | |
Restaurant ZIP/Postcode | restaurantzipcode | zipcode |
Event Ticketing
Name | Attribute | Format | Payload Example |
---|---|---|---|
Event Name | eventname | string | John Smith featuring the Smiths: Live |
Event Description | eventdescription | string | The most incredible show on earth. |
Event Time | eventtime | time | 0800, 1930 |
Event ID | eventid | string | E017448281A |
Event Date | eventdate | yyyymmdd | 20200822 |
Event Venue | eventvenue | string | Austin Big Stadium |
Event City | eventcity | string | |
Event State | eventstate | state | |
Event ZIP/Postcode | eventzipcode | zipcode | |
Event Country | eventcountry | country | |
Event Image URL | eventimage | url | |
Event URL | eventurl | url | |
Ticket URL | ticketurl | url | |
Number of Tickets | notickets | number | |
Seat Location(s) | seatlocation | string | |
Seat Number | seatnumber | number | |
Primary Artist ID | primaryartistid | string | |
Primary Artist Name | primaryartistname | string | |
Secondary Artist ID | secondaryartistid | string | |
Secondary Artist Name | secondaryartistname | string | |
Promoter | promoter | string | |
Promoter ID | promoterid | string | |
Venue ID | venueid | string | |
Venue Map URL | venuemap | url |
Media and Entertainment
Name | Attribute | Format | Payload Example |
---|---|---|---|
Section | section | string | |
Section ID | sectionid | string | |
Sub-section | subsection | string | |
Sub-section ID | subsectionid | string | |
Author Name | author | string | |
Author ID | authorid | string | |
Subscriber | subscriber | string | |
Subscription Program | subscription | string |
Transactional/Purchase
Name | Attribute | Format | Payload Example |
---|---|---|---|
Major Category | majorcat | string | Electronics |
Major Category ID | majorcatid | string | 10011 |
Minor Category | minorcat | string | Cameras |
Minor Category ID | minorcatid | string | 10 |
Customer Type | customertype | guest/member | 10 |
Product Name(s) | productname | string | |
Stock Keeping Unit (SKU) | sku | string | |
Shipping Type | shippingtype | string |
Travel
Name | Attribute | Format | Payload Example |
---|---|---|---|
Number of Passengers | pax | number | |
Travel Class | travelclass | string | |
Trip Type | triptype | string | |
Route | route | string | |
Loyalty Program | loyaltyprogram | string | |
Loyalty Program ID | loyaltyprogramid | string | |
Loyalty Tier | loyaltytier | string | |
Carrier | carrier | string | |
Booked Hotel | bookedhotel | boolean | |
Purchased Insurance | purchasedinsurance | boolean | |
Booked Car | carbooked | boolean | |
Excess Baggage | excessbaggage | boolean | |
Destination Airport | destairport | string | |
Destination City | destcity | string | |
Departure Airport | departairport | string | |
Departure City | departcity | string | |
Travel Time | traveltime | time | |
Travel Date | traveldate | date | |
Departure Airport ZIP/Postcode | departairportzipcode | zipcode | |
Check-In URL | checkinurl | url | |
Ticket URL | ticketurl | url | |
Passenger Name | passengername | name |
Fulfillment Attributes
Personally Identifiable Information (PII) is often required by Rokt to fulfill campaign goals. For example, a user's email address is considered PII and is essential for Rokt to be able to deliver an email campaign. These pieces of information are known as Fulfillment Attributes. Rokt has designed a ‘2 step data pass’ process that allows for the passing of Fulfillment Attributes to Rokt, whilst ensuring security for the customer and maintaining the quality of their experience.
The process allows for sharing of hashed (SHA256) PII values on the initiation of the integration, with the sharing of raw PII values deferred until after the customer has positively engaged with a Rokt offer. Disclosing hashed values at the initiation of the integration allows Rokt's systems to deliver on some of the expected functionalities (e.g. suppress showing offers to a returning user) while still respecting privacy concerns.
The following code snippet describes basic usage of the 2 step process:
rokt.onLoaded(function(rokt) {
const email = 'john.smith@rokt.com';
const emailsha256 = 'F6191D8D6A0F75CA7D237ED07CF8E461E72E5C7BB28D611DDF37E5908FDB632B';
rokt.setAttributes({
// Other Attributes
"emailsha256": emailsha256,
});
rokt.init({
// Rokt Configuration
});
rokt.onPositiveEngagement(function () {
rokt.setAttributes({
"email": email,
});
});
});
The above snippet assumes you supply the hashed variant of the email synchronously prior to the initialization of the Rokt Object.
Note: please ensure that the email is lower cased and trimmed of whitespace prior to hashing.
Additionally, to make the process a little easier, we provide a utility function that formats and hashes a given string:
rokt.onLoaded(function(rokt) {
const email = 'john.smith@rokt.com';
return rokt.hashString(email).then(function(emailsha256) {
// Remaining code unchanged from previous example
});
});
With multiple attributes, it’s advisable to use Promise.all()
as in the following example:
<script type="module">
rokt.onLoaded(function(rokt) {
const lastName = 'Smith';
const email = 'johnsmith@rokt.com';
return Promise.all([
rokt.hashString(email),
rokt.hashString(lastName),
]).then(function([
emailsha256,
lastNamesha256,
]){
rokt.setAttributes({
"emailsha256": emailsha256,
"lastNamesha256": lastNamesha256,
});
rokt.init({
// Init Options
});
rokt.onPositiveEngagement(function() {
rokt.setAttributes({
"email": email,
"lastName": lastName,
});
});
});
});
</script>