Oracle Infinity Analytics
Guide
©2020Oracle Corporation. All rights reserved 18-May-2020
©2020Oracle Corporation. All rights reserved 2 of 514
Contents
What is Oracle Infinity? 18
Signing in 19
Signing in after activating your account 23
Changing your password 24
Editing your profile 26
Data privacy and security features 27
Navigating Infinity 28
Setting your time zone 30
Supported browsers 32
Account settings 34
Accessing account settings 35
Managing roles 35
Creating a role 36
Modifying or deleting a role 38
Managing groups 39
Creating a group 40
Modifying a group 41
Deleting a group 41
Viewing a group's users 42
Super Administrator group 43
Managing users 43
Viewing users 44
Inviting users 44
Modifying users 46
Managing data permissions 48
©2020Oracle Corporation. All rights reserved 3 of 514
Viewing data permissions 48
Creating a data permission 49
Modifying a data permission 51
Deleting a data permission 52
Managing parameters 52
Viewing parameters 53
Editing parameters 56
Parameter advanced options 60
Reports 67
Viewing reports 68
How reports are organized 70
Managing collections 71
Viewing a collection 72
Creating a collection 73
Modifying a collection 76
Providing access to a collection 77
Duplicating a collection 78
Deleting a collection 80
Managing reports 80
Selecting a date range 81
Displaying chart data 82
Editing reports 85
Removing reports from collections 91
Creating reports 92
Exporting reports 96
Deleting reports from Oracle Infinity 108
Deleting categories from Oracle Infinity 109
Report table 111
©2020Oracle Corporation. All rights reserved 4 of 514
Searching reports 112
When to use search versus a segment 113
Standard reports 114
Campaign Performance report 116
Content Groups report 116
Devices report 117
Devices > Browsers report 117
Entry Pages report 118
Exit Pages report 119
Geography report 119
Languages report 120
Networks report 120
New-Returning Users report 121
Next Pages report 122
Onsite Search report 122
OS > Browsers report 123
Page Activity report 124
Previous Pages report 124
Search Engines report 125
Time Based Trends report 125
Traffic Sources report 126
Mobile App reports 127
Country > Mobile App report 127
Country > Mobile Carrier report 128
Mobile App Installs report 129
Mobile Carrier > Mobile App report 130
Mobile Events report 130
Mobile Screens report 131
©2020Oracle Corporation. All rights reserved 5 of 514
Standard parameters 132
Parameter prefixes 133
Advanced options 133
Commerce category 134
Content category 135
Device category 135
Geo category 136
Mobile App category 136
Time category 136
Traffic Source category 136
Users category 137
Dimensions 137
Reading a table with multiple dimensions 137
Standard dimensions 138
Adding dimensions to a report 140
Removing dimensions from a report 142
Rearranging dimensions in a report 143
Creating dimensions 143
Editing dimensions 146
Deleting dimensions from Oracle Infinity 147
Measures 149
Rule-based measures 150
Calculated measures 156
Standard measures 156
Adding measures 161
Removing measures from a report 162
Creating measures 163
Editing measures 166
©2020Oracle Corporation. All rights reserved 6 of 514
Deleting measures from Oracle Infinity 169
Sorting reports by measures 170
Rearranging measures 172
Segments 173
Segment rules 173
Adding segments to a report 179
Adding segments to a collection 182
Creating segments 183
Editing segments 188
Deleting a segment from Oracle Infinity 190
Funnel analysis reports 192
Viewing funnels 192
Creating a funnel 197
Editing a funnel 202
Action Center 206
Email remarketing 206
A solution for a variety of campaigns 207
Actions dashboard controls 207
Remarketing with Action Center 209
Subscriber or customer IDs in email remarketing 210
Configuring a connection 210
Generating keys for connections 211
Configuring actions 213
Data collection 216
Infinity Tag Capabilities 216
Tag Structure 218
Consent Management 219
Personally Identifiable Information (PII) 219
©2020Oracle Corporation. All rights reserved 7 of 514
Updates 220
Data collected by default 220
Data collection parameter syntax 221
Reserved name spaces 221
Custom parameters 222
Value syntax 222
Syntax examples 224
Deploying the Oracle Infinity Tag 225
Customizing tag behavior 227
Tagging your web page 228
Verifying data collection 228
Oracle Infinity Tag plugins 232
Configuring plugins 234
Advanced link tracking plugins (deprecated) 236
Blocklist tag plugin 253
Brightcove video tracking tag plugin 259
Domain switcher tag plugin 274
HTML5 video tracking tag plugin 275
IP mask tag plugin 287
Page load tracking tag plugin 288
Twitter data collection plugin 291
Universal data layer tag plugin 295
YouTube video tracking tag plugin 327
Oracle Infinity Tag mutations 338
Mutation methods 339
Message methods 339
Troubleshooting/Developing Mutations 340
Click tracking API 342
©2020Oracle Corporation. All rights reserved 8 of 514
ORA.click(params) 343
ORA.collect(params) 344
ORA.view(params) 346
Data collection API 347
Constructing a JSON payload 348
POSTing a JSON payload 365
Mobile SDKs 366
Oracle Mobile One Core SDK Reference for iOS 367
What is Oracle Infinity Core? 367
Core Mobile SDK 367
All Documentation 367
Oracle Core Mobile SDK Reference for Android 368
Oracle Infinity Analytics Mobile SDK Reference for iOS 369
All Documentation 369
Oracle Infinity Analytics Mobile SDK Reference for Android 370
Oracle Firebase Analytics Mobile SDK Reference for iOS 370
Oracle Firebase Analytics Mobile SDK Reference for Android 371
Library 372
Parameter reference 373
Ad parameters 387
Ad click 387
Ad view 388
Browser and operating system parameters 388
Browser manufacturer 388
Browser name 388
Browser rendering engine 388
Browser type 389
Browser version 389
©2020Oracle Corporation. All rights reserved 9 of 514
Major browser version 389
Minor browser version 389
OS manufacturer 390
OS name 390
Campaign parameters 390
Campaign event 390
Campaign ID 391
Page URL 391
Content parameters 392
Consumer-generated media event 392
Consumer-generated media type 393
RIA content 393
RIA event 393
RIA feature 394
RIA name 394
RSS article 395
RSS event 395
RSS feed 395
Website test variant 396
Content group parameters 396
Content group name 396
Content subgroup name 397
Page URI 397
Conversion name parameter 397
Conversion Step parameter 398
Cookie detection parameters 398
Cookies enabled 399
First-party cookie 399
©2020Oracle Corporation. All rights reserved 10 of 514
Date parameter 399
DCSID parameter 400
Device parameters 400
Android 400
Bada OS 401
Desktop browser 401
Developer platform 401
Developer platform version 401
Device ID 402
Device year 402
Flash capability 402
Game console 402
HTML5 support 403
HTTPS capability 403
iOS 403
Marketing name 403
Media player 404
Mobile device 404
Mobile phone 404
Model name 404
OEM name 405
OS version 405
Reading device 405
RIM OS 405
Screen resolution 406
Set-top box 406
Symbian OS 406
Tablet 406
©2020Oracle Corporation. All rights reserved 11 of 514
Television 407
Touchscreen 407
WebOS 407
Windows Mobile 407
Windows Phone 408
Div or table parameter 408
Encoding conversion plugin parameter 408
Event tracking parameter 409
External visitor parameter 411
Geolocation parameters 411
Area Code 411
CBSA code 412
CBSA title 412
CBSA type 412
City code 412
City 413
Company 413
Continent code 413
Continent name 413
Country 413
Country three-letter code 414
Country two-letter code 414
CSA code 414
CSA title 414
Daylight saving time 415
Home or business 415
ISP domain 415
ISP name 415
©2020Oracle Corporation. All rights reserved 12 of 514
Latitude 416
Longitude 416
Metro code 416
Metropolitan area name 416
Network type 417
Region 417
Region name 417
Region language 417
State 418
Time zone offset 418
Zip Code 418
HTTP header parameter 418
HTTPS enabled parameter 419
HTTPS enabled 419
Invoice parameters 419
Invoice date 420
Invoice number 420
Invoice time 420
IP address masking parameter 421
JavaScript tag version parameter 422
Mobile web and app parameters 422
App ad click 422
App ad impression 423
App ad name 423
App category 423
App publisher 423
Connection type 424
Country 424
©2020Oracle Corporation. All rights reserved 13 of 514
Device model 424
Event time stamp 424
Event type 425
Geolocation coordinates 425
Mobile App Event Type 426
Mobile App Name 426
Mobile App Version 427
Mobile Carrier 427
Mobile SDK Build 427
On-site search parameters 428
Onsite Search Phrase 428
Search success 428
Page load parameters 429
Load time 429
Page connection time 429
Page domain lookup time 430
Page download time 430
Page load time 430
Page redirect time 430
Plugin version 431
Server response time 431
Page of interest parameter 431
Page Title parameter 432
Persona service parameters 432
Device persona 432
New persona 433
Persona ID 433
Session persona 433
©2020Oracle Corporation. All rights reserved 14 of 514
Product parameters 433
Product SKU 434
Product identifier 434
Product family 435
Product group 435
Product subgroup 435
Product manufacturer 436
Product supplier 436
Registered visitor parameter 436
Scenario Name parameter 436
Scenario Step Name parameter 437
Scenario Step Number parameter 438
Search engine type parameter 439
Segment parameter 440
Server parameter 440
Site ID parameter 440
Traffic source and search parameters 441
Paid search engine 441
Referer name 441
Search engine 441
Search phrase 441
Traffic source parameter 442
Traffic source type 442
Transaction parameters 443
Cart ID 443
Transaction Subtotal 443
Units 443
Transaction Event 444
©2020Oracle Corporation. All rights reserved 15 of 514
URL truncation parameter 444
Video parameters 445
Brightcove account ID 446
Brightcove playlist ID 446
Brightcove video ID 447
Duration based on range 447
Duration in minutes 447
Duration in seconds 447
Media event identifier 448
Media type 448
Mode type 448
Percentage played 449
Player name 449
Player resolution 449
Playhead in minutes 450
Playhead in seconds 450
Video content type 450
Video identifier 451
Video name 451
Video provider 451
Video resolution 451
Video tags 452
Video tag name 452
Video tag plugin version 452
Video URL 453
Volume level 453
Visitor session parameters 453
Active or closed 453
©2020Oracle Corporation. All rights reserved 16 of 514
Duration limit 454
Duration 454
Events received 454
New or returning visitor 454
Pages viewed 455
Reason for closing 455
Session ID 455
Start time 456
Time inactive 456
Time of most recent event 456
Visitor ID 456
First event block parameters 457
Visitor tracking parameters 458
First hit for a new visitor for an account 458
First hit for new visitor session 458
First hit of day 459
First hit of new session 459
First Visit 459
New visitor for an account 460
Visitor ID 460
Web client parameters 461
Character set 461
Connection type 461
Home page 462
Java enabled 462
JavaScript enabled 462
JavaScript version 463
Local time 464
©2020Oracle Corporation. All rights reserved 17 of 514
Screen color depth 464
Screen resolution 464
Time zone 465
User language 465
Window size 466
Streams 467
Streams lab 468
Streams lab controls 469
Saving a streams lab 471
Session stream 473
Session stream controls 474
Viewing visitor session streams 476
Streams Query Syntax 479
492
Frequently asked questions 493
Oracle Infinity Analytics Glossary 501
©2020Oracle Corporation. All rights reserved 18 of 514
What is Oracle Infinity?
Oracle Infinity is a digital analytics platform for tracking, measuring, and optimizing the
performance and visitor behavior of enterprise websites and mobile apps. The Analytics
application in Oracle Infinity provides a set of report collections for exploring and
managing your data.
Oracle Infinity provides:
l Data collection: Collect web and mobile app activity data that interests you. As data is
collected, it is sessionized, augmented, and evaluated to identify if someone is a previously
known user or a new user. All your data is collected, processed, and available for analysis
using Infinity's reporting UI and APIs in less than a minute. Get immediate feedback on
campaigns or new content you just launched on your site.
l Reports: Analyze your data and prepare reports immediately. Unlimited swappable
dimensions reduce the need for one-off reports.
l Streams: Gain real-time insights into a continuous flow of visitor activity data.
l Action Center: Integrate in-session, customer-level data with action systems such as email
service providers, CRM systems, and marketing automation platforms. Action Center enables
creation, monitoring, stopping, and starting of connections.
l Integrations: APIs enable integration with your business and marketing applications.
l Account settings: Define roles, groups, user privileges, and more.
l Library: The Library application provides you with a way to administer reports, measures,
dimensions, segments, and any other objects that you can administer.
©2020Oracle Corporation. All rights reserved 19 of 514
Signing in
To access Oracle Infinity for the first time, you need an email invitation from your Oracle
Infinity administrator that will prompt you to activate your user account and specify a
password. You can then access your account and specify your first and last name as you
want it displayed in the Oracle Infinity application.
To sign in for the first time:
©2020Oracle Corporation. All rights reserved 20 of 514
1. Open your email invitation and click Activate Your User Account.
Your browser displays a password reset page in Oracle Identity Cloud.
©2020Oracle Corporation. All rights reserved 21 of 514
Tip: If the link in your welcome email has expired, use the Can't sign in? link.
2. Enter a new password that meets the criteria and then confirm it.
3. From the upper right-hand drop-down menu, selectMy Profile. TheMyProfile page is
displayed.
©2020Oracle Corporation. All rights reserved 22 of 514
4. Edit your first and last name for use inOracle Identity Cloud and click Save.
5. Return to your email invitation and click Access Your Account. Your browser displays the
Oracle Infinity edit name page.
6. Enter your first and last name and the click Save. The Oracle Infinity initial page is displays the
set of available applications.
©2020Oracle Corporation. All rights reserved 23 of 514
Note: If you have access to multiple accounts, you will be prompted to select one
before the list of applications is displayed. The applications page and the menu
bar will only show the applications that are enabled for your account and that you
have rights to use.
For access to other applications, contact My Oracle Support (MOS).
Signing in after activating your account
Once you sign in for the first time, you can reach the sign in screen by going to
https://app.oracleinfinity.com.
©2020Oracle Corporation. All rights reserved 24 of 514
To sign in to Oracle Infinity:
1. Go to https://app.oracleinfinity.com.
You are redirected to the Oracle Identity Cloud Service sign in page.
2. Enter your username and password and click Sign In. A list of applications is displayed.
Changing your password
If you forget your password or need to change it, go to the sign in screen at go to
https://app.oracleinfinity.com, click the Can't sign in? link, and follow the prompts.
©2020Oracle Corporation. All rights reserved 25 of 514
To change your password:
1. If you are currently signed in to Oracle Infinity, sign out by selecting Sign Out from the profile
menu in the upper right.
If you are not yet signed in, go to https://app.oracleinfinity.com. The Oracle Identity Cloud
Service login page is displayed.
©2020Oracle Corporation. All rights reserved 26 of 514
2. Click the Can't sign in link. The Forgot your password? page is displayed.
3. Enter your email address and click Submit. On the confirmation page, click Submit again to
send the reset email message to your address.
4. Once you receive the email message, click its Password Reset link, which opens the
password reset page where you can enter and confirm your new password.
Editing your profile
You can edit your first and last name as you want it to be displayed in the Oracle Infinity
UI.
To edit your profile name:
1. Once you sign in with your existing password, click the down arrow next to your profile and
then select Edit Profile.
The Edit Your Profile page is displayed.
©2020Oracle Corporation. All rights reserved 27 of 514
2. Enter your first and last name.
3. Click Save.
Data privacy and security features
Oracle has adopted security controls and practices for Oracle Cloud Services that are
designed to protect the confidentiality, integrity, and availability of customer data that is
hosted by Oracle in the Oracle Cloud Services.
Oracle Infinity has several mechanisms to help meet your organization's data privacy
and security requirements, including the following:
l Secured user access: Oracle Infinity enforces multi-factor authentication for all access to the
production infrastructure. Your administrators can specify roles, groups, and data permissions
and then invite users to sign in.
l Collectionminimization: By default Oracle Infinity collects very little personal data and does not
share it with third parties.
l Secure cookies: When you opt to persist first-party cookies, the cookies that are set by the
Oracle Infinity Tag can only be read by a user through an HTTPS connection. This secured
option is enabled by default for new versions of the tag. It can also be disabled if you need to
host content on non-HTTPS sites. To update your existing Oracle Infinity Tag settings, contact
your Oracle Infinity solutions consultant.
l IP addressmasking: You can use the optional dcsipa parameter to mask IP addresses.
l Data retention: Data is retained for 25 months, but you can request a longer or shorter
interval. Backups are stored for 60 days.
l Data portability: You can export your report data.
©2020Oracle Corporation. All rights reserved 28 of 514
Navigating Infinity
When you sign in to Oracle Infinity, a list of applications that you have rights to is
displayed.
Note: If you have access to multiple accounts, you will first be prompted to select
one before the applications are displayed.
To open one of the applications supported by your account, click its button in the center
of the page or click its icon on the menu bar. For example, to open Oracle Infinity
Analytics, either click Analytics or its icon on the top menu.
Each application's page displays:
l Breadcrumbs of your current location
l A set of icons at the top right to switch to other applications:
©2020Oracle Corporation. All rights reserved 29 of 514
lThe help icon, which opens this documentation:
l Your profile menu, where you can switch accounts, edit your profile, and sign out
At the top right of the screen is the account menu, which allows you to sign out, change
your profile, or switch to any other accounts to which you have access.
You can click the following icons to open the corresponding applications:
lAnalytics
lLibrary
©2020Oracle Corporation. All rights reserved 30 of 514
lStreams
lAction Center
lAccount Settings
Setting your time zone
All data is stored in coordinated universal time (UTC) in the Infinity platform. You can set
your time zone so that report data can be offset from UTC.
Note: Time zone selection does not change how the data is stored. Each user in
an account can set their preferred time zone for how they view the report data.
To set your time zone
©2020Oracle Corporation. All rights reserved 31 of 514
1. When viewing a report, click Today to display the calendar controls.
2. Click Time and date settings. The Time and Date Settings dialog is displayed.
©2020Oracle Corporation. All rights reserved 32 of 514
3. From the Time Zone list, select your time zone.
4. You can also set your preference for an AM/PM or 24-hour time format.
5. Click Save. Based on your time zone selection, all report data in displayed the Oracle Infinity
UI will be offset from UTC.
Supported browsers
The Oracle Infinity UI supports the latest versions of following browsers:
l Google Chrome
l Microsoft Internet Explorer
©2020Oracle Corporation. All rights reserved 33 of 514
Note: The Oracle Infinity UI is not intended to work on small devices such as
mobile phones. However, it takes advantage of HTML 5, so it can be used on
larger format devices such as tablets.
©2020Oracle Corporation. All rights reserved 34 of 514
Account settings
Account settings allows you to:
l Define user roles
l Define groups
l Invite users
l Define data permissions.
l Manage parameters.
When managing users, you typically follow this process:
1. Create roles.
2. Create groups.
3. Invite users and assign them to groups.
Once you establish roles, groups, data permissions, and some users, you can use
account settings to modify them whenever necessary to suit your business needs.
What information is needed to set up access rights?
l What is the user's role (such as administrator, report manager, or report user)?
l What do they need to access (such as data from a certain product line, marketing channel, or
region)?
l What types of permissions do they need (such as view, edit, create, or publish)?
©2020Oracle Corporation. All rights reserved 35 of 514
Note: You must be granted access to account settings by your Oracle Infinity
administrator before you can view any settings.
Accessing account settings
To access account settings:
1. On the top menu bar, click the account settings icon.
Depending on your access rights, the side bar displays account settings that you can modify,
such asRoles. If you need additional access rights, contact your Oracle Infinity administrator.
Managing roles
A role is a set of predefined rights that you can assign to a group. Each feature set has a
different set of available rights.
A role can be assigned directly to a user, but assigning roles to groups is recommended
because it simplifies the managing and troubleshooting of rights and permissions. For
example, if a user is directly assigned the administrator role for analytics, you might
©2020Oracle Corporation. All rights reserved 36 of 514
assume that they can view and manage all collections. However, the user cannot access
a specific collection if permissions to access it are assigned to a group to which the user
is not a member.
Oracle Infinity comes provisioned with a set of default roles to get you started. If you have
the Administrator role for Account settings or you are in the Super Administrator group,
you can create, modify, or delete the other roles at any time.
Note: The Administrator role has rights to all feature functions ("all access") and
cannot be modified or deleted.
Creating a role
When you create a role, you need to enter a unique name and select rights for one of the
following features.
Feature Available optionsAccount Settings l Select all: Populates all available check boxes.
l All Access: Provides rights to all Account Setting functions.
l Manage Parameters
l Manage Users, Groups, Roles, and Data Permissions
l View Parameters
l View Users, Groups, Roles, and Data Permissions
Action Center All AccessAnalytics l Select all
l Manage Collections
©2020Oracle Corporation. All rights reserved 37 of 514
Feature Available options
l Manage Data Extensions
l Manage My Objects
l Manage Public Objects
l Manage Standard Objects
Streams All AccessTag Manager l Manage Tags
l View Tags
Note: Some options are linked. For example, if you select Manage Parameters,
View Parameters is automatically selected. If available, Select all populates all
available check boxes. Clear All Access if you want to select specific rights.
To create a role:
1. On the top menu bar, click the account settings icon.
2. From the side bar, selectRoles.
©2020Oracle Corporation. All rights reserved 38 of 514
3. ClickCreate Role.
The Create Role dialog is displayed.
4. From the Create role for list select features, such as Account Settings.
The Create Role dialog expands to show additional options.
5. Enter a name for the role.
6. Select rights for the role.
7. Click Save. The new role is displayed in the role list at the bottom of the window.
Note: A role must have a name and at least one right before you can save it.
Modifying or deleting a role
If you have the Administrator role or have been granted Manage Users rights, you can
modify or delete a role.
Important: If you delete a role, make sure that you do not leave its users without
another role.
©2020Oracle Corporation. All rights reserved 39 of 514
To modify or delete a role:
1. Click the account settings icon on the top menu bar.
2. From the side bar, selectRoles.
3. Click the feature associated with the role, such as Analytics.
The list of roles associated with the feature are displayed.
4. Click the down arrow next to a role name.
5. ClickDelete Role to remove the role or click Edit Role to modify it.
6. If you modify a role's name or selected rights, click Save.
Managing groups
A group can associate a collection of roles and data permissions to users.
If you have the needed rights, you can create, modify, or delete groups at any time.
©2020Oracle Corporation. All rights reserved 40 of 514
Note: The Super Administrator group is created along with each new Oracle
Infinity account. Its members have access to all functionality provisioned for the
account.
Creating a group
If you have the needed rights, you can create groups.
To create a group:
1. On the top menu bar, click the account settings icon.
2. From the side bar, selectGroups.
3. ClickCreate Group.
4. Enter a unique group name.
5. Select one or more available roles for this group.
6. (Optional) Select one or more available data permissions for this group.
7. Click Save.
©2020Oracle Corporation. All rights reserved 41 of 514
Tip: If a needed role or data permission does not already exist, you can click the
option to create a new role or data permission from the available lists.
Modifying a group
If you have the needed rights, you can modify groups.
To modify a group:
1. On the top menu bar, click the account settings icon.
2. From the side bar, selectGroups.
3. Click the group name in the Name column.
4. Click the edit icon at the right of the group list to modify the selected roles and data
permissions.
5. Click Save.
Deleting a group
If you have the needed rights, you can delete groups. However, you cannot delete the
Super Administrator group.
©2020Oracle Corporation. All rights reserved 42 of 514
Important: You can only delete groups that have no associated users. If you delete
a group, make sure that you do not leave its users without the needed roles and
data permissions.
To permanently delete a group:
1. On the top menu bar, click the account settings icon.
2. From the side bar, selectGroups.
3. Click the group name in the Name column.
4. Click the delete icon at the lower right of the group list to remove the selected role.
Viewing a group's users
If you want to find out who belongs to a group, you can click the link in the Users column
to display a list.
To see group members:
1. On the top menu bar, click the account settings icon.
2. From the side bar, selectGroups.
3. Click the user count in the group'sUsers column to display a list of the group's users.
©2020Oracle Corporation. All rights reserved 43 of 514
Super Administrator group
The Super Administrator group is preconfigured for your Oracle Infinity account to
provide the group's members with access to all the functionality available in your
account.
The first user in your organization to be invited to your new account is automatically
added to the Super Administrator group. Only members of the Super Administrator group
can modify the group's membership. The Super Administrator group is visible in the list
of groups in Account Settings > Groups, but non-Super Administrator users will not see
the edit icon next to the group.
The Super Administrator group has the Administrator role assigned for Account Settings,
Action Center, Analytics, and Streams. The Super Administrator group's roles cannot be
modified and the group cannot be deleted.
Important: Users in the Super Administrator group have full access to all custom
objects—including private objects. For example, Super Administrator users can
view, edit, and delete other users' private reports and funnels, which will appear in
the Other Private Reports category.
Managing users
Secured user access to Oracle Infinity is administered in account settings. When
managing users, you typically follow this process:
1. Create roles.
2. Create groups.
©2020Oracle Corporation. All rights reserved 44 of 514
3. Invite users and assign them to groups.
Viewing users
Before inviting a user to sign in, you can review the list of users to see if they are already
using Oracle Infinity.
To view users:
1. Click the account settings icon on the top menu bar.
2. SelectUsers from the left sidebar.
3. Click the row for an existing user to view their details, such as groups, roles, and data
permissions.
Learn more: Viewing a group's users
Inviting users
You can use account settings to invite users to sign in and start using Oracle Infinity.
Prerequisites
©2020Oracle Corporation. All rights reserved 45 of 514
l To invite a user, you must enter at least one email address.
l The new user must be associated with at least one role or group.
l You must have rights to view andmanage users.
Note: The Super Administrator group is only displayed in the list of available
groups if you are a member of the Super Administrator group.
To invite new users:
1. Click the account settings icon on the top menu bar.
2. SelectUsers from the left sidebar.
3. Click Invite Users.
The Invite Userswindow is displayed.
4. Enter one or more email addresses. You can paste in multiple email addresses that are
separated by a comma or semicolon. When entering multiple email addresses for one
invitation, all users get the selected roles and groups.
©2020Oracle Corporation. All rights reserved 46 of 514
5. In theGroups section, select one or more groups for the set of users. Alternatively, select +
New Group and create a new group.
As you add groups, the Roles and Data Permissions sections are populated.
6. (Optional) In the Roles section, you can select individual roles for the set of users that you are
inviting (not recommended). It is better to associate the role with a group because managing
roles for specific users can be problematic.
7. (Optional) In the Data Permissions section, you can select individual data permissions, but it is
better to associate them with a group.
8. Click Save.
9. Click Send Invite or Send and Add More to invite more users.
Modifying users
To edit a user:
1. Click the account settings icon on the top menu bar.
2. SelectUsers from the left sidebar.
3. Click a user's name or email address. The user's details are displayed.
4. Click the edit icon at the lower right to modify or remove the user.
5. Add or remove groups, roles, and data permissions.
6. Click Save.
©2020Oracle Corporation. All rights reserved 47 of 514
To edit groups for multiple users:
1. Click the check box to the left of all users you want to edit.
2. Click Edit Groups for X Users at the top left of the user list.
3. Modify group assignments, then click Save.
To delete a user:
1. Click the account settings icon on the top menu bar.
2. SelectUsers from the left sidebar.
3. Click a user's name or email address. The user's details are displayed.
4. Click the delete icon at the lower right.
5. ClickDelete.
To edit groups for multiple users:
1. Click the check box to the left of each user.
2. Click Edit Groups for X Users at the top left of the user list.
©2020Oracle Corporation. All rights reserved 48 of 514
3. Modify the group assignments for the set of users.
4. Click Save.
Note: Users are not notified when their account changes, but automatically see
new applications in the top menu bar after their next sign in.
Managing data permissions
Data permissions are special filters to define what data users can access in Oracle
Infinity. For example, data permissions can provide or restrict access to:
l Data about specific websites
l Data from a specific business unit
l Data from a specific geographical region
l Other groups' or users' data
Groups should be used to associate users with specific data permissions. Alternatively,
you can assign the permissions directly to the user, but this is not recommended
because managing individual permissions is time consuming and prone to error.
The Super Administrator group has rights to view and manage data permissions and can
assign data permissions rights to other groups.
Viewing data permissions
To view data permissions:
©2020Oracle Corporation. All rights reserved 49 of 514
1. On the top menu bar, click the account settings icon.
2. From the side bar, selectData Permissions.
3. In the Name column, click the permission's name to view its details.
To see groups associated with a data permission:
1. On the top menu bar, click the account settings icon.
2. From the side bar, selectData Permissions.
3. Click the group count in theGroups column. Details about the groups associated with the data
permission are displayed.
Creating a data permission
A valid data permission has:
l A unique name
l At least one expression with at least one value
To create a data permission:
1. On the top menu bar, click the account settings icon.
©2020Oracle Corporation. All rights reserved 50 of 514
2. From the side bar, selectData Permissions.
3. ClickCreate Data Permission. The Create Data Permission dialog displays a list of
parameters that you can drag to the boxes on the right to either allow or deny access when
they match the specified values.
4. Click and drag a parameter you want to add to the data permission to the appropriate area in
the right panel. You can also use the search field at upper left to find parameters and then click
and drag them.
5. Allow or deny access to parameter by using the available operators and specifying values for
this parameter or if any data in this parameter should be restricted. You can add and define as
many parameters as you like. To duplicate a parameter and edit it (if you are restricting the
parameter based on the value it carries) click the duplicate icon to the right of the
parameter.
©2020Oracle Corporation. All rights reserved 51 of 514
6. When you are finished defining data permissions for the parameters, clickReview and Name.
7. Give the data permission a name and description. If you want to return to editing parameters
before finishing, click Edit Filters.
8. When you are finished, click Save. The new permission is shown in the data permissions list.
Modifying a data permission
To modify or delete a data permission:
1. On the top menu bar, click the account settings icon.
2. From the side bar, selectData Permissions.
3. Click the permission's name in the Name column to view its details.
4. Click the edit icon at the bottom right of the data permissions list.
5. Make changes to the permission.
6. Click Save.
The data permission is now available to be added to a group to provide or restrict access
to the corresponding data.
©2020Oracle Corporation. All rights reserved 52 of 514
Deleting a data permission
To delete a data permission:
1. Click the permission's name in the Name column to view its details.
2. Click the edit icon at the bottom right of the data permissions list.
3. Click the trash icon to permanently delete the permission.
Managing parameters
In Oracle Infinity Analytics, you can use standard parameters with dimensions,
measures, and segments.
If you have the necessary rights, you can do the following:
l View all parameters collected for your account.
l Modify the parameter names displayed in the Oracle Infinity UI.
l Modify the category in which parameters are displayed in various lists in the UI.
l Make additional parameters available in Oracle Infinity Analytics. You cannot delete
parameters, but you can remove them from use in Analytics.
l Specify advanced options, such as decoding the parameter's value or splitting it on a
character.
©2020Oracle Corporation. All rights reserved 53 of 514
Note: Changes made to parameters in Account Settings only applies to their use in
Oracle Infinity Analytics, not in Streams, Action Center, or Oracle Infinity Data
Connector.
Viewing parameters
If you have the necessary rights, you can view information about all of the parameters
collected for your account in Account Settings > Parameters.
In addition to standard parameters, the list of parameters is populated based on what is
collected from the Oracle Infinity Tag and the Oracle Infinity SDK. Any new parameter
that is collected will automatically be displayed in Account Settings within minutes. You
can then edit it and add it to Analytics for use in reporting.
Various options are available for filtering, sorting, and searching the list of parameters.
Once you select a parameter, you can click it to display more details and click the edit
icon to edit the parameter and its advanced options.
You cannot delete parameters, but you can clear its In Use By > Analytics option so that
it is not displayed in Analytics reports.
To view parameters in Account Settings:
1. Click the account settings icon on the top menu bar.
©2020Oracle Corporation. All rights reserved 54 of 514
2. From the side bar, click Parameters.
The following columns are displayed:
l Display Name: This is an editable name that describes the purpose of the parameter and is easier
to read than name in the Parameter column. For example, City is the display name that
corresponds to the ext.geo.city parameter.
l Parameter: This is a read only parameter key that is used in the Oracle Infinity platform. Its
syntax often differs from the parameter key when it was collected from the client.
l In Use By: Indicates whether the parameter is available for use in Oracle Infinity Analytics. If
Analytics is displayed in the parameter's In Use By column, it will be available for use when
configuring reports and exploring data. If a parameter is collected for your account but is not
displayed in the Analytics UI, you can select the Analytics check box when editing the
parameter.
l Category: The category is used for grouping parameters in various lists in the UI.
3. (Optional) Select one of the following views from the Show list:
l All Parameters: Display all parameters available for your account.
l In Analytics: Only display parameters that are currently available in Oracle Infinity Analytics.
l Named (the default): Only display parameters that have a specified name. This value helps to
reduce the display of parameters that are not commonly needed.
l Unnamed: Only displays parameters that have not yet been given a display name.
©2020Oracle Corporation. All rights reserved 55 of 514
4. Click on a parameter's row to view additional details, such as its data type and advanced
options.
5. To close the details panel, click its X.
©2020Oracle Corporation. All rights reserved 56 of 514
Editing parameters
If you have the rights to manage parameters, you can modify parameter names, the
category to which they are assigned, and whether they are available for use in Analytics.
You can also specify advanced options.
To edit a parameter:
1. Click the account settings icon on the top menu bar.
2. From the side bar, click Parameters. By default, parameters that already have names are
displayed.
3. To locate the parameter you want to edit, you can enter its name in the search box or sort the
columns. If the parameter is not listed, it may not yet have been given a display name. To show
unnamed parameters, you can selectUnnamed or All Parameters from the Show list.
4. Click the row of the parameter you want to change.
©2020Oracle Corporation. All rights reserved 57 of 514
5. Click the edit icon .
6. In the Display Name box, enter a new name for the parameter. For example, instead of
having users search for data.wt.mc_id, you can name itCampaign ID.
7. In the Category section, click the list to choose a category. Alternatively, click + Create
Category to add a new category, enter a category name, and click the icon. You then need
to select the new category from the list to add the parameter to it.
©2020Oracle Corporation. All rights reserved 58 of 514
8. You can edit a category by clicking the edit icon next to it in the category list, entering a new
category name, and clicking the icon.
Important: Categories are shared across parameters and reports. Any changes you
make to a category for parameters affects reports that share the category.
9. To delete a category, click the trash can icon next to the category that you want to delete
and then clickDelete Category in the confirmation message that is displayed. Alternatively,
you can use the Library to delete categories.
10. To make the parameter available in Oracle Infinity Analytics, select the Analytics check box in
the In Use By section. When Analytics is selected, the AdvancedOptions section displays
editable options. You cannot delete parameters, but you can clear this check box to remove
them from use in Analytics.
©2020Oracle Corporation. All rights reserved 59 of 514
Important: If a parameter is already in use (for example, included in ameasure),
removing it fromAnalytics could cause unintended impacts on reports that use the
parameter. Make sure the parameter is not in use before clearing its Analytics check
box.
11. In the Data Type section, select one of the following values if you need to change a
parameter's data type:
l String: Supports one or more alphanumeric characters. Example: wt.tx_cartid=27980554
l Numerical: Supports one or more integers so that mathematical operations can be performed on
them, such as when you specify the parameter in a calculatedmeasure. Example: data.wt.tx_
u=2.
12. In the AdvancedOptions section, you can edit any existing options or click the advanced
options icon to select the following options:
The order in which you specify advanced options is applied at the time a report is run. For
more details, see parameter advanced options.
©2020Oracle Corporation. All rights reserved 60 of 514
If the AdvancedOptions section does not display the icon, select the Analytics check
box.
13. Click Save.
Parameter advanced options
If you have the necessary rights, you can edit a parameter under account settings and
specify advanced options for parameters that are in use by Analytics. These options
apply only to report queries in Oracle Infinity Analytics and do not impact how the data is
stored.
Note: These settings do not apply to streams.
Advancedoption Description
Changecasesensitivity
Specify whether to change the parameter's values to uppercase, lower case,or title case.
©2020Oracle Corporation. All rights reserved 61 of 514
Advancedoption Description
Decode Specify decoding of parameter values. You can decode multiple times.Find andreplace
Specify strings in parameter values that you want to replace with alternativestrings. This setting supports regular expressions.
Split oncharacter
Specify the character you want to split a parameter value on, such as asemicolon. You can optionally correlate the split values to other parametersalso having split values, which are available in the Correlate to list.
Trimwhitespace
Specify one of the following locations of white space that you want to removefrom the selected parameter's values:
l leading
l trailing
l leading and trailing
Note:
Order of operations
The order in which you add advanced options indicates the sequential order that values
are processed at the time a report is run.
©2020Oracle Corporation. All rights reserved 62 of 514
Example: You specify advanced options for the data.wt.pn_sku parameter byfirst adding the Decode option, then Split on character, Decode again, and finallyadd the Change case to option. If data.wt.pn_sku has a value ofHalloween%2520Candy%3BWitch%2520Costume, it is processed in the followingorder:
1. Decode: data.wt.pn_sku=Halloween%20Candy;Witch%20Costume
2. Split on semicolon: data.wt.pn_sku=Halloween%20Candy and data.wt.pn_
sku=Witch%20Costume
3. Decode: data.wt.pn_sku=Halloween Candy and data.wt.pn_sku=Witch
Costume
4. Change case to lowercase: data.wt.pn_sku=halloween candy and data.wt.pn_
sku=witch costume
Change case sensitivity
You can use the Change case sensitivity option to specify whether to change the
parameter's values to uppercase, lower case, or title case.
This option does not impact case sensitivity as it applies to creating measures and
creating segments and does not change how your data is stored. This option does
impact aggregations of dimension values, such as New York vs. new york.
©2020Oracle Corporation. All rights reserved 63 of 514
Decode
You can use the Decode option to specify whether to decode the parameter's values if
they were passed to Infinity with percent-encoding so that the parameter values are
displayed in reports in a readable format without encoding.
You can apply this option multiple times as shown in the following examples:
Examples:
l You can decode data.wt.ti=holiday%20sale to holiday sale.
l You can double-decode data.wt.ti=holiday%2520sale to holiday sale.
l You can triple-decode data.wt.ti=holiday%252520sale to holiday sale.
Find and replace
You can use the Find and replace option to search for part of a parameter's value and
replace it with something else.
If you also select use regular expressions, the Find and replace option supports regular
expressions in the Find and Replace with boxes as shown in the following example:
©2020Oracle Corporation. All rights reserved 64 of 514
Example: If you want to find all HTML file names that include white-paper in aparameter's values and want to replace them with white-paper.html, specify/white-paper.*.html in the Find box and /white-paper.html in the Replacewith box. This would find all the following instances and replace them:
lhttp://www.example.com/white-paper-4729563489.html
lhttp://www.example.com/resources/white-paper-68AB1Y5H8X.html
lhttp://welcome.example.com/products/white-paper-U9462Ya8o98.html
Split on character
You can use the Split parameter on option to specify the character you want to split a
parameter value on, such as a semicolon or other delimiter. You can optionally correlate
the split values to other parameters also having split values, which are available in the
Correlate to list.
©2020Oracle Corporation. All rights reserved 65 of 514
The following standard parameters are split by semicolon:
Parameter name ParameterContent Group data.wt.cg_nContent Sub Group data.wt.cg_sProduct SKU data.wt.pn_skuScenario Name data.wt.si_nScenario Step Name data.wt.si_pScenario Step Numberdata.wt.si_xTransaction Subtotal data.wt.tx_sUnits data.wt.tx_u
You can also set up custom parameters as split-and-correlate parameters.
Example: You edit the advanced options of the Content Group parameter, whichcaptures multiple values that you want to split and correlate with values from theContent Sub Group parameter:
Before splitting:
l Content Group=pants;shirts;hats
l Content Sub Group=jeans;long%20sleeves;beret
After splitting on semicolon and correlating:
©2020Oracle Corporation. All rights reserved 66 of 514
l Content Group=pants and Content Sub Group=jeans
l Content Group=shirts and Content Sub Group=long%20sleeves
l Content Group=hats and Content Sub Group=beret
Trim white space
You can use the Trim white space option to specify one of the following locations of
white space that you want to remove from the parameter's values:
l leading
l trailing
l leading and trailing
Important: This option can potentially impact the evaluation of measure and
segment expressions.
©2020Oracle Corporation. All rights reserved 67 of 514
Reports
A report is a definition or expression for how you want to query your data. At least one
dimension and one measure are required to build a report and segments are optional.
Reports are assigned to a single category and can be assigned to multiple report
collections. Oracle Infinity Analytics includes some standard reports, which provide you
with a starting point for further ad hoc data exploration. You can also create your own
reports.
Infinity offers flexible reporting and data exploration. Any report can be customized on
the fly and extended with available dimensions and measures.
Dimensions in reporting are hierarchical: each subsequent dimension is filtered by the
dimension that precedes it. There is a UI limit of five dimensions that can be added to a
report, but this limit does not apply to the data or how it can be queried.
Data for reports is not preprocessed and aggregated in advance. When you select a
report from the menu, its report definition is used to query the Infinity big data platform at
the time it is selected.
Reports have the following features:
l You can dynamically add and removemeasures, dimensions, and segments to reports.
l Dimension drill down: you can quickly add dimensions to a report to refine the results.
l Report segmentation, including segment comparisons, are available on every report and you
can segment reports on the fly.
l Every report can be interrogated ad hoc.
l Your report changes are available immediately and do not require re-analysis.
l Unique user counts are available in all reports and are consistent across time boundaries.
©2020Oracle Corporation. All rights reserved 68 of 514
Viewing reports
Oracle Infinity reports are actually report definitions and are not preprocessed. They can
be evaluated on the fly and become the starting point for further ad hoc exploration. You
can drill down to a depth of five dimensions on any report (except for funnel analysis
reports) and can add or remove dimensions, measures, or segments in order to find the
answers needed.
To view reports:
1. Sign in to Oracle Infinity and select Analytics.
The Analytics page displays:
l Your collections in the main section. A collection is a set of reports that share a common segment
or set of segments to provide a view into your data. Each collection has a name, a set of
segments, a set of reports, and permissions. Access to collection can be made available to all
users or restricted to a specific group of users.
l Breadcrumbs of your current location
l A report menu for each collection
©2020Oracle Corporation. All rights reserved 69 of 514
2. Navigate to a specific report by selecting it from the collection's report list.
3. The report is displayed and you can navigate to other reports in this collection via the left-hand
panel.
©2020Oracle Corporation. All rights reserved 70 of 514
How reports are organized
When you select a report from the drop-down list, the report is loaded and new
navigation options are displayed:
l Categories: Toward the left of the report page is the list of categories, such asCampaigns,
Content, andMobile App, which allow you to navigate to other reports in this collection. The
number to the right of each category represents the number of reports in that category. For
more details about report categories, see editing a report.
l Search for a report: You can search for reports by entering a keyword in the search field near
the top of the report list.
l Select a date range: The default date range is Today, but you can select a different date
range.
l Add a segment: You can add a segment to filter a report.
©2020Oracle Corporation. All rights reserved 71 of 514
lClick Search to display options for searching your report data.
l Dimension column: The first column on the left displays a hierarchical view of the report's
dimensions.
l Measures: Measure columns display values that are applied to the report's dimensions. You
can add, remove, and change the order of measures in your reports.
l Save As: You can click Save As to copy a report.
l Chart type: You can display a trend line or bar chart for report data or hide the chart to focus
on data in the report table.
l Report table: Oracle Infinity Analytics' report table is an intuitive canvas for examining your
data based on dimensions andmeasures.
Managing collections
A collection is a set of reports that share a common segment or set of segments to
provide a view into your data. Each collection has a name, a set of segments, a set of
reports, and permissions. Access to collection can be made available to all users or
restricted to a specific group of users. Your account includes the All Data collection,
which is available to all users by default. It includes all data collected in your account
and serves as a starting point for data exploration. You can edit or delete it if needed.
Note: By default, the Collection Manager role or the manage collections right is
needed to create, edit, and delete collections.
©2020Oracle Corporation. All rights reserved 72 of 514
Viewing a collection
When you sign in to Oracle Infinity and select Analytics, the Collections page displays a
set of collections. You can then navigate to a specific report within a collection and dig
more deeply into your data.
To view a collection:
1. Sign in to Oracle Infinity and select Analytics.
A set of collections is displayed. By default, the All Data collection is included with your
account.
2. From the Collections page, navigate to a specific report within a collection.
©2020Oracle Corporation. All rights reserved 73 of 514
3. You can select a report from the collection's drop-down list.
The report is displayed and you can navigate to other reports in this collection via the left-hand
panel.
Creating a collection
You can create a collection of reports to help you quickly interrogate a subset of the data
available to you based on a segment that you define.
To create a collection:
©2020Oracle Corporation. All rights reserved 74 of 514
1. Sign in to Oracle Infinity and select Analytics.
The Collections list is displayed.
2. ClickCreate Collection. Alternatively, you can click the duplicate icon next to an existing
collection to copy it and then modify it.
©2020Oracle Corporation. All rights reserved 75 of 514
The Create Collection page is displayed.
3. Enter a unique name and a description for the new collection.
4. (Optional) In the Collection Image URL box, enter the URL of a specific image or a website
that you would like to represent the new collection in the Collections list. If you do not enter a
URL, a default Infinity image will be used.
©2020Oracle Corporation. All rights reserved 76 of 514
5. (Optional) In the Data section, click Add Segment to add or create a segment to filter your
data. These segments will apply to all reports in the collection. If you select multiple segments,
they use AND logic to filter your data. If you do not select any segments, this collection will
include all data collected for your account.
6. In the Reports section, use the check boxes and drop-down lists to choose the reports to
include in this collection. A collection must have at least one report.
7. In the Permissions section, select groups of users who can access this collection. If you do not
specify any groups, all users will have access.
Note: Super Administrator users have access to all collections and reports.
8. Click Save.
Modifying a collection
If you have the needed permissions, you can edit a collection.
To modify a collection:
1. Select Analytics.
The Collections list is displayed.
©2020Oracle Corporation. All rights reserved 77 of 514
2. Click the edit icon next to the collection you want to edit. The Edit Collection page is
displayed.
3. Modify any of the collection's values, such as its name, description, image URL, and reports to
be included in the collection.
4. In the Permissions section, you canmodify access to the collection.
5. Click Save.
Providing access to a collection
If you have the needed permissions, you can set access rights for a collection.
Important: If you are not a member of the group that you give access, you will no
longer see the collection.
To provide or restrict access to a collection:
1. Select Analytics.
The Collections list is displayed.
2. Click the edit icon next to the collection for which you want to set access rights. The Edit
Collection page is displayed.
3. In the Permissions section, select Specific groups only. A drop-down list of available groups
is displayed.
©2020Oracle Corporation. All rights reserved 78 of 514
4. From the list, select one or more groups to grant access permissions. If you do not specify any
groups, all users will have access.
5. Click Save.
Duplicating a collection
To duplicate a collection:
1. Sign in to Oracle Infinity and click Analytics. The Collections list is displayed.
2. Click the duplicate icon next to an collection you want to copy. The Duplicate Collection
page displays the copied configuration with the original collection's name suffixed with - Copy.
©2020Oracle Corporation. All rights reserved 79 of 514
3. Replace the copied name with a unique collection name and add a new description.
4. Make any other needed changes to this new collection.
5. Click Save.
©2020Oracle Corporation. All rights reserved 80 of 514
Deleting a collection
To delete a collection:
1. Sign in to Oracle Infinity and click Analytics. The Collections list is displayed.
2. Click the trash icon next to an existing collection to delete it. A confirmation dialog is
displayed.
3. Enter DELETE to confirm that you want to delete the collection and then clickDelete.
Managing reports
If you nave the necessary rights, you can:
©2020Oracle Corporation. All rights reserved 81 of 514
l View reports
l Select a date range for a report
l Edit custom reports
l Copy reports
l Remove reports from a collection
l Create reports
l Create private reports
l Create funnels
l Export reports
l Delete reports fromOracle Infinity Analytics
l Delete categories fromOracle Infinity
Selecting a date range
To select a date range for your report:
1. Navigate to a specific report by selecting it from the collection's report list. The default date
range of Today is displayed.
©2020Oracle Corporation. All rights reserved 82 of 514
2. Click the down arrow on the Today button to display a set of date ranges.
3. Select the date range you want or clickCustom to specify a custom date range.
4. (Optional) Set your time zone and time format.
Your report is rendered based on the selected date range.
Displaying chart data
Data is presented in a report table at the bottom of the report window. You can select
one or more cells in the report table to display:
l A single data point: Click a cell in the report table.
l Multiple adjacent data points: Select a cell and then Shift-click to select additional cells.
l Multiple data points that are not adjacent: Select a cell and then Ctrl-click (Linux or
Windows) or Command-click (Mac) to select each additional cell.
Your selections in the report table display a color dot corresponding to the same color
trend line or bar in the chart view.
©2020Oracle Corporation. All rights reserved 83 of 514
Note: You can select multiple data points within a single measure, but you cannot
select multiple cells across different measures. For example, you can select any
number of cells in the Sessions measure column, but you cannot select cells from
both the Sessions and Views measure columns.
Example trend line chart
Example bar chart
©2020Oracle Corporation. All rights reserved 84 of 514
Tip: You can click cells in the report table while a query is still in progress. New
queries for the additional cells selected will be added to the query that is already
running. You can use the shift and control (or command) keys to select more than
one cell at a time—up to a total of ten cells.
Changing the chart type
You can display a trend line or bar chart for report data or hide the chart to focus on data
in the report table.
Note: Whenever you select a chart display preference, it applies to all reports you
view until your preference is changed.
To change the chart type for a report:
©2020Oracle Corporation. All rights reserved 85 of 514
1. Click the chart option at the upper right of the report table.
Sample trend line chart
Sample bar chart
To hide the chart, click the hide chart icon .
Editing reports
You can edit any custom report if you have the necessary rights. You cannot edit
standard reports, but you can use them as a starting point for a custom report and then
click Save As to copy a report and give it a new name.
©2020Oracle Corporation. All rights reserved 86 of 514
Tip: The report information button is only displayed for custom reports, not
standard reports.
To edit a report:
1. Sign in to Oracle Infinity and select Analytics. The Collections list is displayed.
2. Select the drop-down list for the collection in which you want to edit a report.
3. Select a report that you want to edit.
4. Click the report information button or click the Save As button.
The Report Details dialog displays details such as the report's name, permissions, category,
©2020Oracle Corporation. All rights reserved 87 of 514
and a list of collections that use the report.
5. You can use this dialog to make any needed changes, such as the report's name, report
category, the collections that include this report, and the following permissions:
l Public: Select this permission if you want to share the report with other account users.
l Private: Select this permission if you do not need to share this report. If you select Private, the
©2020Oracle Corporation. All rights reserved 88 of 514
report is added to theMy Reports category.
Note: Super Administrator users can also see your private reports.
6. If you selected the Public permission, select the collections where this report will be available.
Report Details provides a quick way to determine which collections use a public report.
7. If you selected the Public permission, you can select a different report category, edit the name
of a category and then select it for the report, or create a new category and add the report to it.
©2020Oracle Corporation. All rights reserved 89 of 514
Important: Categories are shared across both reports and parameters. Any changes
youmake to a category for reports will affect parameters that also share that category.
8. Click Save Details.
©2020Oracle Corporation. All rights reserved 90 of 514
9. Make any needed changes to the report, such as adding dimensions,measures, and
segments. The Save button is displayed.
10. Click Save. If the report is public, a confirmation message displays the collections that include
this report.
11. Click Save.
Copying reports
You can copy any report if you have the necessary rights by clicking Save As and
specifying a new name.
You cannot edit standard reports, but you can use them as a starting point for a custom
report and then click Save As to give them a new name.
To copy a report:
1. Sign in to Oracle Infinity and select Analytics. The Collections list is displayed.
2. Select the drop-down list for the collection in which you want to edit a report.
3. Select a report that you want to copy.
©2020Oracle Corporation. All rights reserved 91 of 514
4. Click Save As, give the report with new name, and adjust its collection, category, and
permissions.
5. Click Save.
Removing reports from collections
If you have the necessary rights, you can remove a report from a collection.
To remove a report:
1. Click the Analytics icon . The Collections list is displayed.
2. Next to the collection that contains the report you want to delete, click edit . The Edit
Collection page is displayed.
3. In the Reports section, clear the check box for any report that you want to remove.
4. Click Save.
©2020Oracle Corporation. All rights reserved 92 of 514
Creating reports
If you nave the necessary rights, you can create reports, specify the collections in which
they are visible, set permissions, and assign them to report categories.
To build a report, you need a minimum of one dimension and one measure.
To create a report:
1. Sign in to Oracle Infinity and select Analytics. The Collections list is displayed.
2. Select the drop-down list for the collection in which you want to create a report.
3. ClickCreate Report. Alternatively, you can clickNew >Report if you already opened a
collection.
©2020Oracle Corporation. All rights reserved 93 of 514
The New Report page is displayed with three standard measures: Sessions,Users, and
Views.
4. Click Add Dimension and add one or more dimensions.
5. (Optional) Add one or more segments.
6. (Optional) Add, remove, or rearrangemeasures.
7. ClickRun Report.
©2020Oracle Corporation. All rights reserved 94 of 514
8. Click Save As. The Save As dialog is displayed.
9. Enter a unique name for the report.
10. Select one of the following permissions:
l Public: Select this permission if you want to share the report with other account users. If the
Public option is not displayed, you lack rights to create public reports.
l Private: Select this permission if you do not need to share this report. If you select Private, the
report is added to theMy Reports category.
Note: Super Administrator users can also see your private reports.
11. If you selected the Public permission, select the report category in which you want the new
report to be displayed, such asContent.
12. To make the report visible only in the current collection, select This Collection Only.
Alternatively, click Select Collections to display a list of collections to which you have access
and choose the collections that should include the new report.
13. Click Save. The new report is added to the specified category within the collection.
©2020Oracle Corporation. All rights reserved 95 of 514
Creating a private report
When you create a report and select the Private option, it is added by default to the My
Reports category of the current collection.
Important: Members of the Super Administrator group can see the private reports
created by other users
To create a report and add it to the My Reports category:
1. Create a report and click Save As. The Save As dialog is displayed.
2. In the Permission section, select the Private option.
3. Enter a unique name for the report.
4. Click Save. The new report is added to theMyReports category within the collection.
©2020Oracle Corporation. All rights reserved 96 of 514
Exporting reports
You can use the reporting API to export data from your reports. From the reporting UI,
you can export report data in CSV, HTML, JSON, or XML format. The initial export
request processes the data and packages the export file and a subsequent request
retrieves the exported file.
Note: Only data included in a saved report can be exported.
To export report data:
When a request is made to export data using a REST URL, you will be prompted to
enter your user name and password. It is also possible to pass encrypted authorization
details as part of the header, depending on the application used to execute the request.
If your user account does not have access to the account or the report, a “404, not found”
error results. Any data permissions configured in Account Settings for the user account
will be applied to the API export.
©2020Oracle Corporation. All rights reserved 97 of 514
1. When viewing a report, click the exporting and sharing icon above the chart.
2. Select the file format: CSV, JSON, XML, or HTML.
The Exporting and Sharing dialog displays the Infinity API REST URL where you can retrieve
your exported data and offers the following options:
l Copy to clipboard: Choose this option to retrieve the report later or to share the URL with other
users who have proper access.
l Open in a new tab: Open the REST URL in a new browser tab, which will prompt you for your
user name and password before processing the report.
3. ClickOpen in a new tab.
4. In the new browser tab, enter your user name and password. If your credentials provide you
access, a message indicates that the report is being processed. Export processing time
depends on the amount of data requested. Once the processing is completed, refreshing the
browser will download the exported file.
©2020Oracle Corporation. All rights reserved 98 of 514
5. Submit the request again (or refresh) to download the export file.
Tip: The date range of the exported file is the same date range as seen when
viewing the report in the user interface. You can edit the API REST URL to change
the date range parameters.
Authorization
To export report data, you must at a minimum have “View Only” access rights for Infinity
and you must have access to the account, the collection, and the report. When a request
is made to export data using a REST URL, you will be prompted to enter your username
and password. If your user account does not have access to the account or the report, a
“404, not found” error results. Any data permissions configured in Account Settings for
the user account will be applied to the API export. It is also possible to pass encrypted
authorization details as part of the header, depending on the application used to execute
the request.
Exported values may differ from the reporting UI
Exported reports for current or today date ranges will include any open sessions
available at the time when the export request is initiated. Open sessions are
continuously streaming into the Infinity platform and these open sessions are visible both
in the reporting UI and report exports, so it is possible for exported files to have slight
differences when compared to the reporting UI. For example:
1. At 8:05, I view a report for “This Week”. The reporting UI shows a session value of 12,814.
2. At 8:05, I click to initiate an export of this report including all open sessions up to 8:05.
©2020Oracle Corporation. All rights reserved 99 of 514
3. At 8:08, the export file has completed processing and is ready to be retrieved. I click to open
the file and see a session value of 12,814. This value matches sessions from 8:05 when the
export was initially requested.
4. At 8:10, I compare the export file’s session value of 12,814 to the reporting UI, which now
shows 13,007 sessions. The difference is the result of new sessions streaming into Infinity.
For two hours after the initial export request, any requests of the same report by the
same user will result in the same export file, unless the refresh parameter is set to
true. In the example above, export requests at 9:00 and 10:00 will return the same
export file as the 8:05 request. Export files are available for users to retrieve for up to two
hours. After two hours, subsequent export requests will reprocess and retrieve the most
up to date data. This two hour buffer is in place to allow sufficient time for longer running
queries to complete and for you to retrieve the export file.
If refresh=true is added to the request, any previous request made less than two
hours ago will be canceled and a new request will be initiated to retrieve the most up to
date data including any new open sessions since the previous request.
Settings and parameters
You can filter your report data by specifying the following optional settings and
parameters.
Type Description Parameter syntaxAutoDownload
Automatically download your exportfile once processed. When set totrue, the request will retry every 30seconds until a status code isreturned indicating processing iscomplete and then the export fileautomatically begins downloading.
l By default, this parameter is set to
autoDownload=[true|false]
To automatically download your export
file when processing is complete:
autoDownload=true
©2020Oracle Corporation. All rights reserved 100 of 514
Type Description Parameter syntax
false if not specified in the REST
URL.
l The parameter is case-sensitive.
l For Excel web queries, set
autoDownload to true and set the
download parameter to false.
autoDownload=true&download=false
For more details about Excel webqueries, see parameterizing valuesin Excel.
DateRange
Specify the range of days to beexported.
l If a time zone is not specified, UTC
is used by default.
l If the begin and end parameters
are not specified, the export
defaults to the current day.
l The begin and end parameters
must both be included when either
is used or the export will result in an
error.
Alternatively, specify a relative date
range.
begin=yyyy/mm/dd/hh
end=yyyy/mm/dd/hh
To export data for January 20, 2016:
begin=2018/01/20/00&end=2018/01/20/23
To export data for the 8:00 hour only on
January 20, 2016:
begin=2018/01/20/08&end=2018/01/20/08
Download
Specify whether exported data issaved to a file and downloaded ordisplayed directly in the browser.
l By default, this parameter is set to
download=[true|false]
To save exported data to file and
download:
©2020Oracle Corporation. All rights reserved 101 of 514
Type Description Parameter syntax
true if not specified in the REST
URL.
l In Chrome browsers, JSON and
XML formats will display in the
browser when download is set to
false, but CSV format will result in a
file download.
l This optional parameter controls
whether or not a header is
returned, which instructs the
browser to trigger a file download.
l When using the HTML format or
when importing into Excel, set
download to false.
download=true
To display exported data directly in the
browser (for JSON and XML when using
Chrome):
download=false
Format Specify the data export format: CSV,HTML, JSON, or XML.
lformat=csv
lformat=html
lformat=json
lformat=xml
Limit Specify the number of rows to beexported for each dimensional level.
l Amaximum of 3,000,000
dimensional rows of data can be
exported.
l The first dimension defaults to
1,000 rows if the limit parameter is
not specified.
limit=[1-3000000],[1-3000000],[1-3000000],...
Comma separated values may be
applied for each dimension in your
report.
©2020Oracle Corporation. All rights reserved 102 of 514
Type Description Parameter syntax
For more details, see dimensional
row distribution.
Refresh Cancel an existing request that isless than two hours old and refreshthe request with the latest data,including any new open sessions.
l By default, this parameter is set to
false if not specified in the REST
URL.
l If the last request is more than two
hours old, subsequent requests
automatically retrieve the latest
data.
l This option is only needed when
you want to refresh the request
within two hours of the previous
request.
refresh=[true|false]
To refresh the REST request to retrieve
the latest data:
refresh=true
If the previous request is more than two
hours old, this optional parameter is not
needed.
RelativeDateRanges
Specify a date range relative totoday.
l If time zone is not specified, UTC is
used by default.
l The parameter is case-sensitive.
Alternatively, specify a date range.
ldateRange=currentday
ldateRange=currentweek
ldateRange=currentmonth
ldateRange=currentquarter
ldateRange=currentyear
ldateRange=previousday
ldateRange=previousweek
ldateRange=previousmonth
©2020Oracle Corporation. All rights reserved 103 of 514
Type Description Parameter syntax
ldateRange=previousquarter
ldateRange=previousyear
Suppress ErrorCodes
Suppress error codes whenimporting into Excel. This is neededfor Excel imports, because requeststhat return any HTTP status codeother than 200 causes Excel todisable the connection. Adding thisparameter ensures that all errorsreturn a 200 status code to Excel,but the message text associated withthe error still appears.
l By default, this parameter is set to
false if not specified in the REST
URL.
suppressErrorCodes=[true|false]
To import data into Excel:
suppressErrorCodes=true
TimeZone
Specify the time zone. Data is storedin UTC in the Infinity platform, andspecifying a time zone will offset thedata from UTC.
timezone=canonical_time_zone_ID
Examples
If you are located in Los Angeles, CA,
USA (UTC -8:00):
timezone=America/Los_Angeles
If you are located in Paris, France (UTC
+1:00):
timezone=Europe/Paris
If you are located in Melbourne, Australia
(UTC +10:00):
timezone=Australia/MelbourneTotals Specify whether to include or totals=[true|false]
©2020Oracle Corporation. All rights reserved 104 of 514
Type Description Parameter syntaxexclude measure totals in yourexport.
l By default, the parameter is set to
false if not specified in the REST
URL.
To include measure totals:
totals=true
To exclude measure totals:
totals=false
Parameterizing values in Excel
To link a parameterized cell in Excel to a parameter in the API request:
1. In the Infinity reporting UI, export your report and selectCopy to clipboard.
2. Open Microsoft Excel and select the Data > From Web option. The NewWebQuery dialog is
displayed.
3. Paste the REST URL you copied to your clipboard into the Address and then modify the URL
to include the following parameters:
l Add suppresserrorcodes=true.
l Change the format parameter to html.
l Change or add download=false.
l Add autoDownload=true.
4. Click Save Query. The SaveQuery dialog is displayed, which allows you to browse for a
location.
5. Enter a path where you want to save the IQY file and click Save.
6. Open the IQY file and modify the REST URL to include the parameterized values you want.
For example:
©2020Oracle Corporation. All rights reserved 105 of 514
https://api.infinitycloud.io/v1/account/mv0nfs6p/dataexport/dt
ov3huh/data?begin=2017/12/26/00&end=latest&format=html&suppres
serrorcodes=true&download=false&autoDownload=true
7. In Excel, choose Data >Connections >Add and choose your modified IQY file.
8. In Excel, choose Existing Connections and point to the connection you just created.
9. You are then prompted to enter a value for the parameters you added to the IQY file (for
example, enter a begin value) and your report data populates Excel.
Dimensional row distribution
If you want to change the distribution of exported rows across dimensions, use the
limit parameter, which allows you to specify the number of rows exported for at each
dimensional level. If the first dimension in the report has low cardinality and the second
dimension has high cardinality (such as Device Type > Page Titles), consider using the
limit parameter with a lower value for the first dimension to allow a greater distribution
on sub-dimensions.
A maximum of 3,000,000 dimensional rows of data can be exported. The first dimension
will default to 1,000 rows and the remaining rows are distributed across the sub-
dimensions in your report. You can change the distribution of how many rows are
exported per dimension by using the limit parameter. Exported data is distributed across
dimensions in your report using the following default logic:
Number of reportdimensions Limit Equation
One First dimension: limitto 1,000 rows Limit to 1,000 rows
Two l First dimension:
limit to 1,000 rowsEquation for two dimension report: [maxrows] / [1st dimension limit]
©2020Oracle Corporation. All rights reserved 106 of 514
Number of reportdimensions Limit Equation
l Second
dimension: limit to
3,000 rows
Example: 3,000,000 / 1,000 = 3,000
Three l First dimension:
limit to 1,000
l Second
dimension: limit to
54 rows
l Third dimension:
limit to 54 rows
Square root of the equation for the two
dimension report[max rows] / [1st dimension limit]
3,000,000 / 1,000 = 3,000
Square root of 3,000 = 54
Four l First dimension:
limit to 1,000
l Second
dimension: limit to
14 rows
l Third dimension:
limit to 14 rows
l Fourth dimension:
limit to 14 rows
Cube root of the equation for three
dimension report
[max rows] / [1st dimension limit]
3,000,000 / 1,000 = 3,000
Cube root of 3,000 = 14
Additional examples
limit=100: 100 rows are exported for the first dimension.
l 2D reports: Sub-dimensions will export 30,000 rows
l 3D reports: Sub-dimensions will export 173 rows
l 4D reports: Sub-dimensions will export 31 rows
©2020Oracle Corporation. All rights reserved 107 of 514
limit=5000: 5,000 rows are exported for the first dimension.
l 2D reports: Sub-dimensions will export 600 rows
l 3D reports: Sub-dimensions will export 24 rows
l 4D reports: Sub-dimensions will export 8 rows
limit=3000000: 3,000,000 rows are exported for the first dimension.
l 2D reports: Sub-dimensions will export 1 row
l 3D reports: Sub-dimensions will export 1 row
l 4D reports: Sub-dimensions will export 1 row
limit=100,100
l 2D reports: first dimension exports 100 rows, second exports 100 rows
l 3D reports: First dimension exports 100 rows, second exports 100 rows, third exports 300
rows
l 4D reports: First dimension exports 100 rows, second exports 100 rows, third and fourth
export 17 rows
limit=-,100
l 2D reports: First dimension exports 30,000 rows, second exports 100 rows
l 3D reports: First dimension exports 173 rows, second exports 100 rows, third exports 173
rows
l 4D reports: First dimension exports 31 rows, second exports 100 rows, third and fourth export
31 rows
limit=100,-,100
©2020Oracle Corporation. All rights reserved 108 of 514
l 2D reports: First dimension exports 100 rows, second exports 30,000 rows
l 3D reports: First dimension exports 100 rows, second exports 300 rows, third exports 100
rows
l 4D reports: First dimension exports 100 rows, second exports 17 rows, third exports 100
rows, fourth exports 17 rows
limit=100,-,30,100
l 2D reports: First dimension exports 100 rows, second exports 30,000 rows
l 3D reports: First dimension exports 100 rows, second exports 1,000 rows, third exports 30
rows
l 4D reports: First dimension exports 100 rows, second exports 10 rows, third exports 30 rows,
fourth exports 100 rows
limit=100,-,-,100
l 2D reports: First dimension exports 100 rows, second exports 30,000 rows
l 3D reports: First dimension exports 100 rows, second exports 173 rows, third exports 173
rows
l 4D reports: First dimension exports 100 rows, second exports 17 rows, third exports 17 rows,
fourth exports 100 rows
And so on with additional dimensions.
Deleting reports from Oracle Infinity
If you have the necessary rights, you can delete a report or a funnel from Oracle Infinity
by using the library. However, you cannot delete standard reports.
©2020Oracle Corporation. All rights reserved 109 of 514
Important: When you delete a report, it is deleted from all collections in which it is
used.
To delete a report:
1. Click the Library icon . The Library page is displayed.
2. ClickReports.
3. Click the trash icon next to the report you want to delete. ADelete Report confirmation
message lists any collections that use the report.
4. Type DELETE in the box and then clickDelete.
Deleting categories from Oracle Infinity
If you have the necessary rights, you can use the Library to delete custom categories
from Oracle Infinity.
©2020Oracle Corporation. All rights reserved 110 of 514
Important: Deleting a category from the Library will remove it from every report and
parameter that uses it.
To delete a category from Oracle Infinity:
1. Click the Library icon on the top menu. The Library page displays the objects that you
can administer.
2. ClickCategories.
The list of all categories is displayed. Standard categories are included in the list but their trash
can icon is grayed out, which indicates that you cannot delete them.
3. Click the trash icon next to the custom category you want to delete. A confirmation message
asks if you are sure that you want to delete the category.
©2020Oracle Corporation. All rights reserved 111 of 514
4. If the category is being used by any reports or parameters, you must select another category
for those items from the drop-down list.
5. Type DELETE in the box and then clickDelete.
Report table
Whether you are tracking a campaign or determining your top device types per country,
the Infinity report table is an intuitive canvas for examining your data and has the
following structure:
©2020Oracle Corporation. All rights reserved 112 of 514
l Dimensions appear in the left column and remain visible even as the table scrolls horizontally.
You can add, remove, or rearrange dimensions.
l Measures appear across the top row of the table and remain visible as the table scrolls
vertically. You can add and removemeasures, and change the order of the columns.
l All cells outside of the left column and top row show calculations of your data.
In the following example, the dimension is Operating System Name and the measures
are Sessions, Users, Views, Bounce Rate, and Views per Session.
As you modify your view of a report, such as adding dimensions, measures, and
segments, the report will be requeried and its graph will refresh.
Searching reports
You can click Search to display the following options for searching for specific
dimension values in reports to better understand how these items are performing.
©2020Oracle Corporation. All rights reserved 113 of 514
ItemName Description1 Search
buttonClick to display search options for searching within the current reportdata.
2 Include orExclude Select whether to include or exclude data that matches the expression.
3 Dimensionlist
Select one dimension from the list of dimensions currently included inthe report. If you add a dimension to the report, it will be displayed in thedimension list.
4 Operators You can select one of the following operators:
l Equals
l Contains
l Starts With
l EndsWith
5 Values Type in one or more dimension values or partial values that you want tosearch for.
6 ORoperator
If you enter more than one dimension value strings, OR logic is used forthe query.
7 Casesensitivity
You can toggle the case sensitivity used to evaluate the dimensionvalues. By default, search is not case sensitive.
8 Applybutton
Click this button to query your existing report data against the searchcriteria. Only rows containing values that meet the search criteria arereturned. When a search filter is applied to a report that containsmultiple dimensions, the search results are displayed in a flattenedformat instead of the default hierarchical format.
9 RemoveTo clear the search query and return to the hierarchical view, click .
When to use search versus a segment
Search allows you to narrow the list of dimensions in your report to the rows of specific
interest. For example, your Page Activity report includes all the pages on your site, but
©2020Oracle Corporation. All rights reserved 114 of 514
you want to narrow your analysis to the performance of your Careers pages only. You
can apply a search expression to narrow the list of pages to just those in the Careers
section of your site. The use of search does not change how the measures in your report
are calculated, but rather it simply narrows the list of dimensions, allowing you to find the
data of interest. Search expressions also cannot be saved to a report.
Segments can be used to narrow the data set that is queried when you run your report.
For example, you can add a segment to include data from your users in Europe. This will
narrow the data set that the report queries, affecting the dimensions included in your
report and how the measures are calculated. Segments can also be saved to your report
and reused in other reports.
For ad hoc data exploration best practices, use search to temporarily narrow the lens in
your report and use segments to narrow the data set you want to query in your report.
Segments can be saved for reuse across other reports.
Note: You cannot search funnel analysis reports. However, you can apply
segments to a funnel to see how conversion rates and drop-offs change by
segment to better understand areas to target for improvement.
Standard reports
Oracle Infinity Analytics provides a set of standard reports to help you begin exploring
your data. You cannot edit or delete standard reports, but you can modify their values in
the current session and you can click Save As to create a copy of a standard report.
Oracle Infinity Analytics has the following categories of standard reports:
©2020Oracle Corporation. All rights reserved 115 of 514
Report DescriptionCampaignPerformanceMeasure campaign success by looking at individual campaigns.
ContentGroups Track the effectiveness of your online content.
Devices Discover the most and least popular devices for unique users to yourproperties to inform design.
Devices >Browsers
Optimize experiences with information about most popular devices andbrowsers used on your sites.
Entry Pages Find out where your users start their onsite journeys and if they are thepages you would expect.
Exit Pages Discover where people end their sessions.Geography View the geographic distribution of visitors.Languages Learn the language preferences of the people coming to your website so
you can tailor content to their needs.Mobile App Evaluate the performance of your mobile applications.Networks Learn about the type of network used based on the IP connection.New-ReturningUsers
Evaluate the loyalty of repeat users and measure new customeracquisition.
Next Pages Discover where visitors click next during their session.OnsiteSearch
Understand the effectiveness of onsite search and how it enables yourcustomers to find what they are looking for.
OS >Browsers
Identify the most popular operating systems and browsers used by peoplecoming to your site so you can best configure your website experience.
PageActivity
Learn new insights about the performance of pages such as which pageshave the highest bounce rate and discover which pages are viewed longerand are stickier than others.
PreviousPages Discover which pages people come from.
SearchEngines
Learn which search engines send you the most traffic and the quality ofthat traffic.
Time BasedTrends Learn the months, days, or hours when users are most or least engaged.
TrafficSources
Discover where people are coming from and which pages they start on, aswell as whether they come from paid or organic search, non-searchcampaigns, other referrers, or direct traffic.
©2020Oracle Corporation. All rights reserved 116 of 514
Campaign Performance report
You can measure campaign success by looking at individual campaigns and find out
which marketing partners or referrers are driving people to your sites.
Dimension DescriptionCampaign ID data.wt.mc_id associates pages with a specific campaign.Referring Domaindata.referrer-domain indicates the referring domain.
The Campaign Performance report offers the following measures:
l Avg Session Duration (Sec)
l Bounce Rate
l Sessions
l Users
l Views
l Views per Session
Content Groups report
Use the Content Groups report to track the effectiveness of your online content. For
example, find out how many users read abstracts of site content or case studies.
Dimension DescriptionContent Group data.wt.cg_n identifies one or more semicolon-delimited content
group names.Sub ContentGroup
data.wt.cg_s identifies one or more semicolon-delimited subcontentgroup names
The Content Groups report offers the following measures:
©2020Oracle Corporation. All rights reserved 117 of 514
l Avg View Time (Sec)
l Bounce Rate
l Sessions
l Users
l Views
l Views per Session
Devices report
Discover the most and least popular devices for unique users to your properties to inform
design.
Dimension DescriptionDevice Name ext.device.mktn indicates the marketing name for a device.Device Type ext.device.type indicates the type of device.Operating System Nameext.os.name indicates the name of the operating system.
The Devices report offers the following measures:
l Avg Session Duration (Sec)
l Bounce Rate
l Sessions
l Users
l Views
l Views per Session
Devices > Browsers report
Optimize experiences with information about most popular devices and browsers used
on your sites.
©2020Oracle Corporation. All rights reserved 118 of 514
Dimension DescriptionBrowser Name ext.browser.name indicates the name of the browser or browser
group.BrowserVersion ext.browser.version indicates the browser version.
Device Type ext.device.type indicates the type of device.
The Devices > Browsers report offers the following measures:
l Avg Session Duration (Sec)
l Bounce Rate
l Sessions
l Users
l Views
l Views per Session
Entry Pages report
Find out where your users start their onsite journeys and if they are the pages you would
expect.
DimensionDescriptionEntryPage
(entry) data.wt.ti + (entry) data.page-uri indicates the entry page titleand URI.
The Entry Pages report offers the following measures:
l Avg View Time (Sec)
l Bounce Rate
l Sessions
l Users
©2020Oracle Corporation. All rights reserved 119 of 514
l Views
l Views per Session
Exit Pages report
Discover where people end their sessions.
DimensionDescriptionExit Page (exit) data.wt.ti + (exit) data.page-uri indicates the exit page title and
URI.
The Exit Pages report offers the following measures:
l Avg View Time (Sec)
l Bounce Rate
l Sessions
l Users
l Views
l Views per Session
Geography report
Provides a view of the geographic distribution of users.
DimensionDescriptionCity ext.geo.city indicates the name of the user's city.Country ext.geo.country indicates the name of the user's country.Region ext.geo.region indicates the name of the user's region.
The Geography report offers the following measures:
©2020Oracle Corporation. All rights reserved 120 of 514
l Avg Session Duration (Sec)
l Bounce Rate
l Sessions
l Users
l Views
l Views per Session
Languages report
Learn the language preferences of the people coming to your website so you can tailor
content to their needs.
DimensionDescriptionCountry ext.geo.country indicates the name of the user's country.Language data.wt.ul indicates the web client's user language.
The Languages report offers the following measures:
l Avg Session Duration (Sec)
l Bounce Rate
l Sessions
l Users
l Views
l Views per Session
Networks report
Learn about the type of network used based on the IP connection.
©2020Oracle Corporation. All rights reserved 121 of 514
Dimension DescriptionNetwork Typeext.net.type indicates the type of network connection.Organization ext.net.org indicates the name of the network's organization.
The Networks report offers the following measures:
l Avg Session Duration (Sec)
l Bounce Rate
l Sessions
l Users
l Views
l Views per Session
New-Returning Users report
Evaluate the loyalty of repeat users and measure new customer acquisition.
Dimension DescriptionNew-Returning Useruser_type indicates a new or returning visitor.
The New-Returning Users report offers the following measures:
l Avg Session Duration (Sec)
l Bounce Rate
l Sessions
l Users
l Views
l Views per Session
©2020Oracle Corporation. All rights reserved 122 of 514
Next Pages report
Review which pages users are clicking next so that you can better understand user
navigation through your site and determine where you need to optimize.
DimensionDescriptionPage data.wt.ti + data.wt.es indicates the page visited immediately before
the page indicated by the Next Page dimension.Next Page data.wt.ti + data.wt.es indicates the page visited immediately after the
page indicated by the Page dimension.
The Next Pages report offers the following measures:
l Avg View Time (Sec)
l Bounce Rate
l Sessions
l Users
l Views
l Views per Session
Onsite Search report
Understand the effectiveness of onsite search and how it enables your customers to find
what they are looking for. This report supports additional measures.
Dimension DescriptionOnsite SearchPhrases
data.wt.oss identifies a word or a phrase that visitors submit for anon-site search.
The Onsite Search report offers the following search-related measures:
©2020Oracle Corporation. All rights reserved 123 of 514
l Avg Session Duration (Sec)
l Bounce Rate
l Search results: sum data.wt.oss_r
l Sessions
l Successful Searches: count data.wt.oss_r != 0
l Unsuccessful Searches: count data.wt.oss_r = 0
l Users
l Views
l Views per Session
OS> Browsers report
Identify the most popular operating systems and browsers used by people coming to
your site so you can best configure your website experience.
Dimension DescriptionBrowser Name ext.browser.name indicates the name of the browser or
browser group.Operating SystemName ext.os.name indicates the name of the operating system.
The OS > Browsers report offers the following measures:
l Avg Session Duration (Sec)
l Bounce Rate
l Sessions
l Users
©2020Oracle Corporation. All rights reserved 124 of 514
l Views
l Views per Session
Page Activity report
Learn new insights about the performance of pages such as which pages have the
highest bounce rate and discover which pages are viewed longer and are stickier than
others.
DimensionDescriptionPage data.wt.ti + data.wt.es provides information about the page a user was
on when certain events occurred.
The Page Activity report offers the following measures:
l Avg View Time (Sec)
l Bounce Rate
l Sessions
l Users
l Views
l Views per Session
Previous Pages report
Review which pages users are coming from so that you can better understand user
navigation through your site and determine where you need to optimize.
DimensionDescriptionPage data.wt.ti + data.wt.es indicates the page visited immediately after the
page indicated by the Previous Page dimension.PreviousPage
data.wt.ti + data.wt.es indicates the page visited immediately beforethe page indicated by the Page dimension.
©2020Oracle Corporation. All rights reserved 125 of 514
The Previous Pages report offers the following measures:
l Avg View Time (Sec)
l Bounce Rate
l Sessions
l Users
l Views
l Views per Session
Search Engines report
Learn which search engines send you the most traffic and the quality of that traffic.
This report includes a segment of data where the traffic source types contains search.
Dimension DescriptionSearch Engine ext.search.engine indicates the search engine used.Traffic Source Typeext.source.type indicates the type of traffic source.
The Search Engines report offers the following measures:
l Avg Session Duration (Sec)
l Bounce Rate
l Sessions
l Users
l Views
l Views per Session
Time Based Trends report
Learn the months, days, or hours when users are most or least engaged.
©2020Oracle Corporation. All rights reserved 126 of 514
Dimension DescriptionMonth data_month indicates the month.Day of Monthdate('%d'): Indicates the day of the month.Hour of Day date('%H'): Indicates the hour of the day.
The Time-Based Trends report offers the following measures:
l Avg Session Duration (Sec)
l Bounce Rate
l Sessions
l Users
l Views
l Views per Session
Traffic Sources report
Discover where people are coming from and which pages they start on, as well as
whether they come from paid or organic search, non-search campaigns, other referrers,
or direct traffic.
Dimension DescriptionEntry page (entry) data.wt.ti + (entry) data.wt.ti + data.page-uri indicates
the entry page title and URI.Referringdomain data.referrer-domain indicates the referring domain.
Traffic SourceType ext.source.type indicates the type of traffic source.
The Traffic Sources report offers the following measures:
l Avg Session Duration (Sec)
l Bounce Rate
©2020Oracle Corporation. All rights reserved 127 of 514
l Sessions
l Users
l Views
l Views per Session
Mobile App reports
Oracle Infinity Analytics provides the following set of standard Mobile App reports to help
you begin exploring your mobile data:
Report DescriptionCountry > MobileApp
View how your mobile apps and versions are used acrossgeographical regions and by which languages.
Country > MobileCarrier
View the most and least used mobile carriers across differentgeographical regions.
Mobile AppInstalls
Learn which versions of your app are being installed and on whichoperating systems.
Mobile Carrier >Mobile App
View the versions of your apps that are available and accessible permobile carrier.
Mobile Events View details about the types of actions a user performs inside themobile app.
Mobile Screens Determine what screens users viewed inside the app and whatevents were generated on those screens.
If you are collecting data for your mobile apps, these reports are a great way to begin
exploring how users are engaging your apps. You can add these mobile app reports to
any new or existing collection.
Country > Mobile App report
The Country > Mobile App report shows app name and version distribution across
country and device languages. This can be useful to see if the appropriately localized
©2020Oracle Corporation. All rights reserved 128 of 514
apps are being used or if new localization is required. It can also show adoption rates by
country.
Dimension DescriptionCountry ext.geo.country associates your mobile apps with a specific
country.Language data.wt.ul indicates the app's user language.Mobile App Name data.wt.a_nm specifies the name of the mobile app.Mobile AppVersion data.wt.av specifies the version of the mobile app.
The Mobile App Event Type Exists segment is applied to this report (data.wt.sys
exists).
This report includes the following measures:
l Mobile App Installs
l Screen Views
l Screen Views per Session
l Sessions
l Users
Country > Mobile Carrier report
The Country > Mobile Carrier report shows the most popular carriers used according to
country and device language. This can be useful in situations such as the following:
l Planning marketing activity with carrier partners
l Planning new app features, because some carriers use custom versions of mobile OS
versions
l Determining whether localized language versions of the apps may be required
©2020Oracle Corporation. All rights reserved 129 of 514
Dimension DescriptionCountry ext.geo.country associates your mobile apps with a specific country.Language data.wt.ul indicates the app's user language.Mobile Carrierdata.wt.a_dc indicates the mobile carrier.
The Mobile App Event Type Exists segment is applied to this report (data.wt.sys
exists).
This report includes the following measures:
l Mobile App Installs
l Screen Views
l Screen Views per Session
l Sessions
l Users
Mobile App Installs report
The Mobile App Installs report shows a breakdown of Oracle Infinity SDK version
distribution across app and OS versions. This can help you determine what versions of
the SDK are deployed and reporting back for your apps. It can also help show adoption
rates for your app versions.
Dimension DescriptionMobile App Name data.wt.a_nm indicates the name of the mobile app.Mobile App Version data.wt.av indicates the version of the mobile app.Operating System Nameext.os.name indicates the name of the operating system.Mobile SDK Build data.wt.sdk_v indicates the build of the Oracle Infinity SDK.
The Mobile App Event Type Exists segment is applied to this report (data.wt.sys
exists).
This report includes the following measures:
©2020Oracle Corporation. All rights reserved 130 of 514
l Mobile App Installs
l Screen Views
l Screen Views per Session
l Sessions
l Users
Mobile Carrier > Mobile App report
The Mobile Carrier > Mobile App report shows the versions of your apps that are
available and accessible per mobile carrier.
Dimension DescriptionMobile Carrier data.wt.a_dc indicates the mobile carrier.Device Name ext.device.mktn indicates the marketing name for a device.Mobile App Name data.wt.a_nm indicates the name of the mobile app.Mobile App Versiondata.wt.av indicates the version of the mobile app.
The Mobile App Event Type Exists segment is applied to this report (data.wt.sys
exists).
This report includes the following measures:
l Screen Views
l Screen Views per Session
l Sessions
l Users
Mobile Events report
View details about the types of actions a user performs inside the mobile app.
©2020Oracle Corporation. All rights reserved 131 of 514
DimensionDescriptionDeviceName ext.device.mktn indicates the marketing name for a device.
MobileApp Name data.wt.a_nm indicates the name of the mobile app.
MobileEventType
data.wt.sys indicates the mobile event type, such as app start, appterminate, app background, app foreground, and app notifications.
The Mobile App Event Type Exists segment is applied to this report (data.wt.sys
exists).
This report includes the following measures:
l Screen Views
l Screen Views per Session
l Sessions
l Users
Mobile Screens report
The Mobile Screens report shows the most popular screens used in deployed apps and
provides counts of some life cycle events associated with those screens. This can show
which screens trigger actions such as app backgrounding, or on which screens users
terminate apps. Depending on desired app usage patterns, this could validate design
choices or point out areas for new ones.
Dimension DescriptionMobile App Namedata.wt.a_nm indicates the name of the mobile app.Mobile Screen data.page-uri identifies the screen in the mobile app.
The Mobile App Event Type Exists segment is applied to this report (data.wt.sys
exists).
©2020Oracle Corporation. All rights reserved 132 of 514
This report includes the following measures:
l Mobile App Backgrounds
l Mobile App Foregrounds
l Mobile App Notifications
l Mobile App Starts
l Mobile App Stops
l Screen Views
l Screen Views per Session
l Sessions
l Users
Standard parameters
Oracle Infinity Analytics has the following categories of preconfigured report parameters
for use in dimensions, measures, and segments:
l Commerce
l Content
l Device
l Geo
l Mobile App
l Time
l Traffic Source
l Users
©2020Oracle Corporation. All rights reserved 133 of 514
Parameter prefixes
Oracle Infinity Analytics' standard parameters include the following prefixes that indicate
data processing and augmentation has occurred since the data was collected:
l data.: Collected by the Oracle Infinity Tag or an SDK
l ext.:Device-related parameters added based on user agent lookup and geo parameters
added based on IP address lookup
Example: The Oracle Infinity Tag or an SDK collects values for the wt.cg_n
parameter, processes them, and adds the data. prefix to the parameter. The
parameter is displayed in the Oracle Infinity Analytics UI as data.wt.cg_n.
Advanced options
The following advanced options are available for parameters:
l Decode parameters
l Change case to lowercase
l Split and correlate
l Trim leading and trailing white space
Some standard parameters are split and correlated by default as shown in the following
example, which shows advanced options applied to the data.wt.si_n parameter:
©2020Oracle Corporation. All rights reserved 134 of 514
Learn more: Editing parameters
Commerce category
Parameter name Parameter Advanced optionsCampaign ID data.wt.mc_idConversion data.wt.convInvoice data.wt.tx_i Split by semicolonProduct SKU data.wt.pn_skuSplit by semicolonScenario Name data.wt.si_n Split by semicolonScenario Step Name data.wt.si_p Split by semicolonScenario Step Numberdata.wt.si_x l Data type is
numerical
©2020Oracle Corporation. All rights reserved 135 of 514
Parameter name Parameter Advanced options
l Split by
semicolon
Transaction Event data.wt.tx_eTransaction Subtotal data.wt.tx_s l Data type is
numerical
l Split by
semicolon
Units data.wt.tx_u l Data type is
numerical
l Split by
semicolon
Content category
Parameter name Parameter Advanced optionsContent Group data.wt.cg_n Split by semicolonContent Sub Group data.wt.cg_s Split by semicolonDomain data.domainOnsite Search Phrase data.wt.ossOnsite Search Resultsdata.wt.oss_rData type is numericalPage Title data.wt.tiPage URI data.page-uriPage URL data.wt.es
Device category
Parameter name ParameterBrowser Name ext.browser.nameBrowser Version ext.browser.versionClient IP data.client-ipDevice Name ext.device.mktn
©2020Oracle Corporation. All rights reserved 136 of 514
Parameter name ParameterDevice Type ext.device.typeNetwork Type ext.net.typeOperating System Name ext.os.nameOperating System Versionext.device.osverOrganization ext.net.org
Geo category
Parameter nameParameterCity ext.geo.cityCountry ext.geo.countryLanguage data.wt.ulRegion ext.geo.region
Mobile App category
Parameter name ParameterMobile App Name data.wt.a_nmMobile App Version data.wt.avMobile Carrier data.wt.a_dcMobile App Event Typedata.wt.sysMobile SDK Build data.wt.sdk_v
Time category
Parameter nameParameterDate datetime_utc
Traffic Source category
Parameter name ParameterReferrer data.referrerReferring Domain data.referrer-domainReferring URI data.referrer-pathSearch Engine ext.search.engineSearch Phrase ext.search.phraseTraffic Source Typeext.source.type
©2020Oracle Corporation. All rights reserved 137 of 514
Users category
Parameter name ParameterNew-Returning Useruser_typeVisitor ID session.visitor_id
Dimensions
A dimension is an attribute of your data being analyzed with the help of measures and
segments, such as a campaign, a page, content group, device, location, and so on.
Standard dimensions are preconfigured for use in reports and as a starting point for ad
hoc exploration. You can add, remove, or rearrange dimensions in a report at any time.
If you have the necessary rights, you can create your own custom dimensions.
Reading a table withmultiple dimensions
You can view dimensions on their own or in hierarchical order with each set of sub-
dimensional values being filtered by the parent dimension that precedes them. This
dimensional drill-down capability allows you to interrogate your data in new and targeted
ways. Whether you are looking at an Oracle-supplied multidimensional report or one you
create, the layout is the same.
In the following example:
l There are two dimensions:Operating System name and Browser Name.
l The table is sorted by the Sessionsmeasure in descending order. For details, see sorting
reports bymeasures.
l The results for each sub-dimension are visible.
l You can add dimensionswithin the dimensions column, not in the heading.
©2020Oracle Corporation. All rights reserved 138 of 514
Standard dimensions
A dimension is an attribute of your data being analyzed with the help of measures and
segments, such as a campaign, a page, content group, device, location, and so on.
Standard dimensions are preconfigured for use in reports and as a starting point for ad
hoc exploration. You can also create your own dimensions.
Note: Standard dimensions cannot be edited or deleted.
You can add the following standard dimensions to your reports.
Dimension name ParameterBrowser Name ext.browser.nameBrowser Version ext.browser.versionCampaign ID data.wt.mc_idCity ext.geo.cityClient IP data.client-ipContent Group data.wt.cg_nContent Sub Group data.wt.cg_s
©2020Oracle Corporation. All rights reserved 139 of 514
Dimension name ParameterConversion Event data.wt.convCountry ext.geo.countryDate datetime_utcDate-Time datetime_utcDay of Month datetime_utcDay of Week datetime_utcDevice Name ext.device.mktnDevice Type ext.device.typeDomain data.domainEntry Page data.wt.ti (entry) + data.page-uri (entry)Exit Page data.wt.ti (exit) + data.page-uri (exit)Hour of Day datetime_utcInvoice data.wt.tx_iLanguage data.wt.ulMobile App Name data.wt.a_nmMobile App Version data.wt.avMobile Carrier data.wt.a_dcMobile Event Type data.wt.sysMobile Screen data.page-uriMobile SDK Build data.wt.sdk_vMonth datetime_utcNetwork Type ext.net.typeNew Returning User user_typeNext Page data.wt.ti + data.wt.esOnsite Search Phrase data.wt_ossOperating System Name ext.os.nameOperating System Versionext_device_osverOrganization ext.net.orgPage data.wt.ti + data.wt.esPage Title data.wt.tiPage URI data.page-uriPrevious Page data.wt.ti + data.wt.esProduct SKU data.wt.pn_skuReferrer data.referrerReferring Domain data.referrer-domainReferring URI aftereffect-pathRegion ext.geo.region
©2020Oracle Corporation. All rights reserved 140 of 514
Dimension name ParameterScenario Name data.wt.si_nScenario Step Name data.wt.si_pScenario Step Number data.wt.si_xSearch Engine ext.search.engineSearch Phrase ext.search.phraseTraffic Source Name ext.source.nameTraffic Source Type ext.source.typeTransaction Event data.wt.tx_e
Adding dimensions to a report
You can add dimensions to a report at any time to a maximum depth of five dimensions.
To add a dimension to a report:
1. Open the report and hover over the dimension in the report where you want to drill down until
the plus icon is displayed:
©2020Oracle Corporation. All rights reserved 141 of 514
Note: The plus sign is only displayed for dimensions below the top dimension of the
report table. You can drill down to amaximumof five dimensions.
2. Click the plus icon. The dimension drill down menu is displayed.
3. Type the dimension name to search the list or scroll to find a dimension and select it.
The dimension's values are added as sub-dimensions to the report and the data is requeried.
©2020Oracle Corporation. All rights reserved 142 of 514
You can continue drilling down by adding more dimensions. You can also reorder your
dimensions by dragging them up or down in the list of dimensions.
4. To save the report configuration, click Save or Save As. For more details, seemanaging
reports.
Removing dimensions from a report
You can remove dimensions in any order, but the report table must have at least one
dimension. Dimensions are displayed in the left column of the report table.
To remove a dimension from a report:
1. Open the reportwith the dimension that you want to remove.
2. Click the X icon next to the dimension name.
3. To save the report configuration, click Save or Save As. For more details, seemanaging
reports.
©2020Oracle Corporation. All rights reserved 143 of 514
Rearranging dimensions in a report
You can drag dimensions that appear in the report table header to different hierarchical
order to gain a different perspective on your data.
For example, if your report has the Device Type dimension first and the Browser Name
dimension below it, you can see how many mobile phone users browse with Firefox. If
you move Browser Name first with Device Type below it, you can see all the device
types on which Firefox is used.
To rearrange a dimension:
1. Open the report and place your cursor on the dimension that you want to move.
2. Click and drag the dimension to the desired position in the header row of the report table. Your
report is requeried based on the new dimension order.
3. To save the report configuration, click Save or Save As. For more details, seemanaging
reports.
Creating dimensions
If you have the necessary rights, you can create dimensions for use in reports.
To create a dimension:
©2020Oracle Corporation. All rights reserved 144 of 514
1. Open a report and hover over a dimension in the report until the plus icon is displayed:
Note: The plus sign is only displayed for dimensions below the top dimension of the
report table.
©2020Oracle Corporation. All rights reserved 145 of 514
2. Click the plus icon . The dimension menu is displayed.
3. ClickCreate Dimension. The Create Dimension dialog is displayed.
4. In the Create from section, clickChoose a parameter to display the list of parameters.
5. Type a parameter name to search for it or browse the list to find and select it. The parameter is
added to the dimension.
6. In the Include section, click the list to select one of the following event types to include in the
dimension:
©2020Oracle Corporation. All rights reserved 146 of 514
l All events (the default): Identify all events where the dimension's parameter is present.
l First event in sessions: Identify events where the dimension's parameter is present in the first
event of the session.
l Last event in sessions: Identify events where the dimension's parameter is present in the last
event of the session.
l First occurrence of an event in sessions: Identify events where the dimension's parameter is
first present in the session.
l Last occurrence of an event in sessions: Identify events where the dimension's parameter is
last present in the session.
l Most recent in sessions: Accumulate the measure values of this dimension and attribute values
to the most recent occurrence of this dimension in the session.
7. (Optional) In the Display section, you can choose to exclude results with no data.
8. Enter a name for the dimension that is unique within the account and enter a description so
that others can quickly understand the purpose of the dimension.
9. Click Save. The dimension is added to the location in the report where you clicked the plus
icon . An edit icon is displayed next to it because it is a custom dimension. Standard
dimensions cannot be edited, so they lack an edit icon.
Editing dimensions
If you have the necessary rights, you can edit custom dimensions.
You cannot edit standard dimensions, so they lack an edit icon as shown in the following
image where New-Returning User is a standard dimension and Source Page is a
custom dimension.
©2020Oracle Corporation. All rights reserved 147 of 514
Important: Editing a dimension will modify every report that uses it.
To edit a dimension:
1. Open a report and click the edit icon for the custom dimension that you want to edit. If the
dimension is used by any other reports, a confirmation message lists the report.
2. Click Edit Dimension. The Edit Dimension dialog is displayed.
3. Make any changes, such as choosing a different parameter as the basis of this dimension,
renaming the dimension, or entering a description. For more details, see creating a
dimension.
4. Click Save. The dimension is modified in all report where it has been specified.
Deleting dimensions from Oracle Infinity
If you have the necessary rights, you can use the Library to delete custom dimensions
from Oracle Infinity.
©2020Oracle Corporation. All rights reserved 148 of 514
Important: Deleting a dimension from the Library will remove it from every report in
which it is used.
To delete a dimension from Oracle Infinity:
1. Click the Library icon on the top menu. The Library page displays the objects that you
can administer.
2. ClickDimensions.
The list of all dimensions is displayed. Standard dimensions are included in the list but their
trash can icon is grayed out, which indicates that you cannot delete them.
3. Click the trash icon next to the custom dimension you want to delete. A confirmation
message lists any reports that use the dimension (if any).
©2020Oracle Corporation. All rights reserved 149 of 514
4. Type DELETE in the box and then clickDelete.
Measures
A measure is a value applied to dimensions, such as a count of users, time on page, and
bounce rate. Measures are often referred to as the key performance indicators (KPIs) of a
business.
An initial set of commonly used standard measures are available by default for use in
reports. You can add measures, remove measures, and change the order of measures in
your reports.
If you have the needed rights, you can also create, modify, and delete custom measures.
You can create the following types of measures:
l Rule-based measure (the default): define filtering rules based on the selected parameter, an
operator, parameter values, and scope.
l Calculated measure: Derived by performing a math operation with two or more measures,
such as views per session. Define a calculation using previously-defined measures, numbers,
and arithmetic operations (/, *, +, -).
©2020Oracle Corporation. All rights reserved 150 of 514
Rule-basedmeasures
When you create a measure, you define rules based on one or more parameter values,
operators, and scope.
Parameters
By default, standard parameters are available in the Create Measure and Edit Measure
dialog.
If you have the necessary rights, you can make other parameters collected for your
account available for use in Oracle Infinity Analytics. For details, see editing parameters.
Operators
Once you drag-and-drop a parameter into the expression builder, you can specify a
value and various operators.
When the parameter's data type is string, the following operators are available:
l exists
l does not exist
l equals (the default)
l does not equal
l starts with
l does not start with
l ends with
l does not end with
l contains
l does not contain
©2020Oracle Corporation. All rights reserved 151 of 514
When the parameter's data type is numerical, the following operators are available in the
expression builder:
l exists
l does not exist
l equals (the default)
l does not equal
l less than (<)
l less than or equal to
l greater than (>)
l greater than or equal to
If you specify multiple values for a parameter value, OR logic is used.
Within a specified scope, you can select AND or OR logic between parameters.
l AND: All of the conditions exist within the scope.
l OR: Any of the conditions exist within the scope—except when using the not operators, such as
does not equal.
Be careful when using not operators. For example, if you specify the following event
scope logic, the indicated events are included:
©2020Oracle Corporation. All rights reserved 152 of 514
(Page URL does not equal 2 OR 3) OR (SKU does not equal B)
EventBefore split Included?E1 Page=1 & SKU=A;B
E2 Page=2 & SKU=C
E3 Page=3 & SKU=BE4 Page=4 & SKU=D;E
AND operator between expression groups
When using multiple expression groups, each group is separated by an AND operator.
The order of the scopes can determine the query outcome. Click Move up or Move down
to adjust the order.
©2020Oracle Corporation. All rights reserved 153 of 514
Scope
You can select one of the following values from the scope list when you create or edit a
measure.
Scope type Description Supportedparameters
Events (The default scope) Returns all events that match the criteria.You can add a maximum of one Events scope. Any
Sessions Identify the sessions that match the criteria, and return all theevents in those sessions. You can add a maximum of oneSessions scope.
Any
Users Identify all the users that match the criteria, and return all theevents in all the sessions for those users. You can add amaximum of one Users scope.
Any
ParametersReturns events when parameters that have been split andcorrelated match the criteria. You can add as many Parametersscopes as needed. This scope type only supports parametersthat have been split in parameter advanced options andcorrelated.
Multi-valuesplit-and-correlated
The Parameters scope type can only be used with split parameters, so this value will
not be displayed in the scope list unless the selected parameter was previously defined
as a split-and-correlate parameter within parameter advanced options.
The following standard parameters are split by semicolon:
©2020Oracle Corporation. All rights reserved 154 of 514
Parameter name ParameterContent Group data.wt.cg_nContent Sub Group data.wt.cg_sProduct SKU data.wt.pn_skuScenario Name data.wt.si_nScenario Step Name data.wt.si_pScenario Step Numberdata.wt.si_xTransaction Subtotal data.wt.tx_sUnits data.wt.tx_u
You can also set up custom parameters as split-and-correlate parameters.
Be careful when using negative operators. Consider the following examples:
Operator Events scopetype Sessions scope type Users scope type
equals Exact eventmatch
Any one event in thesession matches
Any one event in any onesession for the user
does not equal Events that donot match
All events in thesession do not match
All events in all sessions for theuser does not match
Stage equals a(add to cart)
Events thathave add to cart
Session has at leastone event with add tocart
User has at least one sessionwith at least one event with addto cart
Stage does notequal a (add tocart)
Events that donot have add tocart
Session has noevents with add tocart
User has no sessions with addto cart
Important: The use of the User scope in segments will increase the time to load
report data.
Example of event scope vs. parameter scope
Some of the following events are split by semicolons.
©2020Oracle Corporation. All rights reserved 155 of 514
EventBefore split After split and correlateE1 Transaction=view & SKU=C & Units=1 &
Subtotal=2.00Transaction=view & SKU=C &Units=1 & Subtotal=2.00
E2 Transaction=view & SKU=B & Units=1 &Subtotal=10.00
Transaction=view & SKU=B &Units=1 & Subtotal=10.00
E3 Transaction=cart addition & SKU=A;B &Units=1;3 & Subtotal=5.00;10.00
l E3.1: Transaction=cart addition &
SKU=A&Units=1 &
Subtotal=5.00
l E3.2: Transaction=cart addition &
SKU=B&Units=3 &
Subtotal=10.00
E4 Transaction=purchase & SKU=A;B;C &Units=1;3;2 & Subtotal=5.00;10.00;2.00
l E4.1: Transaction=purchase &
SKU=A&Units=1 &
Subtotal=5.00
l E4.2: Transaction=purchase &
SKU=B&Units=3 &
Subtotal=10.00
l E4.3: Transaction=purchase &
SKUC &Units=2 & Subtotal=2.00
Example events included in scope logic
Based on the events above, the following table shows events or parameters included
based on the scope:
Scope logic EventsInclude events where SKU=A NoneInclude events where SKU=A OR B E2 (before and after splitting)Include events where SKU=A AND B E3 (after splitting)Include parameters where SKU=A E3.1, E4.1Include parameters where SKU=A OR B E3.1, E3.2, E4.1, E4.2Include parameters where SKU=A AND B None
©2020Oracle Corporation. All rights reserved 156 of 514
Calculatedmeasures
You can select the Calculated Measure option when creating a measure to define a
calculation using a combination of previously-defined measures, numbers, and
arithmetic operations (/, *, +, -):
You must select at least one measure. A number value can be used on one side of the
calculation, but not both.
You can choose one of the following values to be displayed in the report for the
calculated measure:
l Integer (the default)
l Decimal
l Percent
l Currency
Standardmeasures
A measure is a value applied to dimensions, such as a count of users, time on page, and
bounce rate. Measures are often referred to as the key performance indicators (KPIs) of a
business.
©2020Oracle Corporation. All rights reserved 157 of 514
The following standard measures are provided by default for you to add to your reports.
You cannot edit or delete standard measures.
Measurename Description Expression
Avg SessionDuration(Sec)
Session duration is the difference inseconds between the time stamp of the firstevent in the session and the time stamp ofthe last event in session; and then it isaveraged across all sessions. Sessionswith a single page view (or bouncedsessions) are excluded from thiscalculation.
(session duration) / sessions,excluding bounced sessions
Avg ViewTime (Sec)
View time is the difference in secondsbetween the time stamp of a page viewand the time stamp of the following pageview. Average view time is the view timedivided by the number of views, excludingexit pages. This measure is only relevantin the context of pages and screens. Seethe average view time example.Also referred to as "time on page."
(view time) / views, excludingexit pages
Bounce Rate A percentage of sessions where a userviews a single page only and then exits.
(single page view sessions) /(entry page sessions)
Cart Adds A count of events in which a product oritem is added to the shopping cart orbasket
count of events wheredata.wt.tx_e=a
Conversions An action taken by a user that is often thegoal of engaging the digital property
count of events wheredata.wt.conv exists
Entry PageSessions
A count of sessions where the Entry Pagedimension is the first page view in thesession
Events Any request to serve content to a digitalproperty, such as a click of a hyperlink, filedownloads, views of images, video plays,a swipe in a mobile app, and so on.Also referred to as "hits."
Events
Exit PageSessions
A count of sessions where the Exit Pagedimension is the last page view in thesession
©2020Oracle Corporation. All rights reserved 158 of 514
Measurename Description Expression
Mobile AppBackgrounds
A count of events where the mobile appenters the background data.wt.sys=background
Mobile AppForegrounds
A count of events where the mobile appenters the foreground data.wt.sys=foreground
Mobile AppInstalls
A count of mobile app installs data.wt.vt_f=1
Mobile AppNotifications
A count of the notifications displayed bythe app data.wt.sys=notification
Mobile AppStarts
A count of mobile app starts data.wt.sys=startup
Mobile AppStops
A count of mobile app stops data.wt.sys=exit
Orders A purchase consisting of one or moreitems. The orders measure is calculated bycounting unique invoices that arededuplicated.
Count of events wheredata.wt.tx_i=value, whereinvoice values arededuplicated
ProductViews
A specific good or service, oftenrepresented by a product SKU, availablefor sale on a digital property
Count of events wheredata.wt.tx_e=v
PurchaseConversionRate
A purchase is a completed transactioninvolving an exchange of money forproducts, goods, services, or other. Thepurchase conversion rate is the rate inwhich a purchase transaction is completedacross sessions.
(Count of events wheredata.wt.tx_e = p) / sessions
Purchases The count of purchase events Count of events wheredata.wt.tx_e=p
Revenue The sum total of money exchanged for apurchase of products, goods, services, orother. The revenue measure is calculatedby summing the transaction subtotal forinvoices that are deduplicated.
Sum of values fordata.wt.tx_s, whereinvoices are deduplicated
ScreenViews
The count of screen views
ScreenViews perSession
The count of screen views divided by thecount of sessions
SearchResults
The sum of all search result values Sum of data.wt.oss_rvalues
©2020Oracle Corporation. All rights reserved 159 of 514
Measurename Description Expression
Sessions A session of continuous activity where allof a user’s events (hits) to a digital propertyare recorded. The session starts themoment of the first event to the digitalproperty and continues until the sessionends. A session ends at two hours, after 30minutes of inactivity, or at a maximum of5,000 events.Also referred to as "visits."
Sessions
Single PageViewSessions
A count of sessions in which only onepage view occurs
SuccessfulSearches
The count all search events where thenumber of search results were not 0
Count of events wheredata.wt.oss_r≠0
Time onPage (Sec)
The difference in seconds between thetime stamp of a page view and the timestamp of the following page view.Also referred to as "view time."
Units A count of items per product, good, service,or other included in a purchase. The unitsmeasure is calculated by summing thetransaction units for invoices that arededuplicated.
Sum of values fordata.wt.tx_u, whereinvoices are deduplicated
UnsuccessfulSearches
The count all search events where thenumber of search results were 0
Count of events wheredata.wt.oss_r=0
Users A person who visits a digital property. Thevalue is a count of unique users. Alsoreferred to as "visitors."
session.visitor_id, whichis determined using thefollowing logic:
1. If data.wt.co_f is present,
use a hash of its value as
the Visitor ID.
2. If data.wt.co_f is not
present, use a hash of the
user agent and IP address
pair as the Visitor ID.
©2020Oracle Corporation. All rights reserved 160 of 514
Measurename Description Expression
3. If data.wt.dcsvid is
present, a hash of its value
is used instead of the Visitor
ID.
Views An event to a URL designated as a page.The event is considered a page if thedata.wt.dl parameter is equal to 0 or if itdoes not exist for the event.Also referred to as "page views."
Views
Views perSession
An average of pages viewed by a userduring a session that demonstratesengagement.
Views / sessions
You cannot edit standard measures, so they do not have an edit icon displayed next to
them in the measures dialog.
Example of Avg View Time (Sec)
©2020Oracle Corporation. All rights reserved 161 of 514
Addingmeasures
You can add measures when viewing, editing, or creating a report.
Note: You cannot add measures to funnel analysis reports.
To add a measure to a report:
1. Place your cursor in the report table header and a plus icon is displayed in between each
measure.
©2020Oracle Corporation. All rights reserved 162 of 514
2. Click the plus icon to open the list of available measures and then select a measure.
The measure you select and its values populate the report table.
3. If you want to save this measure to the existing report, click Save. If you want to make a new
version of the report with the newly added measure, click Save As.
Removingmeasures from a report
You can remove measures from a report at any time. However, a report must have at
least one measure.
©2020Oracle Corporation. All rights reserved 163 of 514
Note: You cannot remove measures from funnel analysis reports.
To remove a measure from a report:
1. Place your cursor over the measure you want to remove from the report. Ameasure tool is
displayed.
2. Click the X icon to remove the measure from the report table.
3. If you want to save the existing report with the measure removed, click Save. If you want to
make a new version of the report with the measure removed, click Save As.
Creatingmeasures
You can create measures when viewing, editing, or creating a report.
You can create the following types of measures:
l Rule-based measure (the default): define filtering rules based on the selected parameter, an
operator, parameter values, and scope.
l Calculated measure: Derived by performing a math operation with two or more measures,
such as views per session. Define a calculation using previously-defined measures, numbers,
and arithmetic operations (/, *, +, -).
©2020Oracle Corporation. All rights reserved 164 of 514
To create a measure and add it to a report:
1. Place your cursor in the report table header and a plus icon is displayed in between each
measure.
2. Click the plus icon to open the measures dialog.
©2020Oracle Corporation. All rights reserved 165 of 514
3. ClickCreate Measure. The New Measure dialog is displayed.
4. If you want to create a calculatedmeasure, clickCalculated Measure and then select a
combination of existing measures, a mathematical operation, a number, and a display option.
5. To create a rule-basedmeasure, select parameters from the left and drag them onto the
canvas on the right and then select a combination of operators, scope, and additional
parameters to create one or more expressions.
6. In the Display section, select values depending on whether you want to:
l Display a count of events, sessions, or users.
l Display the distinct count of values for a parameter.
l Display the sum of values of a set of parameters that have a numerical data type, and select a
format, such as decimal or integer.
©2020Oracle Corporation. All rights reserved 166 of 514
7. In theMeasure Name box, enter a name for the measure that is unique within the current
account.
8. In the Description box, enter a description so that others can quickly understand the intent of
your measure.
9. Click Save. The measure is now available to be added to reports.
Editingmeasures
If you have the needed rights, you can edit a custom measure when adding it to a report
or when viewing a report.
You cannot edit standard measures.
To modify a measure when adding it to a report:
1. Place your cursor in the report table header and a plus icon is displayed in between each
measure.
©2020Oracle Corporation. All rights reserved 167 of 514
2. Click the plus icon to open the list of available measures. The measures list is displayed.
The edit icon is not displayed for standard measures.
3. Click edit icon next to the measure you want to edit. The Edit Measure dialog is displayed.
©2020Oracle Corporation. All rights reserved 168 of 514
4. Make any changes to the measure's selected parameters, rules, display values, and so on.
5. Click Save.
To modify a measure from the report header:
1. Place your cursor in the report table header above the measure that you want to edit. A tool
bar is displayed above measure.
2. Click the edit icon in the measure tool bar. The Edit Measure dialog is displayed.
3. Make any changes to the measure's selected parameters, rules, display values, and so on.
4. Click Save.
©2020Oracle Corporation. All rights reserved 169 of 514
Deletingmeasures from Oracle Infinity
If you have the necessary rights to manage objects in the Library, you can delete
measures from Oracle Infinity. You cannot delete standard measures.
Important: Deleting a measure from the Library will remove it from every report in
which it is used.
To delete a measure from the Library:
1. Click the Library icon on the top menu. The Library page displays the objects that you
can administer. By default, theMeasures tab is selected.
2. Click the trash icon next to the measure you want to remove. A confirmation message lists
any reports that use the measure.
©2020Oracle Corporation. All rights reserved 170 of 514
3. Type DELETE in the box and then clickDelete.
Sorting reports bymeasures
By default, data in a report table is sorted based on the first measure and in descending
order with the highest measure values at the top of the table. The sort order can be either
descending or ascending by any measure of your choosing.
To sort by a measure:
1. Next to the measure name, click the up or down icon .
To change the sort order:
1. Click the up or down arrow icon next to the measure name that is currently being sorted.
In the following example, the report is sorted by the Sessions measure in descending
order. To sort by the Users measure, click the up and down icon in the Users column.
To sort Sessions ascending, (with lowest values at the top), click the down arrow icon
in the Sessions cell.
©2020Oracle Corporation. All rights reserved 171 of 514
Sorting reports with multiple dimensions
Sorting works the same way whether the report table has one dimension or many.
l The first dimension is always the primary dimension that will be sorted.
l Each successive dimension is also sorted in the same order as the first dimension. For
example, in the table below, two dimensions are present: Operating System Name and
Browser Name. Operating System Name is the primary dimension and is sorted first. Then for
each operating system, the Browser Name is sorted.
l Each dimension is sorted against its siblings only.
In following example, Windows 7 > Chrome is sorted against Windows 7 > Firefox and
thus is the second dimension to be sorted. However, neither are sorted against Mac OS
X > Safari because they do not have the same primary dimension.
©2020Oracle Corporation. All rights reserved 172 of 514
Rearrangingmeasures
You can move measures that appear in the report table header to different positions.
To rearrange a measure:
1. Place your cursor over the measure you want to move. Ameasure tool is displayed.
2. Click the left or right arrow icon to move the measure.
3. If you want to save the modified view as a new report, click Save As, give the report a new
name, and adjust its collection, category, and permissions. Then click Save again.
If you are viewing a custom report and want to save this addedmeasure in it, click Save.
©2020Oracle Corporation. All rights reserved 173 of 514
Segments
A segment is a subset of your data based on rules that define a meaningful grouping,
such as by region, device, returning customer, and so on.
You can add segments to a report, remove segments, and add segments to a collection.
If you have the needed rights, you can also create, modify, and delete segments.
Segment rules
When you create a segment, you define rules based on one or more parameter values,
operators, and scope.
Parameters
By default, standard parameters are available in the New Segment or Edit Segment
dialog.
If you have the necessary rights, you can make other parameters collected for your
account available for use in segments. For details, see editing parameters.
Operators
If you do not select any segments for a report or its collection, all data collected for your
account will be queried when you render it (by default, the ALL operator is used).
Once you drag-and-drop a parameter into the expression builder, you can specify a
value and various operators.
When the parameter's data type is string, the following operators are available:
l exists
l does not exist
©2020Oracle Corporation. All rights reserved 174 of 514
l equals (the default)
l does not equal
l starts with
l does not start with
l ends with
l does not end with
l contains
l does not contain
When the parameter's data type is numerical, the following operators are available in the
expression builder:
l exists
l does not exist
l equals (the default)
l does not equal
l less than (<)
l less than or equal to
l greater than (>)
l greater than or equal to
If you specify multiple values for a parameter value, OR logic is used.
Within a specified scope, you can select AND or OR logic between parameters.
©2020Oracle Corporation. All rights reserved 175 of 514
l AND: All of the conditions exist within the scope.
l OR: Any of the conditions exist within the scope—except when using the not operators, such as
does not equal.
Be careful when using not operators. For example, if you specify the following event
scope logic, the indicated events are included:
(Page URL does not equal 2 OR 3) OR (SKU does not equal B)
EventBefore split Included?E1 Page=1 & SKU=A;B
E2 Page=2 & SKU=C
E3 Page=3 & SKU=BE4 Page=4 & SKU=D;E
AND operator between expression groups
When using multiple expression groups, each group is separated by an AND operator.
The order of the scopes can determine the query outcome. Click Move up or Move down
to adjust the order.
©2020Oracle Corporation. All rights reserved 176 of 514
Segment scope
You can select one of the following values from the segment scope list when you create
or edit a segment.
Scope type Description Supportedparameters
Events (The default scope) Returns all events that match the criteria.You can add a maximum of one Events scope. Any
Sessions Identify the sessions that match the criteria, and return all theevents in those sessions. You can add a maximum of oneSessions scope.
Any
Users Identify all the users that match the criteria, and return all the Any
©2020Oracle Corporation. All rights reserved 177 of 514
Scope type Description Supportedparameters
events in all the sessions for those users. You can add amaximum of one Users scope.
ParametersReturns events when parameters that have been split andcorrelated match the criteria. You can add as many Parametersscopes as needed. This scope type only supports parametersthat have been split in parameter advanced options andcorrelated.
Multi-valuesplit-and-correlated
The Parameters scope type can only be used with split parameters, so this value will
not be displayed in the scope list unless the selected parameter was previously defined
as a split-and-correlate parameter within parameter advanced options.
The following standard parameters are split by semicolon:
Parameter name ParameterContent Group data.wt.cg_nContent Sub Group data.wt.cg_sProduct SKU data.wt.pn_skuScenario Name data.wt.si_nScenario Step Name data.wt.si_pScenario Step Numberdata.wt.si_xTransaction Subtotal data.wt.tx_sUnits data.wt.tx_u
You can also set up custom parameters as split-and-correlate parameters.
Be careful when using negative operators. Consider the following examples:
Operator Events scopetype Sessions scope type Users scope type
equals Exact eventmatch
Any one event in thesession matches
Any one event in any onesession for the user
does not equal Events that donot match
All events in thesession do not match
All events in all sessions for theuser does not match
Stage equals a Events that Session has at least User has at least one session
©2020Oracle Corporation. All rights reserved 178 of 514
Operator Events scopetype Sessions scope type Users scope type
(add to cart) have add to cart one event with add tocart
with at least one event with addto cart
Stage does notequal a (add tocart)
Events that donot have add tocart
Session has noevents with add tocart
User has no sessions with addto cart
Important: The use of the User scope in segments will increase the time to load
report data.
Example of event scope vs. parameter scope
Some of the following events are split by semicolons.
EventBefore split After split and correlateE1 Transaction=view & SKU=C & Units=1 &
Subtotal=2.00Transaction=view & SKU=C &Units=1 & Subtotal=2.00
E2 Transaction=view & SKU=B & Units=1 &Subtotal=10.00
Transaction=view & SKU=B &Units=1 & Subtotal=10.00
E3 Transaction=cart addition & SKU=A;B &Units=1;3 & Subtotal=5.00;10.00
l E3.1: Transaction=cart addition &
SKU=A&Units=1 &
Subtotal=5.00
l E3.2: Transaction=cart addition &
SKU=B&Units=3 &
Subtotal=10.00
E4 Transaction=purchase & SKU=A;B;C &Units=1;3;2 & Subtotal=5.00;10.00;2.00
l E4.1: Transaction=purchase &
SKU=A&Units=1 &
Subtotal=5.00
l E4.2: Transaction=purchase &
©2020Oracle Corporation. All rights reserved 179 of 514
EventBefore split After split and correlate
SKU=B&Units=3 &
Subtotal=10.00
l E4.3: Transaction=purchase &
SKUC &Units=2 & Subtotal=2.00
Example events included in scope logic
Based on the events above, the following table shows events or parameters included
based on the scope:
Scope logic EventsInclude events where SKU=A NoneInclude events where SKU=A OR B E2 (before and after splitting)Include events where SKU=A AND B E3 (after splitting)Include parameters where SKU=A E3.1, E4.1Include parameters where SKU=A OR B E3.1, E3.2, E4.1, E4.2Include parameters where SKU=A AND B None
Adding segments to a report
You can add a segment to a report to return a subset of the report data based on the
segment's rules. If you add two or more segments to your report, the segments use AND
logic. You can also add segments to a collection.
To add a segment to a report:
©2020Oracle Corporation. All rights reserved 180 of 514
1. Open a report to which you want to add a segment.
2. At the top of the report, click Segment. The + Add Segment button is displayed.
3. Click + Add Segment and select segments from the list.
Alternatively, clickCreate Segment and create a new segment.
4. Click Apply. Your report is requeried with the new segment is applied.
5. If you want to save this segment to the existing report, click Save. If you want to make a new
version of the report with the newly added segment, click Save As.
Removing segments from a report
If you have the necessary rights, you can remove segments from a report.
©2020Oracle Corporation. All rights reserved 181 of 514
To remove a segment from a report:
1. Open the reportwith a segment that you want to remove. The Segment button displays the
number of segments that were added to the report.
2. Click Segment. The segments are displayed.
3. Click the X icon next to the segment that you want to remove. The report's Save button is
displayed.
4. Click Save.
You can also remove segments from a collection.
©2020Oracle Corporation. All rights reserved 182 of 514
Adding segments to a collection
You can add segments to a collection so that they apply all its reports. If you add two or
more segments to your collection, the segments use AND logic.
To add a segment to a collection:
1. Select Analytics.
The Collections list is displayed.
2. Click the edit icon next to the collection you want to add a segment to. The Edit Collection
page is displayed.
3. In the Data section, click + Add Segment.
The segment dialog is displayed.
4. Select the check boxes for one or more segments of your data to include in this collection.
Alternatively, clickCreate Segment and define a new segment.
5. Click Apply.
The selected segment will apply to all reports in the collection.
Removing segments from a collection
If you have the necessary rights, you can remove segments from a collection.
Certain standard segments are provided by default and cannot be deleted.
©2020Oracle Corporation. All rights reserved 183 of 514
To remove a segment from a collection:
1. Select Analytics.
The Collections list is displayed.
2. Click the edit icon next to the collection you want to edit. The Edit Collection page is
displayed.
3. In the Data section, click X icon next to the segment that you want to remove.
4. Click Save.
Creating segments
You can create segments at any time within a report or when editing or creating a
collection. The segment dialog is the same for reports and collections. When you create
a segment while creating or editing a collection, it applies to all reports in the collection.
Once you create a segment, it is typically available in the segment dialog for use in other
reports and collections.
To create a segment in a report:
©2020Oracle Corporation. All rights reserved 184 of 514
1. Open a report to which you want to add a segment.
2. At the top of the report, click Segment. The + Add Segment button is displayed.
3. Click + Add Segment.
©2020Oracle Corporation. All rights reserved 185 of 514
4. ClickCreate Segment. The New Segment dialog is displayed.
5. Select a parameter category for a parameter you want to use for your segment. The
parameters within the category are displayed. Alternatively, you can search for a category by
entering its name in the search box.
©2020Oracle Corporation. All rights reserved 186 of 514
6. Click and hold a parameter to drag it onto the segment canvas. The segment builder is
displayed.
©2020Oracle Corporation. All rights reserved 187 of 514
7. Use the segment builder to define rules based on a set of operators, one or more parameter
values, and one or more segment scopes. You can drag any combination of parameters onto
the canvas into different drop zones to build an expression.
8. Give the segment a name that is unique within your account.
9. Enter a description to help others to quickly understand how the segment can filter reports.
10. Click Save.
The segment is added to Oracle Infinity Analytics and your report is requeried with the
new segment.
©2020Oracle Corporation. All rights reserved 188 of 514
Editing segments
If you have the needed rights, you can edit segments at any time within a report or when
editing or creating a collection. The segment dialog is the same for reports and
collections.
When you edit a segment while creating or editing a collection, it applies to all reports in
the collection. Once you edit a segment, its changes are applied to all reports that use
the segment.
To edit a segment:
1. Open a report.
2. At the top of the report, click Segment. The + Add Segment button is displayed.
3. Click + Add Segment.
©2020Oracle Corporation. All rights reserved 189 of 514
4. Locate the segment that you want to modify and click the corresponding edit icon .
The Edit Segment dialog is displayed.
©2020Oracle Corporation. All rights reserved 190 of 514
5. Add or delete parameters to the segment expression and use the segment builder to modify or
define rules based on a set of operators, one or more parameter values, and one or more
segment scopes.
6. Click Save.
Deleting a segment from Oracle Infinity
If you have the necessary rights to manage objects in the Library, you can delete
segments from Oracle Infinity.
Important: Deleting segments from the Library will remove it from every collection
and report in which it is used. If a segment is used by a report and you delete the
segment, the data in the report will be changed.
To delete a segment from the Library:
1. Click the Library icon on the top menu. The Library page displays the objects that you
can administer.
©2020Oracle Corporation. All rights reserved 191 of 514
2. Click Segments. The list of segments is displayed.
3. Review the Reports Using This and CollectionsUsed In columns to make sure that you
understand the impact of deleting a segment.
4. Click the trash icon next to the segment you want to delete. A confirmation message lists
any collections or reports that use the segment.
5. Type DELETE in the box and then clickDelete.
©2020Oracle Corporation. All rights reserved 192 of 514
Funnel analysis reports
Oracle Infinity offers funnel analysis reports that include a report table and a data
visualization to help you understand customer journeys through key processes or
conversions as illustrated by the following simple conversion funnel.
Each step of this funnel shows whether a visitor converted to the next step or exited
during the session. Knowing where visitors exit can help you to identify problem areas
and improve designs to boost conversion.
Viewing funnels
You can access existing funnels from a collection's report list.
To view funnels:
1. Sign in to Oracle Infinity and select Analytics. The Analytics page displays your collections,
each of which provide a report menu.
©2020Oracle Corporation. All rights reserved 193 of 514
2. Choose a collection, open its report list, and select the funnel that you want to view.
The funnel displays tabular report data and illustrates the steps in the funnel in the chart
section.
©2020Oracle Corporation. All rights reserved 194 of 514
Funnel reporting UI reference
Item Name Description
New button ClickNew > Funnel to create a new funnel analysis reportwithin the
current collection or other collections within your account.
Segment
button
Click Segment to add, remove, create, ormodify a segment to return a
subset of the funnel data based on the segment's rules. For example, you
could select a segment to limit sessions to visitors in EU countries.
Save As Click to display the Save As dialog to copy the funnel, give it a different
name, specify a funnel name, and select which collections it should be
included in. The Save As button is also displayed once you modify a
funnel, such as by adding a segment to it.
Edit buttonClick to open the Edit Funnel dialog, which allows you to modify the
funnel's name, specify different funnel permissions, specify a different
category for public funnels, and select which collections it should be
included in.
Delete
buttonClick to delete the funnel analysis report. You can also delete the
funnel via the library.
Edit Funnel Click Edit Funnel to modify, add, rearrange, or delete funnel steps, select
parameters and parameter values for each step, and run the funnel to
commit your changes.
Export
buttonClick to export the funnel analysis report.
Sessions The total number of visitor sessions included in the data used to generate
the funnel analysis report.
Conversion
rateDisplays the total conversion rate for the scenario.
©2020Oracle Corporation. All rights reserved 195 of 514
Item Name Description
ConversionsDisplays the total conversions for the scenario (count of sessions for the
last step) / (count of sessions for the first step).
Step
conversion
rate
In between each step, the step conversion rate is displayed as a
percentage with two decimal points (step conversions / sessions).
Step
sessions
Displays the number of sessions for the step (count of sessions from prior
step + entries).
Report
categoryThe Funnels category includes any funnels created for the collection.
Dimension Funnel analysis reports are sorted by the Funnel Step dimension, which
displays the number and name of the step.
You cannot add dimensions to funnel analysis reports.
Measures The following measures columns are available for use in funnels:
l Sessions: This column lists sessions that converted from the previous step
and sessions that entered at this step.
l Events: The number of events included in the corresponding step for all
sessions.
l Step Entries: Indicates the number of sessions that entered at the
corresponding step.
l Step Exits: Indicates the number of sessions that exited at the
corresponding step.
l Step Conversions: The count of sessions that converted from this step to
the next step
l Step Conversion Rate: Indicates the step conversion rate as a percentage
with two decimal points (step conversions / sessions).
You can rearrangemeasures in funnel analysis reports but you cannot
add or removemeasures.
©2020Oracle Corporation. All rights reserved 196 of 514
3. To display more details about each step, click the step objects in the visualization. For
example, clicking a step displays:
l Sessions
l Entries
l Conversions
l The top five entry pages for each step: Entry pages include the number of sessions that entered
the step (excluding the first step). This helps you to understand from which pages users enter your
scenario and the most successful paths to conversion. You can click anywhere on the blue bar (for
sessions and entries) to display the total number of sessions that entered at the step.
l The top five exit pages for each step: Clicking the conversion rate between steps provides the
©2020Oracle Corporation. All rights reserved 197 of 514
number of exits and number of conversions to the next step.
4. You can rearrangemeasures, adjust the date range, add segments, save, and export funnels
as you can with other Oracle Infinity Analytics reports.
Note: If the no data icon is displayed for one of your funnel steps, it indicatesthat data has not yet been collected for the step's configuration and the funnel'sdate range. You can click on the icon to see the step's details and click the editicon if you need to modify the step. See also: Selecting a date range.
Creating a funnel
Oracle Infinity funnels are based on parameter data collected for each step via the
Oracle Infinity Tag or the SDK. When you create a funnel, you must specify parameters
©2020Oracle Corporation. All rights reserved 198 of 514
and their values for each step to track the activity you are interested in.
To create a funnel:
1. Sign in to Oracle Infinity and select Analytics. The Collections list is displayed.
2. Open the report list of the collection in which you want to create a funnel and select any report
or funnel.
3. In the left-hand panel, selectNew > Funnel.
TheCreate Funnel window is displayed.
©2020Oracle Corporation. All rights reserved 199 of 514
4. In the Name box, enter the name of the funnel as it should be displayed in the Oracle Infinity
Analytics UI.
5. From the Permission section, select one of the following permissions:
l Public: Select this permission if you want to share the new funnel with other account users. If you
select the Public permission, you should assign it to an appropriate category or create a new
category.
l Private (the default): Select this permission if you do not need to share your funnel. The funnel
will be added to yourMy Reports category.
Note: Super Administrator users can see your private funnels.
6. In the Visibility section, select whether the new funnel will be visible only to the current
collection (the default) or click Select Collections to specify additional collections.
©2020Oracle Corporation. All rights reserved 200 of 514
7. Click Save. The funnel is added to the selected collections and a funnel analysis report is
displayed with no steps.
©2020Oracle Corporation. All rights reserved 201 of 514
8. Click + Funnel Steps. An empty step is added so that you can enter the step's values.
9. In the Step Name box, enter a unique name for the step.
10. From the Parameter list, expand a category and choose a parameter that will be the basis of
the step's activity tracking. You can also search for the parameter's name.
©2020Oracle Corporation. All rights reserved 202 of 514
11. Enter a valid parameter value in the Parameter Value box. For data to be collected, values
must exactly match. By default, the value is not case sensitive. You can optionally click the
case-sensitive icon to make the value case sensitive.
12. To add a new step to the funnel, click +New Step. A new empty step is added to the right of the
prior step where you can specify a step name, parameter and parameter value. Then click
+New Step again and repeat the process of adding steps until you done adding steps.
13. ClickRun Funnel to save the specified steps and display data for the funnel.
Example funnel steps: Assume that you want to create a funnel to track yourvisitors' journey from a search through to purchase and your thank you page. Youcould specify the following steps and associated parameter values:
StepStep name Parameter Value1 Search Onsite Search Phrase iPhone2 Sale Landing PagePage Title iPhone Winter Sale3 Product Add Transaction Event a4 Product Purchase Transaction Event p5 Thank you page Page Title /shopping/thankyou.html
Editing a funnel
When you open an existing funnel, the Edit Funnel button is displayed, which allows
you to:
©2020Oracle Corporation. All rights reserved 203 of 514
l Modify a step's name, parameter, or value.
lDelete a step by clicking its trash can icon .
l Insert a new step to the right of the currently selected step.
l You can drag-and-drop existing steps to rearrange them.
Existing funnels also display the icon, which you can click to open the Edit Funnel
dialog, where you can:
l Modify the name of the funnel.
l Set funnel permissions.
l Specify a different category for public funnels.
l Select which collections should include the funnel.
To edit a funnel:
1. Open the funnel for viewing.
2. Click Edit Funnel and then select the step that you want to edit, rearrange, delete, or where
you want to insert a new step. If you add or modify a step, make sure to populate its name,
©2020Oracle Corporation. All rights reserved 204 of 514
parameter, and a valid value or you will receive an error, such as the following:
3. When you are done making changes to the funnel's steps, clickRun Funnel to display the data
based on the new configuration.
4. Click Save to save your changes.
5. You can also rearrangemeasures, adjust the date range, add segments, save as (copy),
export, and delete funnels as you can with Oracle Infinity Analytics reports.
Note: If you make changes to a funnel and then click Cancel or navigate away fromthe funnel before clicking Run Funnel or Save, a message is displayed to remindyou to save. Click Cancel and then save your changes or click Continue to discardthem.
To rearrange steps:
1. Open the funnel for viewing.
2. Click Edit Funnel and then select the step that you want to rearrange. Its rearrange icon
is displayed.
©2020Oracle Corporation. All rights reserved 205 of 514
3. Click and hold the step's rearrange icon and drag the step to the right or left past other steps.
4. Release the step in the desired location.
5. When you are done making changes to the funnel's steps, clickRun Funnel to display the data
based on the new configuration.
6. Click Save to save your changes.
©2020Oracle Corporation. All rights reserved 206 of 514
Action Center
Oracle Infinity Action Center is an integration hub that connects streams data for
remarketing and light data delivery. For example, you can use Action Center to integrate
in-session, customer-level web data with action systems such as email service
providers, CRM systems, and marketing automation systems.
An action associates a web data source with a system. For example, an action can
configure a streams connection to an email partner system, identifying prospects for
email remarketing or cross-selling. Actions are stored, so they can be activated and run
at a specified time.
Action Center buffers the data from streams and allows you to filter which parameter to
send. You can configure connections to external systems in order to transfer data via
SFTP.
Email remarketing
Infinity boosts your email remarketing efforts by:
l Increasing conversion rates through relevant communication
l Increasing conversion rates by acting on small windows of opportunity (abandoners)
l Providing analytics data for multistage campaigns, tailored to potential customers
l Cost-effective email marketing (fewer blasts)
©2020Oracle Corporation. All rights reserved 207 of 514
A solution for a variety of campaigns
Action Center and streams provide a unique, powerful solution for these types of email
remarketing campaigns:
l Shopping cart abandoners
l In-session remarketing
l Cross-sell product interest
l Geo-targeting campaigns
l Lead generation (individuals and the white papers, surveys and other qualifying materials)
l Failed registration forms
l Partially converted, funnel or scenario visitors
Actions dashboard controls
After you set up your campaign, you can use the Action Center to configure or use an
action.
Before you use Action Center, create and save a lab in streams lab. In addition, be ready
with the following:
l To execute a saved action, know its name so you can locate it in the dashboard.
l To create an action based on a saved stream from streams lab, know the name of the stream.
To access the Action Center dashboard:
©2020Oracle Corporation. All rights reserved 208 of 514
1. Sign in to Oracle Infinity. The home page is displayed.
2. Click Action Center. The Action Center dashboard is displayed.
Use the actions dashboard manage connections and create, view, edit, delete, start and
stop actions.
Item DescriptionClick to open the Create a new action dialog so you canconfigure a new action.
Click to manage connections.
A green bar indicates that the action is running.
The number of successful events to the destination. Thiscount may differ from the count displayed in streams lab.Click to edit the action. If the action is running when you editit, the action is stopped and then restarted, and the queue
©2020Oracle Corporation. All rights reserved 209 of 514
Item Descriptionrefreshed.Click to delete the action. When you delete an action, itsusage history is preserved and continues to count againstthe number of events to destination provisioned in youraccount.
Click to stop the action.
Click to start the action.
Select to display running actions in the dashboard.
Select to display stopped actions in the dashboard
Enter an action name or part of a name to filter for matchingactions
Remarketing with Action Center
Before you begin with Action Center:
1. Identify your remarketing goals and understand how Action Center can help you achieve
them.
2. Create a campaign based on your uplift goal.
3. Set up the campaign with your email vendor, including your creative content.
4. Identify the table for Oracle Infinity data.
5. Ensure you are capturing any subscriber or customer ID required to match to the email
remarketing provider in a parameter so that streams can access it.
After goals and data are outlined:
©2020Oracle Corporation. All rights reserved 210 of 514
l Create and save a stream in streams lab to address campaign needs.
l Create an action (and configure a connection if needed) to associate the stream with the
connection.
Subscriber or customer IDs in email remarketing
Email service providers need a subscriber or customer ID to match a customer to an
event and send a message for remarketing.
The subscriber ID is stored in the following places:
l On the first hit in parameters after an email link is clicked (enables unique identification of each
email sent out)
l In the browser cookie (enables tracking of conversion events and associating them with the
original campaign touch points)
Oracle Infinity can access the ID through the email link parameters, but this is unhelpful
to use cases that involve activity subsequent to clicking the email link. Email service
providers also use the subscriber ID to generate statistics on landing page clicks and
conversions for all customers remarketing or tracking conversions, so the cookie values
will be exposed.
Configuring a connection
Each destination system has its own set of connection details. An action can deliver data
to only one destination system.
Prerequisites
To configure a Universal SSH File Transfer Protocol (SFTP) connection, you will need:
©2020Oracle Corporation. All rights reserved 211 of 514
l The host name
l The user name used to connect via SFTP
l The authentication type, which is either a certificate or a password
l A valid certificate or password to use with the trusted SFTP connection
Note: Each SFTP connection is trusted and you must have a valid certificate or
password. If you generate a certificate, it is not guaranteed to work indefinitely
because certificates may be revoked at any time.
To configure a connection:
1. Have the current certificate text or password ready when configuring a connection.
2. On the actions dashboard, clickManage Connections. TheManage Connections dialog is
displayed.
3. ClickNew Connection and then selectUniversal. The Connect to dialog is displayed.
4. Enter the required values.
5. ClickConnect.
Generating keys for connections
Generating a self-signed certificate (public key) and a matching private key for
connections have the following requirements:
Requirements:
©2020Oracle Corporation. All rights reserved 212 of 514
l Linux environment
l Java keytool utility
l OpenSSL
l The key must be in Base64-encoded privacy-enhanced mail (PEM) format
l A certificate expiration interval in days that is consistent with your company's security
guidelines
l Passwords for your private key and your keystore
To generate keys:
1. At the command line, enter the following commands:
keytool -genkey -keyalg RSA -validity days -keystore
client.keystore -alias clientcert -keypass private_key_
password -storepass keystore_password
For example, to create a certificate that is valid for 365 days from the current date:
keytool -genkey -keyalg RSA -validity 365 -keystore
client.keystore -alias clientcert -keypass a+v8eG#LV4 -
storepass CH&=9?qW
2. Export the public key in ASN.1-based DER format using the following command:
keytool -exportcert -alias clientcert -keystore client_
keystore -storepass keystore_password -file client_cert.cer
3. Use the key with your SFTP host so that the identity of the client can be verified. The
ClientCert.cer file contains a public key. Export the private key with the following command:
©2020Oracle Corporation. All rights reserved 213 of 514
keytool -importkeystore -srcstoretype jks -srckeystore
client.keystore -srcstorepass password -deststoretype PKCS12 -
deststorepass password -destkeystore keys.pk12.der openssl
pkcs12 -in keys.pk12.der -nodes -out client_private_rsa.pem
The generated file contains the private key and the certificate in Privacy-enhanced Electronic
Mail (PEM) format.
4. When configuring a universal connection in the Action Center, drag your PEM file to the
Certificate box in Connect to Universal dialog.
Configuring actions
Prerequisites
l The session streams feature
l A connection and a destination for the action
©2020Oracle Corporation. All rights reserved 214 of 514
To configure an action:
1. Sign in to Oracle Infinity. The home page is displayed.
2. Click Action Center. The Action Center dashboard is displayed.
3. On the actions dashboard, clickCreate Action. The Create a new action dialog is displayed.
4. Enter a unique name and a description for the action to make it easy to locate the action on the
dashboard.
5. Select the connection, destination, and corresponding data source.
6. In the Data section, select a saved streams lab to specify the data to send. The parameters
used in that lab populate the dialog.
©2020Oracle Corporation. All rights reserved 215 of 514
7. For each parameter in the Send column, enter the key name exactly as it is represented in the
database so that the query parameter values are written to the appropriate database table
columns.
8. (Optional) Expand Advanced Settings and enter an event selection query.
9. Click Save.
©2020Oracle Corporation. All rights reserved 216 of 514
Data collection
This introduction is a brief summary of the Oracle Infinity Tag and an introduction to
some of the Oracle Infinity data collection technologies. Oracle Infinity provides
customers the ability to track user interactions on any device with a computer chip, or
any application with a web connection. There are several technologies Oracle Infinity
uses to collect data:
l Javascript based tag for web properties
l iOS and Android native SDK’s for mobile applications
l AMP integration for mobile sites
l Customizable Tracking Pixel for e-mail
l Data Collection API for custom post based tracking needs
After collection, data is augmented with device and geographical lookup data before
being sessionized and persisted for reporting needs, or passed on to a data export
endpoint.
Infinity Tag Capabilities
The Oracle Infinity Tag is probably the most common data collection technology in use.
Users generate a tag using the Tag Management API or the Data Collection
Administration UI. The various files that make up the tag are pushed to a CDN cache
and the tag is ready to collect data.
You will need to deploy the tag to your web pages or web apps in order to gather data.
This deployment consists of placing a single line of JavaScript on your site. Once it is in
place, you can update the tag data collection behavior (add plugins, change
configurations, deploy new code versions, etc.) without having to re-deploy it to your site.
This is because the link on your page(s) references a CDN hosted loader that loads
©2020Oracle Corporation. All rights reserved 217 of 514
other CDN hosted assets specific to your tag. Changes made to the tag will update these
assets on the CDN.
The tag has other features to help you determine how you want to manage and collect
data:
l Cookies – The tag uses only first party cookies, and has configuration points to set the name,
expiration date, and cookie type (session/persistent). There are additional plugins that can be
configured to persist or read other cookies on the site if you choose to enable them.
l IP Obfuscation – The tag allows you to set a parameter to obfuscate the last octet of any
collected IP addresses (dcsipa=1).
l Opt-out – The tag will look for an Infinity opt out cookie, but can also be configured to look for
other opt out cookies set by consent management platforms.
l Page load events – The tag can be configured to automatically track page load events, or it can
be put in a “manual mode” in which the tag files will load, but no default events will be sent. This
is useful for single page apps and other sites/apps where developers want full control over
how and when data is sent.
l Extensible design – The tag is designed to be extended by user configurable plugins and
product modules. In this way you can store several different configurations for a tag, and then
dynamically load them on your site to change how it behaves. This also means that your tags
are only loading exactly what code they need for your site, and not “inactive code” that is only
needed for one page or one portion of the site as a whole. The tag also supports loading client
hosted plugins if you want to write custom code of your own.
l Built-in Debugging – The tag has a built in set debug functionality that can be enabled to either
output debug messages to the browsers developer console, or to pop-up a box containing a
list of all collected parameters.
l Click tracking API – The tag provides a set of functions that can be used to manually trigger
data collection events. This is especially useful for single page apps, or other situations where
©2020Oracle Corporation. All rights reserved 218 of 514
users want to track custom events that are not otherwise triggered automatically. This
document provides more information on Click tracking APImanual event collection.
l Mutations - Mutations are simple functions that provide a way to dynamically modify the
existing event data sent to collection. They provide access to the entire message, can alter the
data payload as it passes through the event tracking pipeline, and can specify different
communication protocols and destinations. If you need to add a parameter to outgoing events,
or modify the values of a parameter before it is sent to Infinity, a mutation is the tool to use.
l Mutations can be added to a page to load after the tag does, or embedded into the tag loader
(ODC.js) by an Infinity Consultant.
l More data on mutations can be viewed here:Oracle Infinity Tagmutations
Infinity collects data as key/value pairs, and leverages schema-less data collection to
store and index collected data. This means that clients don’t need to pre-configure
parameters ahead of time, anything sent will simply be collected and stored until needed
for reporting or export. Additionally, there is no limit in Infinity for how many parameters
can be sent or collected on an individual event. Naturally, one can run into browser
limitations on maximum GET or POST lengths, or cookie size limitations, but Infinity
doesn’t limit collection by number of sent parameters as some competitors do.
Once data is collected, in order to be used for reporting, it must be given a friendly name
and configured as a Dimension or Measure. The product Reports documentation here
describes the process of setting up reports.
Tag Structure
The Oracle Infinity Tag is actually several individual files that combine to provide the full
functionality.
The main file that all tags will use is ODC.js, which is colloquially known as the “tag
loader”. It contains all of the flags, variables, and settings that will tell the tag which
features to turn on/off and how to behave. It is mostly unobfuscated and unminimized to
©2020Oracle Corporation. All rights reserved 219 of 514
make reading these settings easier for web developers. The loader also contains links to
the main libraries and configured tag modules that it will download and execute.
The first file downloaded is common.js. It is a library of common functions and sets up
the tag’s data collection pipeline, and manage dependencies for other files. All versions
of the tag need common.js whether it’s a stand-alone Infinity tag for behavioral data
collection.
The remaining files downloaded files are the product modules (like analytics.js), or
custom plugins specified by clients hosted on their own site. Each integrated product will
have its own module file that contains all of the business logic and data collection logic
necessary to execute the various functions of that product.
The exact number of individual files depends on your tag configuration, but by doing it
this way, we can reduce the overall size of the tag, and only download/execute code
relevant to your site.
Consent Management
The Oracle Infinity Tag integrates well with 3rd party consent management platforms.
While it does offer a plugin that will surface a configurable consent management pop-up
banner, the typical recommendation from Infinity consulting is to wrap the Infinity tag
include in the 3rd party consent management layer. Consult the documentation for your
consent management layer to determine how to use it to include the Infinity tag on the
page after consent to track has been granted by your site’s users.
Personally Identifiable Information (PII)
Infinity makes an effort to avoid collecting any PII by default with the Oracle Infinity Tag
or Oracle Infinity SDK. The only default data point that we collect that might be
considered PII in some situations is user IP address, and even then we offer integrated
solutions to obfuscate the collected obfuscate it. Infinity recommends not sending any PII
©2020Oracle Corporation. All rights reserved 220 of 514
unless it’s hashed or otherwise obfuscated. This data can be translated into human
readable values via a lookup table post collection.
Updates
Updates and new features are continually being deployed for the Oracle Infinity Tag and
SDK. These updates are deployed as frequently as every two weeks (deploy window),
however they are not automatically applied to your deployed tags or SDK’s. For the SDK
you must download the most recent version of the SDK, compile it into your app, and re-
distribute that app. For the tag, you must either contact your Infinity consultant to apply
the update to your tag, or leverage the upcoming Data Collection Management UI to
deploy the latest tag version. This strategy means that customers can test new versions
of the tag before applying them to a production site. It is not required to touch the
deployed JavaScript to update a tag (including deploying new product modules, or
enabling/disabling plugins).
Data collected by default
By default, the following parameters are collected by the Oracle Infinity Tag (automatic
events). This list does not include data derived after this default data set is collected.
Parameters collected by default
ParameterDescriptiondcssip The domain visited, such as www.oracle.com.dcsuri The portion of the URL after the domain, URI stem, such as
/folder/page.html.wt.bh wt.bh indicates the web client’s browsing hour (local time of day on a 24-
hour clock).wt.cd wt.cd indicates the web client’s screen color depth.wt.ce wt.ce indicates whether the visitor has first-party cookies enabled (1) or
disabled (0).
©2020Oracle Corporation. All rights reserved 221 of 514
ParameterDescriptionwt.co_f wt.co_f is a random value used as a visitor ID and stored in a first-party
cookie.wt.ct wt.ct specifies the connection type used to send data.wt.dl wt.dl specifies a numeric identifier for the kind of event tracked, which are
used for event-level filtering and reporting.wt.es wt.es identifies the page a user was on when an event occurred.wt.jo wt.jo indicates whether the web client has enabled Java (yes) or not (no).wt.js wt.js indicates whether the web client supports or has enabled JavaScript
(yes) or not (no).wt.p_did wt.p_did provides a hash value that represents the device used by the
visitor. Its values are only collected if the persona service is enabled.wt.p_pid wt.p_pid provides a hashed persona identifier generated by the persona
service. wt.p_pid is typically identical to wt.p_vid Its values are onlycollected if the persona service is enabled.
wt.p_sid wt.p_sid provides a unique ID for the session for use by the personaservice. Its values are only collected if the persona service is enabled.
wt.p_vid wt.p_vid is generated if the wt.p_did does not match an existing persona.If the persona is matched, wt.p_vid is identical to wt.p_pid. Its values areonly collected if the persona service is enabled.
wt.sr wt.sr indicates the web client’s screen resolution.wt.ssl wt.ssl indicates whether the hit's content is secured via HTTPS (1) or not
(0).wt.ti wt.ti identifies the HTML page title of the associated web content or the
name of the mobile app in the case of the SDK.wt.tv wt.tv specifies the version of the JavaScript tag that is currently deployed.wt.tz wt.tz indicates the web client's time zone offset from UTC.wt.ul wt.ul indicates the app or web client's user language.
Data collection parameter syntax
Data collection parameter syntax includes name, value, and format.
Reserved name spaces
The following name spaces are reserved:
©2020Oracle Corporation. All rights reserved 222 of 514
l wt.i_: Used for product integrations with legacy Infinity customers (prior to January 1, 2018).
l wt.z_: Used by Oracle Infinity professional services for legacy customer integrations (prior to
January 1, 2018).
l ora.z_: Used by Oracle Infinity professional services for customer integrations (after January
1, 2018).
Custom parameters
You can pass custom parameters into Oracle Infinity Analytics for reporting purposes.
Any parameters you pass to Oracle Infinity data collection will be picked up and included
in the data. block of a collected event. For example,consider the following collection
event:
https://dc.oracleinfinity.io/xxxxxxxxxx/dcs.gif?foo=bar
The foo parameter would appear in the raw data as data.foo=bar. In some legacy
Infinity integrations, custom data was passed using a special format such as the
following:
DCSext.w_custom_identifier
Legacy custom parameters will still be collected. However, Oracle recommends passing
only the parameters you need in the form you want to see them on events that you send
to the Oracle Infinity data collection endpoints.
Value syntax
Parameter values use the following general syntax.
©2020Oracle Corporation. All rights reserved 223 of 514
Parameters can have at least one value. Some parameters can be specified in pairs or
in groups of related parameters. When related parameters have multiple values, these
values may be correlated and their position becomes important as shown in the
following example:
wt.si_n=name1;name2&wt.si_x=position1;position2
If correlation is specified in the report, name1 is associated with position1 and name2
with position2.
Multiple values
If there are multiple values, they are typically separated using a semicolon (;). You can
use other separators, but you must specify the separator in the dimension or measure
setting that is based on the parameter. If the parameter value contains a semicolon, it
must be percent-encoded (%3B) to differentiate it from the separator.
Note: Some parameters do not support multiple values, such as the wt.ti title
page parameter.
Numerical value format
Unless stated otherwise, numerical values must be specified using a simple decimal
point format with the period as the decimal separator and up to two decimals without
©2020Oracle Corporation. All rights reserved 224 of 514
thousand separators. For example: 12345.67.
Multiple name-value pairs
Parameters are represented as name-value pairs and adhere to the following syntax.
Multiple parameter example
Each name-value pair is separated by an ampersand (&).
The Infinity data collection parameters must co-exist with other website parameters. This
means that Infinity parameters should be able to be mixed with other known parameters
using the ampersand parameter separator while avoiding parameter collisions.
If a parameter string contains duplicate key values, the first instance is used and the
others are discarded.
Syntax examples
Single parameter with a single value
The following example shows a page associated with the Finance Offer advertising
view.
wt.ad=Finance%20Offer
Single parameter with multiple values
The following example shows a page associated with both the Finance Offer and
FishFinder Offer advertising views.
©2020Oracle Corporation. All rights reserved 225 of 514
wt.ad=Finance%20Offer;FishFinder%20Offer
Related parameters with a single value
The following example shows a page associated with the New Product campaign and
the click campaign event type.
wt.mc_id=New%20Product&wt.mc_ev=click
Related parameters with multiple values
The following example shows a page associated with content groups and subtypes. The
pressreleases subtype is associated with the corporate content group. The
specifications subtype is associated with the engineering content group.
wt.cg_n=corporate;engineering&wt.cg_
s=pressreleases;specifications
Deploying the Oracle Infinity Tag
The Oracle Infinity Tag collects data from online systems capable of executing
JavaScript. You can use it to track site content and deliver data to Oracle Infinity
Analytics for use with reports. You can use the collected data to drive marketing
activities and integrate with other Oracle Marketing Cloud applications.Note: For more details about this implementation, contact your Oracle Infinity solutionsconsultant.
The Oracle Infinity Tag:
l Uses a single line of JavaScript that should not need to be updated or changed.
l Uses a content delivery network (CDN) to dynamically deliver tags, which means that you can
make changes without retagging your sites.
©2020Oracle Corporation. All rights reserved 226 of 514
l Is associated with an account ID and a tag ID, which are unique strings for your site and tag.
l Will set Oracle-specific first-party cookies.
l Has a tag context that provides a unique tag configuration selectable by query parameter.
l Supports optional tag plugins to support additional functions.
l Supports secure cookies by default. To disable secure cookies in order to host content on non-
HTTPS sites, contact your Oracle Infinity solutions consultant.
To deploy the Oracle Infinity Tag:
1. Obtain your Oracle Infinity Tag from your Oracle Infinity solutions consultant.
2. Tag your web page.
3. Verify data collection.
Important: If your site contains legacy Analytics or Optimize tags, you must remove
them before deploying the Oracle Infinity Tag.
To obtain an Oracle Infinity Tag for your site:
1. Contact your Oracle Infinity solutions consultant and send them your:
l Oracle Infinity account name
l An email address where the tag should be delivered
l The domain of the pages you need to track
l (Optional) A list of tag plugins you need to have enabled
©2020Oracle Corporation. All rights reserved 227 of 514
Note: Each added plugin increases the tag size and load time, so you should only
enable plugins you really need.
A tag URL will be returned to you that will look something like the following sample:
c.oracleinfinity.io/acs/account/{account_GUID}/{tag_
ID}/odc.js
Where:
l An account GUID identifies your account. All your tags will use the same account GUID so that
all data collected for your account is stored together.
l A tag ID allows you to assign access rights to your Oracle Infinity Tags and put them into a
hierarchical format.
l odc.js contains tag configuration data, context information, and functions related to loading
your tag. Context refers to a uniqueOracle Infinity Tag configuration that is selectable
according to query parameter. You can configuremultiple contexts, but the Oracle Infinity Tag
supports only one active context at a time.
Important: JavaScript object names are case-sensitive.
Customizing tag behavior
l Click tracking API: Manually configure API functions to collect specific click tracking data.
l Mutations: You can use tag mutations to modify the event data sent to Oracle Infinity.
©2020Oracle Corporation. All rights reserved 228 of 514
l Plugins: Various modules that can be used to customize tag behaviors
Important: Each plugin you add increases the size of the Oracle Infinity Tag and its load
time. Only enable plugins that you need.
Tagging your web page
To tag your web page:
1. Contact your Oracle Infinity solutions consultant to obtain your Oracle Infinity Tag.
2. Add the tag URL to a script block similar to the following example:
<script type="text/javascript" async
src="//c.oracleinfinity.io/acs/account/{account_GUID}/{tag_
ID}/odc.js"></script>
3. Paste your Oracle Infinity Tag after the opening <head> tag of your web page code to ensure
the tag loads and fires before the visitor moves off the page. It can be placed anywhere your
site coding guidelines allow, but you should avoid locations that could interfere with the correct
order of execution.
4. Verify that your tag is firing.
Verifying data collection
You can use a browser to determine whether your Oracle Infinity Tag is correctly
deployed on your site. Use an incognito window in Chrome and use its built-in
developer tools.
©2020Oracle Corporation. All rights reserved 229 of 514
Important: Disable any ad blockers or privacy plugins you may have installed in
Chrome, because they can prevent the tag from firing.
Verifying the Oracle Infinity Tag
When the Oracle Infinity Tag loads on a page, it begins tracking page load and activity
events data using preconfigured methods.
To verify that your tag is firing:
1. In Chrome, open an incognito window and navigate to your web page.
2. Press F12 to open the debug console.
3. Select the Network tab.
A red circle indicates recording.
4. Make sure that recording is enabled and then press F5 to refresh the tagged page. Events are
displayed as the page loads.
5. Enter dcs in the filter box to locate the Oracle Infinity collection events. Instances of dcs.gif
with a status of 200 indicate successful page load tracking. Depending on your tag
configuration, you may see additional events being tracked as you browse your site, such as
scroll events, right-click actions, drop-down menu tracking, mouse over actions, and other
©2020Oracle Corporation. All rights reserved 230 of 514
user interactions.
Verifying and debugging the Oracle Infinity Tag
You can append the ?_ora.debug=vvvv query parameter to the URL of your web page
to verify the Oracle Infinity Tag and provide verbose debugging information.
To verify the functionality of your tag and view debugging information:
1. In Chrome, open an incognito window and navigate to your web page.
2. Press F12 to open Chrome's developer tools.
3. Append ?_ora.debug=vvvv as a query parameter to the URL, where the number of Vs
represents the debug output level displayed within the browser'sConsole tab. The more Vs,
the more granular the output (up to a maximum of four Vs).
The debug output and console logs show the hosted tag version, such as LOADER: Version
©2020Oracle Corporation. All rights reserved 231 of 514
1.0.4.
4. At the bottom of the debug log, type ORA.Debug.dumpParams() after the and then press
Enter to output the configuration parameters for the Oracle Infinity Tag.
5. Search the debug output for the following lines to ensure the tag loads successfully:
lANA: gifProtocol sending:http://URI/dcs.gif?query_args
lTrackingPipeline has been flushed
The lack of an error typically indicates a successful load and track if these lines are not
followed by or preceded by a product timeout message.
©2020Oracle Corporation. All rights reserved 232 of 514
Oracle Infinity Tag plugins
Plugins are modules that can be used to customize the behavior of the Oracle Infinity
Tag.
The default Oracle Infinity Tag configuration supports data collection from online
systems capable of executing JavaScript. The following tag plugins support additional
tracking, delivery, and integration options:
l Advanced link tracking (deprecated): Provides link tracking options with a minimum of
custom coding and maintains consistent behavior as different types of tracking are enabled.
l Blocklist: Whitelist or blacklist data that is sent to Oracle Infinity data collectors to ensure that
parameters representing known PII or sensitive information are not accidentally passed to
Oracle Infinity.
l Brightcove video tracking: Provides video player tracking on a videoJS Brightcove player
hosted on your site. Track clip views, view duration, and pause, play, next, and previous clip
clicks for embedded videos.
l Client-hosted: References plugin files that are hosted by your content servers so that you can
write and host your own plugins and the Oracle Infinity Tag can load and use them to collect
data.
l Content group tracking: Parses the URL and creates reporting content groups. For example,
www.oracle.com/responsys/help/howto.html could be reported asResponsys -> help in the
standard Content Group report.
l Cookie cutter: Extracts the contents of specified cookies and places them into individual
parameters on all events collected by the tag. This plugin is helpful for building integrations
with existing infrastructure or to collect data from client cookies.
©2020Oracle Corporation. All rights reserved 233 of 514
l Cross-domain tracking: If enabled, the cross-domain tracking plugin embeds a visitor ID
hash either as a query string hash of a parameter and value pair or as a new query parameter
that persists visitor IDs across domains as a user navigates from one site to another site. As a
user transitions to a new site, the visitor ID mirrors the session information from the old domain
to the new one and allows Oracle Infinity to continue tracking the user session.
l Debug: Opens a debug window that shows data sent to Oracle Infinity data collection to debug
tagging implementations.
l Domain switcher: Overrides the first-party cookie (FPC) domain with a correct matching
domain from a given possible domains array.
l Event tracking: Allow the creation of jQuery-like tracking for custom events. Track any
selectors on your site, such as downloads, off-site link clicks, and other custom click actions.
l Facebook: Tracks social visitor actions triggered via Facebook Social Plugin implemented on
a Facebook page iframe or Facebook Canvas App.
l HTML5 video tracking: Track standard HTML5-based video players, including clip views,
view duration, pause, play, next, and previous clip clicks for embedded videos.
l IP mask: Helps to configure IP address masking for the Oracle Infinity Tag
l Message listener: Listens for postMessage events from frames and passes data to the
tracking function in the parent window to track popup windows and frames that appear after a
page is loaded due to user interactions with the site.
l Native app web view plugin: Use native app and web view data for hybrid reporting between
native apps and web pages.
l Opt-out footer: Adds a formatted opt-out footer to a page that will generate an opt-out popup.
l Oracle Data Cloud: Collect data that is also collected by Oracle Data Cloud (DMP). This
collected data is replicated to Oracle Infinity and can be used for further reporting and
analysis. This plugin captures all Oracle DMP parameters sent to Oracle Data Cloud and
prepends them with ORA.odc before sending to Oracle Infinity.
©2020Oracle Corporation. All rights reserved 234 of 514
l Page load tracking: Captures page load timing data for page ready, page redirect, and page
DNS information, server response, page download times, and DOM ready timing
characteristics for a tagged page.
l Persist parameters: Store parameters in a cookie to persist values across pages loads.
l Tag ready event: Generates a DOM event when the tag is ready for tag managers or external
scripts.
l Twitter data collection: Helps to track visitor intents on Twitter widgets and intent links.
l Universal data layer: Collect visitor data in a way that supports Oracle's implementation of
the W3C'sCustomer Experience Digital Data Layer specification.
l URL fragment tracking: Allows the Oracle Infinity Tag to use custom handling for URL
fragments (anchors), even if they violate the RFC for HTML fragments. For example, a
fragment is everything after the # in www.oracle.com?page=testpage1#help.
l YouTube video tracking: Instruments tracking for YouTube players that are embedded on
your website. Track clip views, view duration, and pause, play, next and previous clip clicks for
embedded videos.
For help implementing these tag plugins, contact your Oracle Infinity solutions
consultant. Based on your requirements, one or more of the plugins can be custom
configured to meet most tracking needs or custom plugins can be built.
For details about implementing the Oracle Infinity Tag, see Deploying the Oracle Infinity
Tag.
Configuring plugins
Plugins are configured by creating an object with the key wt-plugins.
The following sample shows a JSON payload request for configuring one plugin for
Facebook:
©2020Oracle Corporation. All rights reserved 235 of 514
Expand to see the example:
"config" : {
"wt-plugins" : {
"fb" : {
//Any facebook config values
}
}
...
}
The following sample shows a JSON payload request for configuring multiple plugins
(Facebook, SEM, and YouTube).
Expand to see the example:
"config" : {
"wt-plugins" : {
"fb" : {
//Any facebook config values
},
"sem" : {
//SEM config values
},
"yt": {
//you tube config values
}
}
}
©2020Oracle Corporation. All rights reserved 236 of 514
The following sample shows a JSON payload request for a plugin with load
configurations.
Expand to see the example:
"config" : {
"wt-plugins" : {
"fb" : {
"blockCollect": true, // this will require the
plugin call WT.ready()
"timeout": 4200,
"async": false,
}
}
}
Advanced link tracking plugins (deprecated)
The advanced link tracking plugin provides link tracking options with a minimum of
custom coding and maintains consistent behavior as different types of tracking are
enabled.
Important: The advanced link tracking plugin is deprecated. This topic is included
as reference for existing implementations.
The plugin is loaded with the following properties available to be set via the
configuration object:
©2020Oracle Corporation. All rights reserved 237 of 514
Property Datatype Description
attribCapture string orarray
An array or space-delimited string containing HTML dataattribute names. If the element that triggers a link trackingevent has this attribute, the contents of the attribute willtypically be captured by a custom parameter.
attribInherit boolean If set to true, then the attribCapture andattribParams properties will look for the designatedattributes both on the element triggering the link click andits parent node, its parent node, and so on to the parentdocument.
attribParams string orarray
An array or space delimited string containing HTML dataattribute names. If the element that triggers a link trackingevent has this attribute, and that attribute contains aparameter override string (see below), the parameters willbe captured. These values will override defaults and alsovalues provided in globalParams or a tracker’s paramsproperty.
catchRightClicksboolean If set to true, all trackers will capture right clicks, unlessthe tracker’s own catchRightClicks property is set tofalse. The default value is false.
deferReg boolean If set to true, deferred registration is used. The defaultvalue is false.
Caution: Do not set this value to true unless you
properly implement the external code calls.
globalParams array An array of parameter-value pairs specifying what valuesshould be assigned to those parameters. These valueswill override the defaults for the tracker, but not valuesspecified in the tracker’s own params property.
hashParam string If this contains a parameter name, all trackers will capturethe hash anchor component of the URL as part of theparameter named. If a different parameter is specified inthe tracker’s own hashParam property, then both will bepopulated.
inheritParams string orarray
An array or space-delimited string containing the names ofparameters that will be inherited from the page viewinstead of cleared
©2020Oracle Corporation. All rights reserved 238 of 514
Property Datatype Description
nvMethod string l default: Use the base tag's method to populate wt.nv.
l parent_div: Populate wt.nv based on the parent DIV tag.
nvOverride string A string containing an HTML attribute name used topopulate wt.nv. Used with the parent_div method.
trackers array (Required) Specifies the tracker objects to be activated. Ifno valid tracker objects are present, link tracking will notbe activated.
Parameter value pairs
Several configuration points involve arrays of parameter-value pairs to specify
parameters and their values. In each case, the first element of the array will contain a
string specifying the name of a parameter and the second element will contain a string
with the value of that parameter. You can include any number of pairs provided the array
always contains an even number of elements, with the first of each pair designating the
parameter name and the second of each pair containing its value.
As an advanced option, the second element of the pair may contain a function instead of
a string. In this case, the function will be executed (with no arguments) and the returned
value will be used to set the value of the parameter. To avoid problems with scoping,
use a fully-qualified function name (typically as a property of the window object).
Parameter override string
This plugin allows parameters to be set within an HTML data attribute, but this requires
composing the parameter names and values into a single string that can be placed
within the attribute. To do this, arrange the parameter value pairs in the form
parameter=value, and separate each pair with a double-semicolon. For example:
<a href="example.html"
©2020Oracle Corporation. All rights reserved 239 of 514
data-wtparams="wt.first=value1;ext.second=value2">
Link titles (wt.ti)
This plugin has the following preconfigured options for link titles (wt.ti):
l By destination URLwith query parameters
l By destination URL without query parameters
l By link content
A prefix is typically added to each. Each tracker has a default configuration for link titles,
which can be overridden.
Navigational area (wt.nv)
This plugin has two pre-configured options for navigational area (the wt.nv parameter):
l The default method used in the main Infinity JavaScript code
l By extracting information from the parent DIV
Each tracker can use the nvMethod property to specify the method, a default can be set
for all trackers at the global level, and a tracker-specific property will take precedence.
Default
The default method checks parent nodes until it finds a DIV or TABLE node with an id
attribute and then populates wt.nv with that value. If no parent DIV nor TABLE has an
id value, then wt.nv will be empty. If the tracker has the nvSkip property set equal to an
HTML attribute name, then any nodes with that attribute defined will be ignored during
this search.
©2020Oracle Corporation. All rights reserved 240 of 514
Parent DIV
The parent_div method checks parent nodes until it finds the first DIV node in the
chain, then checks that node for an attribute matching the nvOverride directive or a
class name, in that order, populating wt.nv with the first value it finds. If the first parent
DIV has neither of these attributes, then wt.nv will be empty.
Tracker objects
Each tracker is a JavaScript object with properties that assign it a unique name, define
what clicks should be tracked, and outline any other relevant configuration points. An
array of trackers is passed to the plugin in the trackers property.
Trackers are executed in order starting from element 0 of the array. If a particular link
click meets the criteria for multiple tracker objects, only the first one executed will
actually fire. You can use multiple trackers, including trackers of the same type.
However, this plugin will not fire multiple events for a single link click.
Some individual tracker types require or enable additional properties, but all trackers
support the following properties:
Property Datatype Description
attribCapture string orarray
An array or space-delimited string containing HTML dataattribute names. If the element that triggers a link trackingevent has this attribute, the contents of the attribute willtypically be captured by a custom parameter.
attribInherit boolean If set to true, then the attribCapture andattribParams properties will look for the designatedattributes both on the element triggering the link click aswell as on its parent node, it’s parent node, and so on tothe parent document.
attribParams string orarray
An array or space delimited string containing HTML dataattribute names. If the element that triggers a link trackingevent has this attribute and that attribute contains aparameter override string, the parameters will be captured.
©2020Oracle Corporation. All rights reserved 241 of 514
Property Datatype Description
These values will override defaults and also valuesprovided in globalParams or the params property.
catchRightClicksboolean If set to true, this tracker will capture right clicks. Thisproperty overrides the global catchRightClicksproperty.
exclude boolean If set to true, this tracker will disable link tracking for alllinks that match the tracker's criteria. This will takeprecedence over any tracker that may also match the link.If a link meets the criteria for an exclude tracker, no eventwill fire regardless of any other trackers being used.Be careful when using this property.
hashParam string If this property contains a parameter name, the tracker willcapture the hash anchor component of the URL as part ofthe parameter named. If a different parameter is specifiedin the global hashParam property, then both will bepopulated.
inheritParams string orarray
An array or space delimited string containing the names ofparameters that will be inherited from the page viewinstead of cleared. This property overrides thecorresponding global definition (if specified).
name string (Required) A unique string to identify the tracker. If thename property is not specified or it is a duplicate of anearlier tracker, then the tracker is not loaded.
nvMethod string Specify one of the following to set the nv method:
l default: Use the base tag’s method to populate wt.nv.
l parent_div: Populate wt.nv based on the parent DIV tag.
Takes precedence over the global default.
nvOverride string A string containing an HTML attribute name used topopulate wt.nv. Used with the parent_div method.Defaults to the data-wt_name attribute. Takesprecedence over the global default.
params array An array of parameter value pairs specifying what valueswill be assigned to those parameters. These values willoverride the defaults for the tracker and any parametersspecified in globalParams.
title string Specifies one of the following ways to build link titles:
©2020Oracle Corporation. All rights reserved 242 of 514
Property Datatype Description
l content: Build link titles from the contents of the anchor tag.
l url: Build link titles from the destination URL.
l urlnoq: Build link titles from the destination URL without
query parameters.
titleAttrib string orarray
A string or array of strings containing the HTML attributesto check for text to override the normal page title. Defaultsto data-wt_title as a single value. If an array, attributesare checked in order from element 0 onward with the firstfound taking precedence.
titlePrefix string The wt.ti (link title) parameter will begin with this valuefollowed by a colon. This will override the prefix in thedefault wt.ti value, but will not affect anything but theprefix.
type string (Required) A string identifying the type of tracker. If thespecified string does not match a supported tracker type,the tracker is not loaded.
Supported tracker types
Tracker type Descriptionall_links Tracks all anchor tags on the pageattributes Link tracking enabled by an arbitrary attribute value on the linkclasses Link tracking enabled by class name of the link or an ancestorcustom An advanced trackerdownloads Download link trackingids Link tracking enabled by ID of the link or an ancestorjavascript Tracks all links using the javascript: protocoloffsite Offsite link trackingurls Tracks anchor tags whose destination URL matches a pattern
Unless a tracker specifies otherwise, the default behavior is to provide all data points
present on the page view except the following parameters, which are modified with each
link click.
©2020Oracle Corporation. All rights reserved 243 of 514
Parameters modified with each captured link click
ParameterDescriptionwt.ac Sets to empty string unless named in inheritParamswt.ad Sets to empty string unless named in inheritParamswt.dl 99wt.mc_id Sets to empty string unless named in inheritParamswt.nv The ID attribute of the first named DIV or TABLE element encountered while
walking up the DOM from the link clickedwt.oss
Sets to empty string unless named in inheritParamswt.oss_rwt.pn_sku
Sets to empty string unless named in inheritParamswt.si_nwt.si_pwt.si_xwt.srchwt.ti The prefix Link: followed by the destination URL.wt.tx_e
Sets to empty string unless named in inheritParamswt.tx_iwt.tx_idwt.tx_itwt.tx_s
All links
This tracker activates link tracking for all links on the page. It uses no additional
properties, builds link titles using the content method, and uses default parameter
values.
Attributes
This allows link tracking to be activated based on an HTML attribute value on the anchor
tags. This could be used to target all links with a particular data- attribute value, which
can be useful in cases where a developer doesn’t wish to add class names to links to be
activated. This tracker requires one additional property:
©2020Oracle Corporation. All rights reserved 244 of 514
Property Datatype Description
attributesobjectThis must be an object where a property name identifies the HTMLattribute to be examined and the property's value is the value to bematched against. A value of true will match any value.
For example, the following tracker would capture clicks on any link with the data-wt-
linktrack attribute set to any value:
{name:"attribute demo",type:"attributes",attributes:{'data-wt_linktrack':true
}
Classes
This provides a mechanism to activate link tracking for all anchor tags of a particular
class, or within a node belonging to a particular class. This could be used to specify a
unique class name so that web developers can activate link tracking by assigning an
anchor tag or containing node to that class, or can be used to track links based on an
existing class already in use within the page.
This tracker requires one additional property:
Property Datatype Description
classNamesstringorarray
(Required) Either an array of strings or a string containing a space-delimited list of class names that will activate link tracking. If notpresent, the tracker will not be loaded.
This tracker uses the content method to build link titles and the default values for all
parameters.
©2020Oracle Corporation. All rights reserved 245 of 514
Downloads
This tracker will fire a link tracking event when a user clicks on an anchor tag with a
destination that matches one of the file extensions to be tracked. This duplicates the
download link tracking available in the base tag, so if this is used as a tracker, the loader
file should specify download:false. This tracker requires one additional property:
Property Datatype Description
downloadTypesstringorarray
(Required) An array of strings or a string containing a comma-
delimited list of file extensions to track as downloads.
If not present, the tracker will not be loaded.
This tracker uses the content method of building link titles and
the following parameters are altered from their default values:
wt.dl: 20
IDs
This provides a mechanism to activate link tracking for anchor tags by specific ID, or
within a node of that specific ID. This can be used to target individual links or site
sections to enable link tracking. This tracker requires one additional property:
PropertyDatatype Description
idNamesstringorarray
(Required) Either an array of strings or a string containing a space-delimited list of IDs that will activate link tracking. If not present, thetracker will not be loaded.
This tracker uses the content method to build link titles and the default values for all
parameters.
©2020Oracle Corporation. All rights reserved 246 of 514
JavaScript
This activates link tracking for all anchor tags on the page that use the javascript:
protocol in the href attribute. This tracker uses the content method of building link titles
and the following parameters are altered from their default values: wt.dl: 22
Offsite
The offsite tracker fires a link tracking event when a user clicks on an anchor tag with a
destination that leads to a domain that is not part of the current site. The current host
name is always considered part of the site, as are any host names indicated in the
onsiteDoms property assigned to the tracker. This duplicates the offsite link tracking
available in the base tag, so if this is used as a tracker, the loader file should specify
offsite:false.
This tracker allows one additional optional property:
Property Data type DescriptiononsiteDoms l string
l RegExp
l array
One of the following:
l A string containing a space-delimited list of domains
l A string containing a single domain
l ARegExp object that matches some number of domains
l An array containing some combination of strings indicating
single domains or RegExp objects
If this property is omitted, onsiteDoms is defined in the base tag and it is accessible to
the plugin (the base tag is not minified or has been modified to make it accessible), then
this tracker will inherit the definition from the base tag. This tracker uses the url method
of building link titles and the following parameters are altered from their default values:
wt.dl: 24
©2020Oracle Corporation. All rights reserved 247 of 514
URL
This is a mechanism to activate link tracking for anchor tags based on the destination
URL, such as tracking all links to a particular file server, leading to a particular directory,
or which have a query parameter.
This tracker requires one additional property:
Property Datatype Description
URLPatternsstringorarray
(Required) Either a string or RegExp object containing the patternto be matched, or an array of the same. If not present, the trackerwill not be loaded.
This tracker uses the content method to build link titles and the default values for all
parameters.
Data validation
The plugin validates the data types for all properties defined in the loader file. If an
optional property does not conform to the requirements, it is deleted and the plugin will
operate with the default value. If a tracker’s required data does not confirm to the
requirements, the tracker will not be loaded.
Advanced usage
Some options available within this plugin will cause the entire plugin to fail if not used in
a very precise way, or may even generate JavaScript errors that cause the Oracle Infinity
Tag to not fire correctly. They should be used with care, and should be tested carefully
prior to deployment to production environments.
Deferred registration
By using the deferReg: true property, the plugin will not set up any link tracking
events when the plugin is first loaded. Instead, it will prepare all of the configuration
©2020Oracle Corporation. All rights reserved 248 of 514
options and wait until external code calls the AdvLinkTrack.registerLinkTracking
() method before it takes the final step of attaching the link tracking code to the event
handlers for those links.
If this option is used and no external code calls
AdvLinkTrack.registerLinkTracking(), the plugin will never finish its setup and no
link tracking events will fire.
This technique is useful in cases where a page loads some of its content dynamically so
that some of the anchor tags that you want to track may not be present on the page at the
time that the plugin first runs, which prevents the addition of an event handler for them.
For example, if your site accesses a third-party service to obtain an HTML fragment to be
inserted into the page or if it accesses a database to obtain a list of links to be added to
the DOM. In these cases, setting deferReg to true can set up the link trackers, but then
call the AdvLinkTrack.registerLinkTracking() method from within a
jQuery.ready method or from some other external code that can be executed after the
HTML document has fully loaded.
Caution: Do not set this value to true unless you properly implement the external
code calls.
Custom trackers
The trackers listed above cover the most common use cases and are not difficult to
implement. Error checking is also in place so that most mistakes in configuring a tracker
will disable the tracker, but not generate JavaScript errors or otherwise negatively impact
other trackers or other functionality.
©2020Oracle Corporation. All rights reserved 249 of 514
Some additional use cases require more complex criteria, such as tracking download
links which also match a particular URL, or tracking links within a div but which don’t
belong to a particular class. Custom trackers can be used to arrange these complex
criteria, but the flexibility comes with a more complex implementation and less data
validation. Any custom tracker should be carefully tested to ensure that they function as
intended and do not generate JavaScript errors.
A custom tracker object is much like any other tracker object, supporting the various
properties that apply to all trackers, but with two very important properties unique to
custom trackers: an array of include filter objects, and an array of exclude filter objects.
Any link that meets the criteria for one or more include filters will be within scope for the
custom tracker, unless it meets the criteria for one or more of the exclude filters. A
custom tracker must include at least one include filter, but may omit the array of exclude
filters entirely if desired. Both must be arrays, not individual filter objects even if the array
contains only a single filter.
Property Data type DescriptionexcludesArray of
objectsAn array of filter objects that describe the exclude criteria to use forthe custom tracker
includesArray ofobjects
(Required) An array of filter objects that describe the includecriteria to use for the custom tracker
Filter objects for the includes or excludes arrays are identical other than which array they
are attached to. If a property is required for a given type of filter object, and that property
is absent, or does not contain the data types expected (has a string instead of a RegExp,
for example), this may cause JavaScript errors or unpredictable behavior. Properties of
the filter objects are:
Property Datatype Description
attr object An object with one or more properties where the property name
©2020Oracle Corporation. All rights reserved 250 of 514
Property Datatype Description
corresponds to an attribute name and the property value correspondsto an attribute value. If the property is set to true, then it matches anyvalue.
classes array An array of strings that each indicate a class to match against.Required for the inClass type.
doms array An array of strings that each indicate a domain to consider as anonsite domain. Required for the isOnsite type, though it may be a 0-element array.
ext array An array of strings that each indicate a file extension to matchagainst. Required for the hasFileExtension type.
ids array An array of strings that each indicate an ID to match against.Required for the inID type.
patternsarray An array of RegExp objects that each indicate a pattern to match tothe link’s href attribute. Required for the hasURLPattern type.
type string (Required) A string identifying the type of tracker. This must be one ofthe supported types listed above. If the string does not match anavailable tracker type, the entire custom tracker will be rejected.
zFunc functionA function that returns true if the event should be included. Thefunction must use the correct interface and should have no sideeffects.
The type property for each filter object must be one of the following include or exclude
values:
Property DescriptionalwaysTrue Matches all links.hasAttribute Matches if the link has a data attribute of the given name and value.
Requires the attr property.hasFileExtensionMatches if the link’s href ends in a given file extension. Requires
the ext property.hasURLPattern Matches if the link’s href matches a given RegExp. Requires the
patterns property.inClass Matches if the link has or is within a DOM node which has a given
class. Requires the classes property.inID Matches if the link has or is within a DOM node which has a given
ID. Requires the ids property.isJS Matches if the link’s href uses the javascript: protocol.
©2020Oracle Corporation. All rights reserved 251 of 514
Property DescriptionisOnsite Matches if the link is considered an onsite link. Requires the doms
property.isRightClick Matches if the event was fired due to a right click.zFunction Matches if the provided function returns true. Requires the zFunc
property.
Examples of custom trackers may be found by reviewing the JavaScript code for the
plugin itself, as each of the pre-configured trackers listed in the main body of the
document are implemented internally with these filter objects (after data validation).
Unless the catchRightClicks property is set to true, the isRightClick filter is
added to the exclude array of every tracker, including custom trackers. If you wish your
custom tracker to include right clicks, be sure to set catchRightClicks: true on your
tracker object.
The zFunc type is a special case that should be used sparingly and with care and only
when no other option exists, typically as part of a consulting engagement executed in
cooperation with this plugin's development team. If used, the function should accept
three arguments:
l The filter object itself, allowing the function to access other properties of the filter as
configuration points.
l An object containing the components of the destination link within the dcssip, dcsuri,
dcsqry, dcsref, and hash properties of that object.
l The DOM node that triggered the event.
It is important that the function used here returns a value of true or false, and does not
make any other changes, as any changes could have unpredictable results and cause
JavaScript errors, especially in future updates to this plugin.
©2020Oracle Corporation. All rights reserved 252 of 514
Examples
Document download example
One simple invocation would be to activate link tracking for download links, but with a
desire to capture the title for each file, stored in the data-title attribute of the anchor tag
like this:
<a data-title="Test Results for X75"
href="/documents/32a8be43-6684-4136.docx">Results</a>
To track this, you would activate link tracking with only a single tracker in order to
capture the data-title attribute.
plugins:{advancedLinkTracking:{trackers:[{name:"Doc Downloads", type:"downloads",attribCapture="data-title"}]}
}
Content link example
In another example, we have a site framework that contains a top menu, left nav, and a
content pane. We want to capture all offsite links, and also any link clicks within the
content pane. The content pane is identifiable because it is contained with the div with
the class name content:
<div class="content"><p>Various content goes here, including some links.</p></div>
The advanced link tracking plugin would then be invoked like this:
©2020Oracle Corporation. All rights reserved 253 of 514
plugins:{advancedLinkTracking:{trackers:[{name:"downloads", type:"downloads"},{name:"classes", type:"classes", classNames:"content"},]}
}
Because the downloads tracker fires first, download links would always have wt.dl=20
(the default for download tracking), even if contained in the content section of the page.
Parameter priority
When processing trackers, there may be many different sources for the same parameter.
These are all listed below in order, starting with the highest precedence and moving to
lower precedence.
1. Parameter override string loaded via the attribParams
2. Parameters captured via the attribCapture
3. The params property of the tracker object
4. The globalParams property of the plugin object
5. The default value for the specific tracker triggering the event
6. The default value for the link tracking plugin as a whole
7. Default values provided by the base tag.
Blocklist tag plugin
The blocklist tag plugin helps you to configure whitelists and blacklists to include or
exclude parameters that are sent to Oracle Infinity data collectors by the Oracle Infinity
Tag. This helps to ensure that known PII or sensitive information is not accidentally sent.
©2020Oracle Corporation. All rights reserved 254 of 514
If you use this plugin to specify a whitelist, only its specified parameters are included in
data sent to Oracle Infinity. All other parameters will be removed.
If you use this plugin to specify a blacklist, only its specified parameters are excluded
from data sent to Oracle Infinity. All other parameters will be allowed.
To enable the blocklist tag plugin, specify the blocklist option.
Important: When you enable this plugin, all parameters sent by the Oracle Infinity
Tag are expressed as lower case values.
Options
blocklist
To enable the blocklist tag plugin, specify blocklist and blockCollect as follows:
blocklist: {'enable':true,'blockCollect':true}
You can specify additional supported options as needed:
blocklist: {'enable':true,'blockCollect':true,
'option1':true,..., 'optionN':true}
The default whitelist is enabled by default if the blocklist option is enabled—unless the
blacklist option is specified.
blockCollect (required)
blockCollect forces the Oracle Infinity Tag to wait until the blocklist plugin loads data
collection can begin. This option must be included with all other blocklist plugin
expressions.
©2020Oracle Corporation. All rights reserved 255 of 514
blacklist
You can use the blacklist option to specify a comma-delimited string of parameters
that you want to exclude from the data collected by the Oracle Infinity Tag as shown in
the following example:
blocklist: {'enable':true,'blockCollect':true,'blacklist':
['parameter1',...,'parameterN']}
Important: If you specify the blacklist option, the default whitelist is
automatically disabled.
commerce
Setting the commerce option to true enables the commerce whitelist in addition to the
default whitelist, as shown in the following example.
blocklist:
{'enable':true,'blockCollect':true,'commerce':true}
video
Setting the video option to true enables the video whitelist in addition to the default
whitelist, as shown in the following example.
blocklist: {'enable':true,'blockCollect':true,'video':true}
whitelist
You can use the whitelist option to specify a comma-delimited string of parameters to
be added to the default whitelist as shown in the following example:
©2020Oracle Corporation. All rights reserved 256 of 514
whitelist: {'enable':true,'blockCollect':true,'whitelist':
['wt.cg_n','wt.cg_s','wt.test','id']}
Default whitelists
Default commerce whitelist
commerceList = ['wt.pn_sku','wt.tx_e','wt.tx_s','wt.tx_u','wt.tx_cartid','wt.tx_i','wt.tx_id','wt.tx_it','wt.pn_id','wt.pn','wt_tx_t'
];
Default video whitelist
videoList = ['clip_n','clip_id','clip_secs','clip_mins','clip_ct','clip_perc','clip_ev','clip_duration','clip_t','clip_player','clip_provider','clip_vol','clip_res','clip_player_res','clip_duration_n',
©2020Oracle Corporation. All rights reserved 257 of 514
'clip_tv','clip_mode','clip_screen'
]
Default whitelist
whiteList = [// page-related'dcssip','dcsuri','dcsipa','wt.ti',// browser-related'wt.bh','wt.dl','wt.tz','wt.ul','wt.sr','wt.ce','wt.tv','wt.ct','wt.bs','wt.jo','wt.js',// sessionization'wt.co_f','wt.vtvs','wt.vt_tlv','wt.vtid','wt.vt_d','wt.vt_a_d','wt.vt_s','wt.vt_a_s','wt.vt_f','wt.vt_sid',// onsite add'wt.ad','wt.ac',// offsite add
©2020Oracle Corporation. All rights reserved 258 of 514
'wt.mc_id',// content groups'wt.cg_n','wt.cg_s',// scenario analysis'wt.si_n','wt.si_s','wt.si_p','wt.si_x','wt.si_cs',// offsite search'wt.srch',// segmentation'wt.seg_1','wt.seg_2','wt.seg_3','wt.seg_4',// onsite search'wt.oss','wt.oss_r',// misc'wt.rv','wt.tu','wt.ev','wt.cd','wt.nv','wt.dm','wt.gc','dcsdat','ora.tag_id'
];
Note: For more details about this implementation, contact your Oracle Infinity
solutions consultant.
©2020Oracle Corporation. All rights reserved 259 of 514
Brightcove video tracking tag plugin
The Brightcove video tracking plugin for the Oracle Infinity Tag provides the following
features:
l Track a Brightcove player hosted on your site.
l Track multiple video objects on a page.
l Dynamically attach to any video object that is inserted into the markup.
l Extensive configuration options, including events such as clip views, view duration, pause,
play, next, and previous clip clicks for embedded videos
l Extensive debug messaging via _ora.debug=vvv in the browser console
Requirements
l Use the latest version of the Brightcove player.
l Use Brightcove's default video object names, which are set in the configurable playerId
option. Modifying Brightcove's default video object names is the most common reason for
video tracking to fail.
Note: For more details about this implementation, contact your Oracle Infinity solutionsconsultant.
Modes
The Brightcove tag plugin has the following modes:
l Dynamic: Dynamically insert videos into the markup.
l Standard: Videos to be tracked are in the markup when the page loads. Use Standard mode if
you are not dynamically inserting videos into the markup. Standard mode is not recommended
for implementations where dynamic video insertions are used, because it will not reliably bind
to the videos if they are dynamically inserted after the tag has loaded.
©2020Oracle Corporation. All rights reserved 260 of 514
Dynamic mode example
Dynamic mode video insertion should be used if the video is dynamically inserted into
the DOM. The Brightcove tag plugin scans the markup on a regular basis and binds to
any new videos.
Expand to see the sample
setTimeout(function(){var html = "";html += ' <video data-account="1571595843001" data-
video-id="4974033989001" data-player="41ecSd4l2x" data-embed="default" class="video-js" controls height="357"width="635" autoplay=""></video>';
$("#videoDiv").html(html);$('#home_video')[0].load();
},1500);setTimeout(function(){
$('#home_video').remove();},2500);setTimeout(function(){
var html = "";html += ' <video data-account="1571595843001" data-
video-id="4974033989001" data-player="41ecSd4l2x" data-embed="default" class="video-js" controls height="357"width="635" autoplay=""></video>';
$("#videoDiv").html(html);$('#home_video')[0].load();
},3500);
Standard mode example
When the page loads in standard mode, the Brightcove tag plugin scans the page for
any video that is in the markup and binds to it.
Expand to see the sample
<!DOCTYPE HTML><html>
<head>
©2020Oracle Corporation. All rights reserved 261 of 514
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
<title>Video Test Page</title></head>
<body><div class="videoplayer">
<video data-account="1571595843001" data-video-id="4974033989001" data-player="41ecSd4l2x" data-embed="default" class="video-js" controls height="357"width="635" autoplay=""></video>
<scriptsrc="//players.brightcove.net/1571595843001/41ecSd4l2x_default/index.min.js"></script>
<scriptsrc="//players.brightcove.net/1719543778001/vttjs/dist/vtt.min.js"></script>
</div></body>
</html>
Parameters
The Brightcove tag plugin can send the following Oracle Infinity parameters:
Parameter Name Descriptionwt.clip_accountid
Brightcoveaccount ID
wt.clip_accountid provides the unique ID of theBrightcove account.
wt.clip_ct Videocontent type
wt.clip_ct indicates the video's content type, such asMOV.
wt.clip_duration
Duration inseconds wt.clip_duration indicates the video duration in seconds.
wt.clip_duration_min
Duration inminutes wt.clip_duration_min indicates the video duration in
minutes.
wt.clip_duration_n
Durationbased onrange
wt.clip_duration_n indicates the range of the videoduration in seconds.
wt.clip_ev Media eventidentifier
wt.clip_ev identifies the type of media-related event thathas occurred, such as v for a view event.
©2020Oracle Corporation. All rights reserved 262 of 514
Parameter Name Descriptionwt.clip_id Video
identifier wt.clip_id indicates the unique ID of the video asset.
wt.clip_mins
Playhead inminutes
wt.clip_mins indicates the video's playhead position inminutes.
wt.clip_mode
Mode type wt.clip_mode identifies the mode type of video, such asfixed, streaming, FullScreenOn, or FullScreenOff.
wt.clip_n Video name wt.clip_n identifies the name of the video that wasaccessed.
wt.clip_perc
Percentageplayed
wt.clip_perc identifies the percentage of the video that theviewer has played.
wt.clip_player
Player name wt.clip_player identifies the name of the video player.
wt.clip_player_res
Playerresolution
wt.clip_player_res indicates the video player's resolutionin pixel height x width.
wt.clip_provider
Videoprovider
WT.clip_provider indicates the host on which the video islocated
wt.clip_res
Videoresolution
wt.clip_res indicates the resolution of the video expressedas height x width in pixels.
wt.clip_secs
Playhead inseconds
wt.clip_secs indicates the video's playhead position inseconds.
wt.clip_src
Video URL wt.clip_src provides the URL of the video.
wt.clip_t Media type wt.clip_t identifies the type of media, such as Flash orHTML5, depending on what type of player is being used.
wt.clip_tag_tagName
Video tagname wt.clip_tag_tagName provides the video tag name.
wt.clip_tags
Video tags wt.clip_tags provides a list of one or more semicolon-delimited video tags.
wt.clip_tv Video tagpluginversion
wt.clip_tv provides the version of the video tag plugin.
wt.clip_video_id
Brightcovevideo ID
wt.clip_video_id provides the unique ID of the Brightcovevideo.
wt.clip_vol
Volumelevel
wt.clip_vol provides the volume of the video on a scalefrom 1 through 100.
wt.dl Eventtracking
wt.dl specifies a numeric identifier for the kind of eventtracked, which are used for event-level filtering and reporting.
wt.player_id
Brightcoveplaylist ID
wt.player_id provides the unique ID of the Brightcoveplaylist.
©2020Oracle Corporation. All rights reserved 263 of 514
Configuration options
The default Brightcove tag plugin options are set to the most commonly requested
configuration. However, you can customize the configuration for your needs when
required.
Important: Video tracking can create a high volume of server calls depending on
the configured events. For example, if you set the beacon rate to send every 10
seconds, the video is 10 minutes, and you have 100 users: 60 * 100 = 6000 server
calls for one event.
Sample configuration block for the loader, which is visible in ODC.js:
"config" : { "ora-plugins" : { bc:
{beacon:true,beaconRate:90,load:false,loadMeta:false} } }*
Optional configuration properties
Option Datatype Description
beacon boolean
When set to true (the default), a time beacon event is sent everybeaconRate seconds. If only quartile reporting is needed, set thisoption to false to disable beacon tracking. See a data outputsample.
beaconCurve array An array of values to use for curvilinear beaconing, such as thefollowing default value:
{60:10,120:20,300:30,
©2020Oracle Corporation. All rights reserved 264 of 514
Option Datatype Description
420:45,600:60,1800:150
}
beaconRate integer
The interval between beacons in seconds values (from 0 through65000). Set this value to the maximum granularity of the reportingyou require to make business decisions. The default value is 60.
beaconType string
The type of beacon, which can be one of the following:
l auto: for streaming will use beaconCurve, and for fix duration the
beacon rate auto.
l curve: For streaming media use the beacon curve. For curve always
use curve.
For all other values use the beacon rate.bins integ
erSets a bin range for duration tracking in seconds (from 0 through65000) for categorizing videos by time duration buckets or bins.The default value is 15. The parameter generated is wt.clip_duration_n.
enable boolean Enables the Brightcove tag plugin when set to true (the default)
fixed Uses the beacon duration for allload bool
eanWhen set to true, load events are tracked and wt.clip_ev:Loadis generated.
The default value is false.See a data output sample.
loadMeta boolean
When set to true (the default), loaded meta events are generated:
lwt.clip_ct:content_type
lwt.clip_duration:seconds
lwt.clip_duration_n:value
lwt.clip_ev:LoadMeta
©2020Oracle Corporation. All rights reserved 265 of 514
Option Datatype Description
lwt.clip_player:player_name
lwt.clip_player_res:heightxwidth
lwt.clip_provider:provider_name
lwt.clip_res:heightxwidth
lwt.clip_t:media_type
When set to false, loaded metadata events are not tracked.See a data output sample.
maxBinds integer
Sets the maximum number of binds to video objects per page. Thedefault value is 10.
mediaTags string
Used for sending custom media tag data. Brightcove supports a rich
set of media tags that are sent with the video metadata, which can
have two video tag formats:
l tag=value: The Brightcove tag plugin will send the tags as wt.clip_
tags values in a list.
l tag: The Brightcove tag plugin dynamically generates wt.clip_tag_
tagName parameters a key-value pairs.
nameCallback
string
Callback to set a custom video name generation method. Thecallback is passed the video node that is being tracked and expectsa string (name) to be returned. You can use this configurationoption to use an alternate naming collection or determinationmethod. The default is null.
Example:
nameCallack:function(e){return e.getAttribute("data-name") ||
'unknown';}
©2020Oracle Corporation. All rights reserved 266 of 514
Option Datatype Description
Note: HTML5 does not have a strong asset naming
mechanism. The name attribute is not typically available in
the meta content, so the plugin uses the name attribute in the
<VIDEO> tag if it exists, then falls back to the file name.
pause boolean
When set to true (the default), pause and resume events aretracked and wt.clip_ev:Pause and wt.clip_ev:Resumeparameters are generated. See a data output sample.
pctInc integer
Sets the quartile tracking percentage increments, which isexpressed as an integer from 0 through 100. For dectile tracking(every 10 percent), set this option to 10. The default value is 25.
playerId string
The Brightcove ID for the player, which sets the selector string to
identify videos. The default value is:
div[id^='vjs_video']:not([id$='_api']):not
([id*='_component'])
For custom player implementation, this selector string may need tobe adjusted based on how you identify videos in the markup.
poll boolean
When set to true, the Brightcove tag plugin polls for videos that aredynamically inserted in the markup. The default value is false.
pollRate integer
Sets the polling interval for a new video in milliseconds. The defaultvalue is 250.
postMessage boolean
When set to true, the Brightcove tag plugin sends data viapostMessage instead of the tracking call. The default value isfalse.
preProcess Callback to preprocess the data before its sent to the tracking callquartile bool
eanWhen set to true (the default value), the Brightcove video trackingplugin uses quartile event tracking and the player will send data atquartile points defaulted to 25, 50, 75, and 100%. See a data outputsample.
The calculation for quartile is:
(current position / video duration)*100
©2020Oracle Corporation. All rights reserved 267 of 514
Option Datatype Description
wt.clip_secs = (Math.floor(((e.currentTime) *100) / 1) / 100);wt.clip_perc = Math.floor((e.currentTime /e.duration ) * 100);wt.clip_perc = Math.floor(WT.clip_perc /config.pctInc) * config.pctInc;
screenMode boolean
When set to true (the default value), the Brightcove video tracking
tag plugin generates the wt.clip_ev:FullScreenOn event when
the screen mode is changed.
seek boolean
When set to true (the default value), seek events are tracked andthe Brightcove tag plugin generates wt.clip_ev:Seekparameters. See a data output sample.
trackCallback
string
Modifies the tracking callback function from an Infinity ORA.clickcall to use a custom method. For details, see the samples.
transformCallback
Adds in a transform so the data can be customized before sending(standard Oracle transform)
volume boolean
When set to true (the default value), volume events are trackedand the Brightcove tag plugin generates wt.clip_ev:Volume andwt.clip_vol:level parameters.
Sample implementations
trackCallback samples
To send data via Tealium:
trackCallback:function(s){utag.data.event_type='video';var mergedUDO=jQuery.extend(utag.data,states.data.wt);utag.link(mergedUDO);};
To send data via postMessage:
trackCallback: function (t) {
©2020Oracle Corporation. All rights reserved 268 of 514
var payload = JSON.stringify({action: 'MultiTrack', data:[t.argsa]});_window.parent.postMessage(payload, "*");};
The following objects are passed to the callback function:
element: this, // current environmentargsa: tags, // Infinity tags to besenttransform: config.transformCallback, // transform for legacyv10 tagdata: states.data.wt, // raw tag data in form["wt"].['clip_*] formatvideoEle: e // video elementreference that's created the event
Sample onload autoplay data output network call
Expand to see the sample
dcsdat:1497915126398dcssip:localhostdcsuri:/host/AnaBasic.htmlwt.bh:16wt.bs:1578x150wt.cd:24wt.ce:2wt.clip_accountid:1571595843001wt.clip_ct:application%2Fvnd.apple.mpegurlwt.clip_duration_n:360-375wt.clip_ev:Playwt.clip_id:4974033989001wt.clip_mode:FixedDurationwt.clip_n:Adafruit%20Circuit%20Playground%20%E2%80%93%20Another%20Geek%20Momentwt.clip_perc:0wt.clip_player:Brightcove%20vjswt.clip_player_ver:5.20.1wt.clip_res:357x635
©2020Oracle Corporation. All rights reserved 269 of 514
wt.clip_t:HTML5wt.clip_tv:1.0.3wt.clip_video_id:4974033989001wt.co_f:6d601111-9621-4eab-93db-cd340527dbd2wt.ct:unknownwt.dl:1wt.es:localhost%2FAnaBasic.htmlwt.jo:Nowt.js:Yeswt.le:UTF-8wt.player_id:41ecSd4l2xwt.pn_sku:brent%3BmyTest%3Bwebtrendswt.sr:1920x1200wt.srch:1wt.ssl:0wt.ti:Analytics%20Tag%20Testingwt.tv:1.0.2wt.tx_custom:lets%3Bgo%3Bpenswt.tx_i:123456wt.tx_s:19.99%3B20.00%3B50.98wt.tx_type:buy%3Bbuy%3Brentwt.tx_u:1%3B5%3B2wt.tz:-7wt.ul:en-USwt.vt_f_tlh:1497915124wt.vtid:6d601111-9621-4eab-93db-cd340527dbd2wt.vtvs:1497914552813wt.clip_tag_adafruit:0wt.clip_tag_another geek moment:0wt.clip_tag_function:eval%2Fdev%20toolwt.clip_tag_industry:transportationwt.clip_tag_lang:enwt.clip_tag_producttype:semiconductors & dev toolswt.clip_tag_site:globalwt.clip_tag_supplierid:1528wt.clip_tag_techzone:%20microcontroller%20solutionswt.clip_tag_videotype:another%20geek%20moment
Sample beacon values
Expand to see the sample
wt.clip_ct:mp4
©2020Oracle Corporation. All rights reserved 270 of 514
wt.clip_duration:20wt.clip_duration_min:20wt.clip_duration_n:30wt.clip_ev:Beaconwt.clip_id:Oceans.mp4wt.clip_mins:2.1wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_perc:25wt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_secs:48wt.clip_t:html5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:40
Sample load values
Expand to see the sample
wt.clip_ct:mp4wt.clip_ev:Loadwt.clip_id:Oceans.mp4wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_t:html5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:41
Sample load meta values
Expand to see the sample
wt.clip_ct:mp4
©2020Oracle Corporation. All rights reserved 271 of 514
wt.clip_ev:Loadmetawt.clip_id:Oceans.mp4wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_t:html5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:41
Sample pause values
Expand to see the sample
wt.clip_ct:mp4wt.clip_duration:20wt.clip_duration_min:20wt.clip_duration_n:30wt.clip_ev:Pausewt.clip_id:Oceans.mp4wt.clip_mins:2.1wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_perc:25wt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_secs:48wt.clip_t:html5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:40
Sample play values
Expand to see the sample
wt.clip_ct:mp4
©2020Oracle Corporation. All rights reserved 272 of 514
wt.clip_ev:Playwt.clip_id:Oceans.mp4wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_t:html5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:40
Sample quartile values
Expand to see the sample
wt.clip_ct:mp4wt.clip_duration:20wt.clip_duration_min:20wt.clip_duration_n:30wt.clip_ev:Pausewt.clip_id:Oceans.mp4wt.clip_mins:2.1wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_perc:25wt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_secs:48wt.clip_t:Fhtml5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:40
Sample resume values
Expand to see the sample
wt.clip_ct:mp4
©2020Oracle Corporation. All rights reserved 273 of 514
wt.clip_duration:20wt.clip_duration_min:20wt.clip_duration_n:30wt.clip_ev:Resumewt.clip_id:Oceans.mp4wt.clip_mins:2.1wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_perc:25wt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_secs:48wt.clip_t:html5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:40
Sample seek values
Expand to see the sample
wt.clip_ct:mp4wt.clip_duration:20wt.clip_duration_min:20wt.clip_duration_n:30wt.clip_ev:Seekwt.clip_id:Oceans.mp4wt.clip_mins:2.1wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_perc:25wt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_secs:48wt.clip_t:html5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:40
©2020Oracle Corporation. All rights reserved 274 of 514
Domain switcher tag plugin
The domain switcher plugin for the Oracle Infinity Tag overrides the first-party cookie
(FPC) domain with a correct matching domain from a specified array of possible
domains.Note: For more details about this implementation, contact your Oracle Infinity solutionsconsultant.
By default, Infinity does not specify a domain name when writing a first-party cookie. The
full-page domain from the URL is used, which might not be desirable.
For example, a visitor landing on checkout.example.com by default would have the
WT_FPC cookie set under .checkout.example.com. The cookie would not be readable
under any subdomains of the same website (www.example.com). To avoid this situation,
the plugin can be configured with an array of one or more desirable domains (such as
domains: ['example.com']), which would make Infinity write a cookie under the top-
level domain that is readable across the site no matter where visitor lands.
It works as follows:
1. On initialization, the plugin checks if it is enabled and if there are domains available in the
domains array.
2. It goes through the list of provided domains comparing with the URL of current page.
3. If a submatch is found, the FPC domain is set to the matching domain from the domains array.
This plugin has a few configuration settings that can be set via the ACS tag
configuration:
Plugin configuration
Parameter Default value Descriptiondomains [] Array of domainsenable true Enable plugin functionality
©2020Oracle Corporation. All rights reserved 275 of 514
Example
..."wt-plugins" : {"ds" : {"enable": true,"domains":["example.com", "example.co.uk"]},
...,"anotherPlugin" : {...}
}
HTML5 video tracking tag plugin
The HTML5 video tracking plugin for the Oracle Infinity Tag provides the following
features:
l Amulti-threaded scalable and configurable video reporting tool for use with the Oracle Infinity
Tag
l Track multiple video objects on a page.
l Dynamically attach to any video object that is inserted into the markup.
l Extensive configuration options, including events such as views, view duration, and play
l Extensive configuration options
l Supports standard HTML5 video objects
l Extensive debug messaging via _ora.debug=vvv in the browser console
Note: For more details about this implementation, contact your Oracle Infinity solutionsconsultant.
Requirements
l HTML5 compliant browser: If the visitor's browser does not support the HTML5 VIDEO
attribute, the HTML5 video tracking tag plugin exits without sending track events. This will not
affect the ability of the Oracle Infinity Tag or other plugins to send track events on a page.
©2020Oracle Corporation. All rights reserved 276 of 514
l Event handlers must be active on the page before the video loads:
l When using Standardmode, the HTML5 video tracking tag plugin code must be loaded before a
supported video is loaded in the markup. If the plugin is loaded after the video, it will miss the load
and potentially the loaded meta event. You should include the plugin code toward the top of your
web page.
l Alternatively, use Poll mode to create pseudo-events for the missing load events when the first
event is received.
Note: For more details about this implementation, contact your Oracle Infinity
solutions consultant.
Modes
The HTML5 video tracking tag plugin has the following modes:
l Dynamic: Dynamically insert videos into the markup. Use this mode to create pseudo-events
if the video does not load before the HTML5 video tracking tag plugin code for the missing load
events when the first event is received.
l Standard: Videos to be tracked are in the markup when the page loads. Use Standard mode if
you are not dynamically inserting videos into the markup. Standard mode is not recommended
for implementations where dynamic video insertions are used, because it will not reliably bind
to the videos if they are dynamically inserted after the tag has loaded.
Dynamic video insertion example
Dynamic mode video insertion should be used if the video is dynamically inserted into
the DOM. The HTML5 video tracking tag plugin scans the markup on a regular basis and
binds to any new videos.
Expand to see the sample
setTimeout(function(){
©2020Oracle Corporation. All rights reserved 277 of 514
var html = "";html += ' <video data-account="1571595843001" data-
video-id="4974033989001" data-player="41ecSd4l2x" data-embed="default" class="video-js" controls height="357"width="635" autoplay=""></video>';
$("#videoDiv").html(html);$('#home_video')[0].load();
},1500);setTimeout(function(){
$('#home_video').remove();},2500);setTimeout(function(){
var html = "";html += ' <video data-account="1571595843001" data-
video-id="4974033989001" data-player="41ecSd4l2x" data-embed="default" class="video-js" controls height="357"width="635" autoplay=""></video>';
$("#videoDiv").html(html);$('#home_video')[0].load();
},3500);
Standard mode example
When the page loads in standard mode, the HTML5 video tracking tag plugin scans the
page for any video that is in the markup and binds to it.
Expand to see the sample
<!DOCTYPE HTML><html>
<head><meta http-equiv="content-type" content="text/html;
charset=iso-8859-1" /><title>Video Test Page</title>
</head>
<body><video id="home_video" width="640" height="264"
controls="controls"><source src="http://video-
js.zencoder.com/oceans-clip.mp4" type="video/mp4" />
©2020Oracle Corporation. All rights reserved 278 of 514
</video></body>
</html>
Parameters
The HTML5 video tracking tag plugin can send the following Oracle Infinity parameters:
Parameter Name Descriptionwt.clip_ct Video
content typewt.clip_ct indicates the video's content type, such asMOV.
wt.clip_duration
Duration inseconds wt.clip_duration indicates the video duration in seconds.
wt.clip_duration_min
Duration inminutes wt.clip_duration_min indicates the video duration in
minutes.
wt.clip_duration_n
Durationbased onrange
wt.clip_duration_n indicates the range of the videoduration in seconds.
wt.clip_ev Media eventidentifier
wt.clip_ev identifies the type of media-related event thathas occurred, such as v for a view event.
wt.clip_id Videoidentifier wt.clip_id indicates the unique ID of the video asset.
wt.clip_mins
Playhead inminutes
wt.clip_mins indicates the video's playhead position inminutes.
wt.clip_mode
Mode type wt.clip_mode identifies the mode type of video, such asfixed, streaming, FullScreenOn, or FullScreenOff.
wt.clip_n Video name wt.clip_n identifies the name of the video that wasaccessed.
wt.clip_perc
Percentageplayed
wt.clip_perc identifies the percentage of the video that theviewer has played.
wt.clip_player
Player name wt.clip_player identifies the name of the video player.
wt.clip_player_res
Playerresolution
wt.clip_player_res indicates the video player's resolutionin pixel height x width.
wt.clip_provider
Videoprovider
WT.clip_provider indicates the host on which the video islocated
wt.clip_res
Videoresolution
wt.clip_res indicates the resolution of the video expressedas height x width in pixels.
wt.clip_ Playhead in wt.clip_secs indicates the video's playhead position in
©2020Oracle Corporation. All rights reserved 279 of 514
Parameter Name Descriptionsecs seconds seconds.wt.clip_src
Video URL wt.clip_src provides the URL of the video.
wt.clip_t Media type wt.clip_t identifies the type of media, such as Flash orHTML5, depending on what type of player is being used.
wt.clip_tag_tagName
Video tagname wt.clip_tag_tagName provides the video tag name.
wt.clip_tags
Video tags wt.clip_tags provides a list of one or more semicolon-delimited video tags.
wt.clip_tv Video tagpluginversion
wt.clip_tv provides the version of the video tag plugin.
wt.clip_vol
Volumelevel
wt.clip_vol provides the volume of the video on a scalefrom 1 through 100.
wt.dl Eventtracking
wt.dl specifies a numeric identifier for the kind of eventtracked, which are used for event-level filtering and reporting.
Configuration options
The default HTML5 video tracking tag plugin options are set to the most commonly
requested configuration. However, you can customize the configuration for your needs
when required.
Important: Video tracking can create a high volume of server calls depending on
the configured events. For example, if you set the beacon to send every 10
seconds, the video is 10 minutes, and you have 100 users: 60 * 100 = 6000 server
calls for one event.
Sample configuration block for the loader, which is visible in ODC.js:
©2020Oracle Corporation. All rights reserved 280 of 514
"config" : { "ora-plugins" : { bc:
{beacon:true,beaconRate:90,load:false,loadMeta:false} } }*
Optional configuration properties
Option Datatype Description
beacon boolean
When set to true (the default), a time beacon event is sent everybeaconRate seconds. If only quartile reporting is needed, set thisoption to false to disable beacon tracking. See a data output sample.
beaconRate
integer
The interval between beacons in seconds values (from 0 through65000). Set this value to the maximum granularity of the reporting yourequire to make business decisions. The default value is 60.
bins integer
Sets a bin range for duration tracking in seconds (from 0 through65000) for categorizing videos by time duration buckets or bins. Thedefault value is 15. The parameter generated is wt.clip_duration_n.
load boolean
When set to true, load events are tracked and wt.clip_ev:Load isgenerated. The default value is false. See a data output sample.
loadMeta boolean
When set to true (the default), loaded meta events are generated:
lwt.clip_ct:content_type
lwt.clip_duration:seconds
lwt.clip_duration_n:value
lwt.clip_ev:LoadMeta
lwt.clip_player:player_name
lwt.clip_player_res:heightxwidth
lwt.clip_provider:provider_name
lwt.clip_res:heightxwidth
lwt.clip_t:media_type
When set to false, loaded metadata events are not generated.
©2020Oracle Corporation. All rights reserved 281 of 514
Option Datatype Description
See a data output sample.nameCallback
stringCallback to set a custom video name generation method. The callbackis passed the video node that is being tracked and expects a string(name) to be returned. You can use this configuration option to use analternate naming collection or determination method. The default isnull.
Example:
nameCallack:function(e){return e.getAttribute("data-name") ||
'unknown';}
Note: HTML5 does not have a strong asset naming mechanism.
The name attribute is not typically available in the meta content,
so the plugin uses the name attribute in the <VIDEO> tag if it
exists, then falls back to the file name.
pause boolean
When set to true (the default), pause and resume events are trackedand wt.clip_ev:Pause and wt.clip_ev:Resume parameters aregenerated. See a data output sample.
pctInc integer
Sets the quartile tracking percentage increments, which is expressedas an integer from 0 through 100. For dectile tracking (every 10percent), set this option to 10. The default value is 25.
poll boolean
When set to true, the HTML5 video tracking tag plugin polls forvideos that are dynamically inserted in the markup. The default valueis false.
pollRate integer
Sets the polling interval for a new video in milliseconds. The defaultvalue is 250.
quartile boolean
When set to true (the default value), the HTML5 video tracking pluginuses quartile event tracking and the player will send data at quartilepoints defaulted to 25, 50, 75, and 100%. See a data output sample.
The calculation for quartile is:
©2020Oracle Corporation. All rights reserved 282 of 514
Option Datatype Description
(current position / video duration)*100
wt.clip_secs = (Math.floor(((e.currentTime) *100) / 1) / 100);wt.clip_perc = Math.floor((e.currentTime /e.duration ) * 100);wt.clip_perc = Math.floor(WT.clip_perc /config.pctInc) * config.pctInc;
screenMode
boolean
When set to true (the default value), the HTML5 video tracking tagplugin generates the wt.clip_ev:FullScreenOn event when thescreen mode is changed.
seek boolean
When set to true (the default value), seek events are tracked and theHTML5 video tracking tag plugin generates wt.clip_ev:Seekparameters. See a data output sample.
trackCallback
stringModifies the tracking callback function from an Infinity ORA.click callto use a custom method. For details, see the samples.
volume boolean
When set to true (the default value), volume events are tracked andthe HTML5 video tracking tag plugin generates wt.clip_ev:Volumeand wt.clip_vol:level parameters.
Sample implementations
trackCallback samples
To send data via Tealium:
trackCallback:function(s){ utag.data.event_type='video';
var mergedUDO=jQuery.extend(utag.data,states.data.wt);utag.link(mergedUDO);
};
To send data via postMessage:
trackCallback: function (t) {var payload = JSON.stringify({action: 'MultiTrack',
©2020Oracle Corporation. All rights reserved 283 of 514
data: [t.argsa]});_window.parent.postMessage(payload, "*");
};
The following objects are passed to the callback function:
element: this, // current environmentargsa: tags, // Infinity tags to besenttransform: config.transformCallback, // transform for legacyv10 tagdata: states.data.wt, // raw tag data in form["wt"].['clip_*] formatvideoEle: e // video elementreference that's created the event
Sample beacon values
Expand to see the sample
wt.clip_ct:mp4wt.clip_duration:20wt.clip_duration_min:20wt.clip_duration_n:30wt.clip_ev:Beaconwt.clip_id:Oceans.mp4wt.clip_mins:2.1wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_perc:25wt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_secs:48wt.clip_t:html5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:40
Sample load values
Expand to see the sample
©2020Oracle Corporation. All rights reserved 284 of 514
wt.clip_ct:mp4wt.clip_ev:Loadwt.clip_id:Oceans.mp4wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_t:html5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:41
Sample load meta values
Expand to see the sample
wt.clip_ct:mp4wt.clip_ev:Loadmetawt.clip_id:Oceans.mp4wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_t:html5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:41
Sample pause values
Expand to see the sample
wt.clip_ct:mp4wt.clip_duration:20wt.clip_duration_min:20wt.clip_duration_n:30wt.clip_ev:Pausewt.clip_id:Oceans.mp4
©2020Oracle Corporation. All rights reserved 285 of 514
wt.clip_mins:2.1wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_perc:25wt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_secs:48wt.clip_t:html5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:40
Sample play values
Expand to see the sample
wt.clip_ct:mp4wt.clip_ev:Playwt.clip_id:Oceans.mp4wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_t:html5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:40
Sample quartile values
Expand to see the sample
wt.clip_ct:mp4wt.clip_duration:20wt.clip_duration_min:20wt.clip_duration_n:30wt.clip_ev:quartilewt.clip_id:Oceans.mp4
©2020Oracle Corporation. All rights reserved 286 of 514
wt.clip_mins:2.1wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_perc:25wt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_secs:48wt.clip_t:Fhtml5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:40
Sample resume values
Expand to see the sample
wt.clip_ct:mp4wt.clip_duration:20wt.clip_duration_min:20wt.clip_duration_n:30wt.clip_ev:Resumewt.clip_id:Oceans.mp4wt.clip_mins:2.1wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_perc:25wt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_secs:48wt.clip_t:html5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:40
Sample seek values
Expand to see the sample
wt.clip_ct:mp4
©2020Oracle Corporation. All rights reserved 287 of 514
wt.clip_duration:20wt.clip_duration_min:20wt.clip_duration_n:30wt.clip_ev:Seekwt.clip_id:Oceans.mp4wt.clip_mins:2.1wt.clip_mode:Fixedwt.clip_n:Infinity Promo Videowt.clip_perc:25wt.clip_player:html5wt.clip_player_res:250x200wt.clip_provider:www/example.comwt.clip_res:250x200wt.clip_secs:48wt.clip_t:html5wt.clip_tv:10.2.15wt.clip_vol:33wt.dl:40
Errors
The HTML5 video tracking tag plugin can send the following error messages via the
wt.clip_ev parameter.
Error wt.clip_ev valueMEDIA_ERR_ABORTED Error: You aborted the video playback.
MEDIA_ERR_DECODE
Error: The video playback was aborted due to a corruption problemor because the video used features your browser did not support.
MEDIA_ERR_NETWORK Error: A network error caused the video download to fail part-way.
MEDIA_ERR_SRC_NOT_SUPPORTED
Error: The video could not be loaded, either because the server ornetwork failed or because the format is not supported.
OTHER Error: An unknown error occurred.
IPmask tag plugin
The IP mask tag plugin helps to configure IP address masking for the Oracle Infinity Tag
so that you can replace the last octet of a user's IP address with zeros as it is collected.
©2020Oracle Corporation. All rights reserved 288 of 514
Note: Masking IP addresses impacts the reporting granularity of geolocation
reports.
Enabling the plugin
To enable the IP mask tag plugin in order to mask users' IP addresses, set the maskIP
option as follows:
maskIP: {'enable':true}
When enabled, the mask IP plugin will apply dcsipa=1 for all tracking requests—except
for ORA.collect, because it does not apply any mutations by default.
Note: For more details about this implementation, contact your Oracle Infinity
solutions consultant.
Page load tracking tag plugin
The page load tracking plugin for the Oracle Infinity Tag provides the following features:
l Collects page load information based on the W3C browser navigational timing standards.
l Runs in the browser and presents the metrics from the browser's point of view.
l Works with browsers that support theW3C navigational timing specification.
l Collects page load timing parameters for use in Oracle Infinity Analytics reports, such as the
©2020Oracle Corporation. All rights reserved 289 of 514
following example:
The page load tag plug-in creates an additional server call, so it can significantly
increase server calls. It is not intend to be used as a performance benchmark for user
agents.Note: For more details about this implementation, contact your Oracle Infinity solutionsconsultant.
Configuration
The default page load tag plugin options are set to the most commonly requested
configuration. However, you can customize the configuration for your needs when
required.
Enabling the plugin
Enabling this plugin adds the following line to the ODC.js Oracle Infinity Tag loader file:
plt:{"enable":true,"sampleRate":50,"maxT":2}
Optional configuration properties
Option Datatype Description
enable booleanWhen set to true (the default), the page load tag plugin isenabled. If this option is set to false, this plugin is disabled.
©2020Oracle Corporation. All rights reserved 290 of 514
Option Datatype Description
maxT integer Specifies the timeout (in seconds) for monitoring page assetloading. The default value is 2.This option can be useful for pages that load slowly or mobiledevices that may go to sleep and then wake up.
sampleRate integer The percentage of page loads that the plugin should randomly
sample and then send data for. The default value is 50.
Page load timing parameters
You can collect the follow page load data to use with Oracle Infinity Analytics reports to
create dimensions and measures based on the data sent by the page load tracking tag
plugin. You can then add page timing dimensions and measures to reports, which can
be useful in conjunction with page- and URL-based dimensions.
Parameter Name Descriptionwt.tm_domContentLoaded
Load time wt.tm_domContentLoaded indicates the millisecondstaken to fully load the content in the browser, includingthe time needed to render content and executedownloaded scripts.
wt.tm_pageDns Pagedomainlookuptime
wt.tm_pageDns indicates the milliseconds taken tolookup the domain name for the current document.
wt.tm_pageDownload
Pagedownloadtime
wt.tm_pageDownload indicates the milliseconds takento download the markup.
wt.tm_pageReady Page loadtime
wt.tm_pageReady indicates the milliseconds takenbefore the page onReady event.
wt.tm_pageRedir Pageredirecttime
wt.tm_pageRedir indicates the milliseconds taken forthe redirect if a page redirect occurs.
wt.tm_serverConnPageconnectiontime
wt.tm_serverConn indicates the milliseconds taken toconnect to the server and for the server to respond tothe connection request.
wt.tm_serverResponse
Serverresponse
wt.tm_serverResponse indicates the millisecondstaken to receive the page from the server.
©2020Oracle Corporation. All rights reserved 291 of 514
Parameter Name Descriptiontime
wt.tm_tv Pluginversion
wt.tm_tv indicates the version of the page loadtracking tag plugin.
Twitter data collection plugin
This plugin helps to track visitor intents on Twitter widgets and intent links.
Twitter for Websites JavaScript (TWWJS) provides an interface for easily binding and
listening to Twitter events, to which the plugin assigns listeners to when loading. The
interface is available globally via window.twttr.events.Note: For more details about this implementation, contact your Oracle Infinity solutionsconsultant.
Plugin loading workflow
1. Availability of window.twttr is checked and if it is not yet available then polling begins with
default polling frequency of 300 ms. This value is configurable via Oracle Infinity Support.
2. The polling has a default timeout value of 4000 ms, which is the same as the default tracking
pipeline timeout. This value is configurable via Oracle Infinity Support.
3. Once the plugin has loaded and the window.twttr object appears, polling will complete and
the plugin creates listeners for Twitter events.
4. The plugin then notifies the parent Infinity module that it is ready.
Tracked Twitter events
The following native Twitter event types can be bound and listened for via this plugin
interface. The plugin binds only to those that are triggered on visitor actions (intents).
Other events like loaded and rendered often occur before plugin has loaded and are
therefore are ignored.
©2020Oracle Corporation. All rights reserved 292 of 514
Event Bound?Descriptionclick Y This event is always triggered first and together with any of the
events. For example, when a visitor clicks on any of the Twitterwidgets or intended actions, there is a click event followed by tweet.There are two events on each visitor action on a Twitter widget. Thisevent is used only for intended actions that does not trigger any of thefollow-up below events, such as display user.
follow Y When visitor clicks to follow another userlike Y When a visitor clicks to like a tweetloaded N Emitted when the plugin is finished rendering widgets and loadingrenderedN Triggered on each web widget renderretweet Y When visitor clicks to retweettweet Y Triggered on tweet, reply to, and related events
Note: All of the Twitter events signify only the visitor's intent to do something, such
as follow. They do not mean that the visitor followed through to complete the
action.
Plugin configuration
The plugin has a few configuration settings that can be set by Oracle Infinity Support.
Parameter Defaultvalue Description
blockCollectfalse This value has to be set to true to allow time for plugin polling.enable true Enable plugin functionality. Meant more as a switch to disable
the plugin if needed.inTest false Expose internal methods for testing via
window.wt.plugins.TW._test_.iPollFreq 300 The frequency at which to poll for Twitter eventstimeout 4000 The value from the tracking pipeline timeout, which is the time
given for the plugin to load and add mutations in time for a pageview.
Example
©2020Oracle Corporation. All rights reserved 293 of 514
..."wt-plugins" : {"tw" : {"enable": true,"timeout": 4000,"iPollFreq": 300,"blockCollect" : true,"timeout" : 4000,"inTest" : false}
}...
Tracked analytics parameters
Most of the parameters are tracked either on page view, social action or both.
Parameter Trackedon Example Description
wt.dl Always 111 The type of eventFor page views, it is set to 0. A socialconversion always has a value of 111.
wt.soc_action
Socialaction
Twitter:Like The name of the social action
wt.soc_content
Socialaction
URL/username/tweetID/etc.Social action-specific content(depending on the action)
wt.tw_hashtag
Socialaction
TwitterStories Contains the hash tag preset for atweet with #hashTag
wt.tw_intent
Socialaction
tweetMention Heuristically-determined type of intent(plugin-specific)
wt.tw_js Always 1 l 0: No Twitter widgets JavaScript was
detected when plugin was loading.
l 1: Twitter widgets JavaScript is
loaded (window.twttr is available).
wt.tw_plver
Always 1.0.0 Twitter plugin version
wt.tw_region
Socialaction
tweetcount, follow,screen_name
Extended detail indicating where in aTwitter widget the event originated
©2020Oracle Corporation. All rights reserved 294 of 514
Parameter Trackedon Example Description
wt.tw_srctweetid
Socialaction
463440424141459456 For specific events, the ID of a tweetpost that was retweeted via a webwidget (not intents)
wt.tw_timeout
Always 1 1: Timed out while waiting for Twitterwidgets JavaScript to load
wt.tw_tweetid
Socialaction
463440424141459456 For specific events, the ID of a tweetpost on which action was taken
wt.tw_usrid
Socialaction
3308337 For specific events, the ID of theTwitter user who's profile the visitorintends to view
wt.tw_usrscrname
Socialaction
Interior For specific events, the screen nameof the user that the visitor startedfollowing (not our visitor name)
wt.tw_wdgid
Socialaction
698123635282804738 For specific events, the ID of anembedded Twitter widget on whichthe action occurred
Twitter widget types and Infinity tag social action and content
The following table maps Twitter widget types to the Infinity Tag's wt.soc_action and
wt.soc_content that are used to detect the intended user action.
Twitter widget type wt.soc_action wt.soc_contentButton: tweet Twitter: tweet URLButton: hash tag Twitter: tweet hash tagURLButton: mention Twitter: tweet to User nameButton: follow Twitter: follow User nameIntent: like Twitter: like Tweet IDIntent: tweet Twitter: tweet URLIntent: reply (specific tweet) Twitter: reply to Tweet IDIntent: retweet (specific tweet)Twitter: retweet Tweet IDIntent: display user Twitter: display user User nameIntent: follow user Twitter: follow User name
©2020Oracle Corporation. All rights reserved 295 of 514
Universal data layer tag plugin
The universal data layer plugin for the Oracle Infinity Tag helps you to collect visitor data
in a way that supports Oracle's implementation of the W3C's Customer Experience
Digital Data Layer specification.Note: For more details about this implementation, contact your Oracle Infinity solutionsconsultant.
Using the common data items described in Oracle's universal data layer can help to
avoid redundant data objects, which will ease integration, reporting, and analysis of
behavioral and demographic data across supported products.
Using the common data items specified in this universal data layer can help you to:
l Avoid redundant data objects.
l Integrate supported products.
l Implement reports.
l Collect and analyze behavioral and demographic data across supported products.
Oracle's universal data layer:
l Decouples analytics and marketing tags from the data.
l Separates the presentation layer of the page from data without affecting rendering of a page
or performance.
l Provides data layer tags to communicate and share data on the web page.
l Enables you to implement clean and maintainable tracking code.
l Makes data reusable and provides single source of truth for analytics and marketing tags.
l Allows information in the data layer to be consumed by any type of web application.
l Provides a standard way to format data within a web page based on a collection of one or
more JavaScript objects holding information or important signals about the page and user.
©2020Oracle Corporation. All rights reserved 296 of 514
l Specifies how the supported objects are mapped to an endpoint payload.
l Includes common events to trigger the data to be sent.
l Offers convenience methods used to add listeners to objects and trigger custom activities.
Depending on your use case, you can include or omit the supported objects. All names
are optional and should fit your implementation needs in both naming and values
passed. If you include objects, they must conform to the object names and types
described in this topic.
Tip: For details about which products in Oracle's stack support the universal data
layer, contact your Oracle Infinity solutions consultant.
Root JavaScript object
The root JavaScript object in Oracle's universal data layer must be ora.dataLayer and
all data properties within this specification must fall within the hierarchy of the
ora.dataLayer object.
Note: The main difference between this specification and the W3C's is the name ofthe root JavaScript object:
l Oracle's universal data layer: Specifies ora.dataLayer as the root JavaScript object
l W3C's Customer Experience Digital Data Layer: Specifies digitalData as the root
JavaScript object
Otherwise, this specification closely follows the W3C specification and providesOracle-specific details, such as mapped parameters.
The following sub-objects are defined as children of the ora.dataLayer object.
©2020Oracle Corporation. All rights reserved 297 of 514
l Page ID
l Page
l Product
l Cart
l Transaction
l Event
l Component
l User
l Privacy
l Security
l Version
l Browser
lora.dataLayer.{custom_object}
The following subsections detail each of these sub-objects.
Page identifier object
The page identifier is a top-level ora.dataLayer object. Where included, it must have
the following object name and type.
Name Type Description Parametermapping
ora.dataLayer.pageInstanceIDstringA unique identifier for apage or other content forwhich data is beingcollected
dcsuri
By default, it is
populated with
©2020Oracle Corporation. All rights reserved 298 of 514
Name Type Description Parametermappinglocation.path_
name.
Page object
The page object carries significant details about the page, including the most commonly
used data elements. The page object and its children, where included, must have the
following object names and types.
Name Type
Description
Parametermapping
Default
ora.dataLayer.page object
Describes thepage
ora.dataLayer.page.pageInfo object
Pagedetails
ora.dataLayer.page.pageInfo.pageName
object
Thename ofthe page
wt.tidocument.title
ora.dataLayer.page.pageInfo.destinationURL
object
The URLof thepage
wt.eslocation.href
ora.dataLayer.page.pageInfo.breadCrumbs
object
Thepagestructurewhen thecategoryis notpopulated
wt.cg_n,wt.cg_s parsed
location.pathname
ora.dataLayer.page.pageInfo.issueDate
object
Whenthe pagewas lastupdated
wt.pg_date document.lastMod
ified
ora.dataLayer.page.pageInfo.langu obje The wt.ul navigator.langua
©2020Oracle Corporation. All rights reserved 299 of 514
Name Type
Description
Parametermapping
Default
age ct pagelanguage
ge,navigator.language
Example Syntax
ora.dataLayer.page.pageInfo ={pageName: "Hair Care Products",destinationURL: "http://example.com/r.html",referringURL:"http://www.google.com/url?&q=&esrc=s",sysEnv: "mobile",variant: "2",version: "1.14",breadCrumbs: ["home","Products","haircare"],author: "J Smith",issueDate: "2018-09-01",effectiveDate: "2018-09-20",expiryDate: "2019-09-20",language: "en-US",geoRegion: "US",industryCodes: "SIC codes",publisher: "BusDev"};
Where the following are reserved:
Item TypepageID stringpageName stringdestinationURL string
Recommended value: document.location.
referringURL string
Recommended value: document.referrer.
©2020Oracle Corporation. All rights reserved 300 of 514
Item TypesysEnv stringvariant stringversion stringbreadcrumbs arrayauthor stringissueDate string or date objecteffectiveDate string or date objectexpiryDate string or date objectlanguage stringindustryCodes stringpublisher string
Recommended:
l ISO 3166 locale values
l ISO 639 language values
l onsiteSearchTerm: for measuring the query term
l onsiteSearchResults: for measuring the number of results returned for onsite search
functions
Page object categories:
Name Type DescriptionParametermapping
ora.dataLayer.page.category.primaryCategory
object
First level oflocation.pathname
wt.cg_n
ora.dataLayer.page.category.subCategory1object
Second level oflocation.pathname
wt.cg_s
ora.dataLayer.page.category.subCategory2object
Third level oflocation.pathname
wt.cg_s1
ora.dataLayer.page.category.pageType object
(Optional) Pagetype
©2020Oracle Corporation. All rights reserved 301 of 514
Example Syntax
ora.dataLayer.page.category ={ primaryCategory: "FAQ Pages",subCategory1: "ProductInfo",pageType: "FAQ"
};
primaryCategory is reserved. It is recommended for your primary set of categories or if
you include only one set of categories for your pages.
The ora.dataLayer.page.attributes object provides extensibility to the page
object.
Browser object
The browser object describes browser details.
Name TypeDescription
Parametermapping
Default value
ora.dataLayer.browser object
Describes thepage
ora.dataLayer.browser.timeZone object
Thebrowser'stime zone
wt.tz parseInt((newDate()).getTimezoneOffset() / 60 * -1)|| "0";
ora.dataLayer.browser.browserHour
object
Indicatesthebrowsinghour
wt.bh (new Date()).getHours() ||"0";
ora.dataLayer.browser.colorDepth
object
Thebrowser'scolordepth
wt.cd
screen.colorDepth
ora.dataLayer.browser.screenResolution
object
Thebrowser'sscreenresolution
wt.srscreen.width +"x" +screen.height
©2020Oracle Corporation. All rights reserved 302 of 514
Example Syntax
ora.dataLayer.browser ={pageName: "Hair Care Product 1",destinationURL: "http://example.com/r.html",referringURL:"http://www.google.com/url?&q=&esrc=s",sysEnv: "mobile",variant: "2",version: "1.14",breadCrumbs: ["home","Products","haircare"],author: "J Smith",issueDate: "2018-09-01",effectiveDate: "2018-09-20",expiryDate: "2019-09-20",language: "en-US",geoRegion: "US",industryCodes: "SIC codes",publisher: "BusDev"};
Product object
The product object carries details about a particular product, including frequently used
properties. This is intended for data about products displayed on pages or other content.
For products added to a shopping cart or ordered in a transaction, see the cart and
transaction objects.
The product object and its children, where included, must have the following object
names and types.
Name Type Descriptionora.dataLayer.product[n] array A holder arrayora.dataLayer.product[n].productInfoobjectDescribes the product
Example Syntax:
ora.dataLayer.product[n].productInfo ={
©2020Oracle Corporation. All rights reserved 303 of 514
productID: "hair3000",productName: "Hair Care Bulk",description: "3 Liters",productURL: "http://example.com/r.html",productImage: "http://example.com/hair3000_large.png",productThumbnail: "http://example.com/hair3000_
thumb.png",manufacturer: "Example",size: "3000 ml"
};
Where the following are reserved:
Item TypeproductID stringproductName stringdescription stringproductURL stringproductImage stringproductThumbnailstringmanufacturer stringbreadcrumbs arraysku stringcolor stringsize string
Product category object:
Name Type Descriptionora.dataLayer.product[n].category
objectAn object for describing a range of productcategories
Example Syntax
ora.dataLayer.product[n].category ={ primaryCategory: "Haircare",subCategory1: "Men's",productType: "Hair Care"
©2020Oracle Corporation. All rights reserved 304 of 514
};
Recommended: The reserved primaryCategory string is recommended if you included
only one set of categories for products, or for your primary set of categories.
Linked product object:
Name Type Descriptionora.dataLayer.product[n].linkedProduct[n] array A list of products linked to
this productora.dataLayer.product[n].linkedProduct[n].productInfo
objectDetails about each linkedproduct
Where the following are reserved:
Item TypeproductID stringproductName stringdescription stringproductURL stringproductImage stringproductThumbnailstringmanufacturer stringbreadcrumbs arraysku stringcolor stringsize string
Product attributes object:
Name Type Descriptionora.dataLayer.product[n].attributes
objectProvides extensibility to the product object viaadditional dimensions
©2020Oracle Corporation. All rights reserved 305 of 514
Cart object
The cart object carries details about a shopping cart or basket and the products that
have been added to it. It is intended for a purchase that has not yet been completed. For
completed orders, see the transaction object.
The cart object and its children, where included, must have the following object names
and types.
Name Type Descriptionora.dataLayer.cart.cartIDstring An identifier for a particular shopping cartora.dataLayer.cart.price objectCart price details:
l basePrice: The price of the items before
applicable discounts, shipping charges, and tax
l cartTotal: The total price inclusive of all
discounts, charges, and tax
Example Syntax
ora.dataLayer.cart.price ={basePrice: 200.00,voucherCode: "Alpha",voucherDiscount: 0.50,currency: "EUR",taxRate: 0.20,shipping: 5.00,shippingMethod: "UPS",priceWithTax: 120,cartTotal: 125
};
Where the following are reserved:
Item TypebasePrice integer
©2020Oracle Corporation. All rights reserved 306 of 514
Item TypevoucherCode stringvoucherDiscount integercurrency stringtaxRate integershipping integershippingMethod stringpriceWithTax integercartTotal integer
Recommended: ISO 4217 currency values
Cart attributes object:
Name Type Descriptionora.dataLayer.cart.attributesobjectProvides extensibility to the cart as a whole.
Any additional dimensions related to thecart can be provided
ora.dataLayer.cart.item[n] array List of items in the cartora.dataLayer.cart.item[n].productInfo
objectDescribes the product information for each
item
See also: ora.dataLayer.product[n].productInfo
Where the following are reserved:
Item TypeproductID stringproductName stringdescription stringproductURL stringproductImage stringproductThumbnailstringmanufacturer stringsku stringcolor stringsize string
©2020Oracle Corporation. All rights reserved 307 of 514
Cart item category object:
Name Type Descriptionora.dataLayer.cart.item[n].category
objectDescribes the cart item category
See also: ora.dataLayer.product[n].category
Recommended: The reserved primaryCategory string is recommended if you included
only one set of categories for products or for your primary set of categories.
Cart item objects:
Name Type Descriptionora.dataLayer.cart.item[n].quantity
integerThe item quantity
ora.dataLayer.cart.item[n].price
object The price for each individual item in thecart
See also:
ora.dataLayer.cart.price
Where the following are reserved:
Item TypebasePrice integervoucherCode stringcurrency stringtaxRate integershipping integershippingMethodstringpriceWithTax integer
Cart item linked product:
©2020Oracle Corporation. All rights reserved 308 of 514
Name Type Descriptionora.dataLayer.cart.item[n].linkedProduct[n]
objectList of products linked to each item in the
cart
See also: ora.dataLayer.product[n].linkedProduct[n]
ora.dataLayer.cart.item[n].linkedProduct[n].productInfo
objectLinked product information for each item
in the cart
See also: ora.dataLayer.product[n].linkedProduct[n].productInfo
Where the following are reserved:
Item TypeproductID stringproductName stringdescription stringproductURL stringproductImage stringproductThumbnailstringmanufacturer stringsku stringcolor stringsize string
Cart object attributes:
Name Type Descriptionora.dataLayer.cart.item[n].attributes
objectThis object provides extensibility to each item
within the cart and can include any additional
dimensions related to the item.
©2020Oracle Corporation. All rights reserved 309 of 514
Transaction object
The transaction object is similar to the cart object but it represents a completed order.
The transaction object contains analogous sub-objects to the cart object as well as
additional sub-objects specific to completed orders.
The transaction object and its children, where included, must have the following object
names and types.
Transaction object:
Name Type Descriptionora.dataLayer.transaction.transactionID string A unique identifier for a
particular transaction,such as an existingorder identifier
ora.dataLayer.transaction.profile objectA profile object forinformation about thepurchaser, which istypically associatedwith a registered user
ora.dataLayer.transaction.profile.profileInfoobjectAn extensible object forproviding informationabout the purchaser
Example Syntax
ora.dataLayer.transaction.profile.profileInfo ={ profileID: "human12345",userName: "me"};
Where the following are reserved:
Item TypeprofileIDstringuserName stringemail string
©2020Oracle Corporation. All rights reserved 310 of 514
Transaction profile address object:
Name Type Descriptionora.dataLayer.transaction.profile.addressobjectAn extensible object for
providing billing addressinformation for the purchaser
Example Syntax
ora.dataLayer.transaction.profile.address ={ line1: "673 My Street",line2: "Apt 1",city: "Austin",stateProvince: "TX",postalCode: "78610",country: "USA"
};
Where the following are reserved:
Item Typeline1 stringline2 stringcity stringstateProvincestringpostalCode stringcountry string
Shipping address object:
Name Type Descriptionora.dataLayer.transaction.profile.shippingAddressobjectAn extensible
object forproviding theshipping addressinformation
Where the following are reserved:
©2020Oracle Corporation. All rights reserved 311 of 514
Item Typeline1 stringline2 stringcity stringstateProvincestringpostalCode stringcountry string
Transaction total:
Name Type Descriptionora.dataLayer.transaction.totalobjectDetails of the final price the purchaser
has to pay
l The basePrice should be the price of
the items before applicable discounts,
shipping charges, and tax.
l The transactionTotal should be the
total price inclusive of all discounts,
charges, and tax.
Example Syntax
ora.dataLayer.transaction.total ={ basePrice: 200.00,voucherCode: "Alpha",voucherDiscount: 0.50,currency: "EUR",taxRate: 0.20,shipping: 5,shippingMethod: "UPS",priceWithTax: 120,transactionTotal: 125
};
Where the following are reserved:
©2020Oracle Corporation. All rights reserved 312 of 514
Item TypebasePrice integervoucherCode stringvoucherDiscount integercurrency stringtaxRate integershipping integershippingMethod stringpriceWithTax integertransactionTotal integer
Transaction attributes:
Name Type Descriptionora.dataLayer.transaction.attributesobjectProvides extensibility to the
transaction and can provide anyadditional dimensions related tothe cart
Transaction item:
Name Type Descriptionora.dataLayer.transaction.item[n]
array A list of items in the transaction
ora.dataLayer.transaction.item[n].productInfo
objectDescribes the product information for
each item in the transaction
See: ora.dataLayer.product[n].productInfo
Where the following are reserved:
Item TypeproductID stringproductName string
©2020Oracle Corporation. All rights reserved 313 of 514
Item Typedescription stringproductURL stringproductImage stringproductThumbnailstringmanufacturer stringsku stringcolor stringsize string
Recommended: productID
Transaction item category:
Name Type Descriptionora.dataLayer.transaction.items[n].category
objectDescribes the category for each item inthe transaction
See: ora.dataLayer.product[n].category
Reserved: primaryCategory
Transaction items:
Name Type Descriptionora.dataLayer.transaction.item[n].quantity
integerQuantity ordered of a particular item
ora.dataLayer.transaction.item[n].price
object The item's transaction price where
tracking on each individual item is desired
Where the following are reserved:
Item TypebasePrice integer
©2020Oracle Corporation. All rights reserved 314 of 514
Item TypevoucherCode stringvoucherDiscount integercurrency stringtaxRate integershipping integershippingMethod stringpriceWithTax integer
Transaction item linked products:
Name Type Descriptionora.dataLayer.transaction.item[n].linkedProduct[n]
array List of products linked to this itemin the order
See also:
ora.dataLayer.product[n].linkedProduct[n]
ora.dataLayer.transaction.item[n].linkedProduct[n].productInfo
objectInformation for the linked product
See: ora.dataLayer.product[n].productInfo
Where the following are reserved:
Item TypeproductID stringproductName stringdescription stringproductURL stringproductImage stringproductThumbnailstringmanufacturer stringsku stringcolor stringsize string
Transaction item attributes:
©2020Oracle Corporation. All rights reserved 315 of 514
Name Type Descriptionora.dataLayer.transaction.items[n].attributes
objectProvides extensibility to each item withinthe transaction and provides anyadditional dimensions related to the item
Event object
The event object collects information about an interaction event by the user. An event
might be a button click, the addition of a portal widget, playing a video, or adding a
product to the shopping cart. Any action on the page could be captured by an event
object.
The default payload triggering is based on a push to the event object. The push to the
event determines the data sent to the endpoints based on the content of the type
parameter.
The event object and its children must have the following object names and types.
Event information:
Name Type Descriptionora.dataLayer.event[n] array List of events that were measuredora.dataLayer.event[n].eventInfoobjectDescribes the event
Example Syntax
ora.dataLayer.event[n].eventInfo ={ eventName: "Add News Portal",eventAction: "addportal",eventPoints: 200,type: "contentModifier",timeStamp: new Date(),effect: "include portal 1234"
};
eventInfo must include eventName.
Where the following are reserved:
©2020Oracle Corporation. All rights reserved 316 of 514
Item TypeeventName stringeventActionstringeventPoints integertype stringtimeStamp string or date objectcause stringeffect string
Event category:
Name Type Descriptionora.dataLayer.event[n].category
objectAn object for describing a range of eventcategories
Example Syntax
ora.dataLayer.event[n].category ={ primaryCategory: "Portal",subCategory1: "dashboard"
};
Recommended: primaryCategory is recommended if you included only one set of
categories for events or for your primary set of categories.
Event attributes:
Name Type Descriptionora.dataLayer.event[n].attributes
objectProvides extensibility to each event and provides anyadditional dimensions related to the event
Component object
The component object is intended to capture information about a content component
included as part of a page, such as a video. Interactions with the component, such as
playing a video, would be an event captured by the event object.
©2020Oracle Corporation. All rights reserved 317 of 514
The component object and its children, where included, must have the following names
and types:
Component information:
Name Type Descriptionora.dataLayer.component[n] array A list of page componentsora.dataLayer.component[n].componentInfoobjectDescribes the component
Example Syntax
ora.dataLayer.component[n].componentInfo ={ |componentID: "Hair Care 3000v",componentName: "How to Use Hair Care 3000",description: "Hair Treatment Video"
};
Reserved: componentID
Component category information:
Name Type Descriptionora.dataLayer.component[n].category
objectA range of page componentcategories
Example Syntax
ora.dataLayer.component[n].category ={ primaryCategory: "Haircare",subCategory1: "Videos",componentType: "Flash Movie"
};
Reserved: primaryCategory is recommended if you included only one set of
categories for components, or for your primary set of categories.
Component attributes:
©2020Oracle Corporation. All rights reserved 318 of 514
Name Type Descriptionora.dataLayer.component[n].attributes
objectProvides extensibility to each component and anyadditional dimensions related to the component
User object
The user object captures the profile of a user who is interacting with the website.
The user object and its children, where included, must have the following object names
and types.
User information:
Name Type Descriptionora.dataLayer.user[n] array List of users interacting with the page
Web data typically has a single user per recorded
interaction, but this object is an array that can capture
multiple users.
ora.dataLayer.user[n].segment
objectProvides population segment information for the user,such as premium or basic membership
Any additional dimensions related to the user can be
provided.
ora.dataLayer.user[n].profile[n]
array Profile for information about the user, which istypically associated with a registered user
This array and can capture multiple profiles per user.
ora.dataLayer.user[n].profile[n].profileInfo
objectAn extensible object for providing information aboutthe user
Example Syntax
ora.dataLayer.user.profile.profileInfo ={ profileID: "humanbeing12345",userName: "me"
©2020Oracle Corporation. All rights reserved 319 of 514
};
Where the following are reserved:
Item TypeprofileID stringuserName stringemail stringlanguage stringreturningStatusstringtype string
User profile address object:
Name Type Descriptionora.dataLayer.user[n].profile[n].address
objectAn extensible object for providing addressinformation for the user
Example Syntax
ora.dataLayer.user.profile.address ={ line1: "673 My Street",line2: "Apt 1",city: "Austin",stateProvince: "TX",postalCode: "78610",country: "USA"
};
Where the following are reserved:
Item Typeline1 stringline2 stringcity stringstateProvincestringpostalCode stringcountry string
©2020Oracle Corporation. All rights reserved 320 of 514
User profile social object:
Name Type Descriptionora.dataLayer.user[n].profile[n].social
objectAn extensible object for providing socialinformation for the user profile
Example Syntax
ora.dataLayer.user[n].profile[n].social ={ twitter: "somebody",twitterInfo: "stuff",facebook: "somebody1234",facebookInfo: "morestuff"
};
User profile attributes object:
Name Type Descriptionora.dataLayer.user[n].profile[n].attributes
objectProvides extensibility to the userprofile
Privacy object
The privacy object holds the privacy policy settings that could be used to:
l Capture and enforce site visitor consent to use tracking technologies on the site.
l Secure access to individual objects within the JavaScript object via tracking technologies.
The privacy object and its children, where included, must have the following object
names and types.
Privacy access category objects:
Name Type Descriptionora.dataLayer.privacy.accessCategories[n]
array A list of privacy categories
ora.dataLayer.privacy.accessCategoriesstringCategory names to be
©2020Oracle Corporation. All rights reserved 321 of 514
Name Type Description[n].categoryName associated with security objects
A categoryName of default must
be included for privacy
enforcement. All other categories
are custom. Common categories
include analytics,
recommendations, and
personalization.
ora.dataLayer.privacy.accessCategories[n].domains
array Vendors domains associatedwith the particular category
The default category should
contain all technologies, which
must be treated the same as first-
party for privacy purposes (such
as a tag management
technology).
Security object
The security object is an optional sub-object of each object in the JavaScript object,
which can be used to enforce data access control over that object. If a security object is
defined for an object, the value should be a comma-separated list of categories defined
as categoryName in the privacy object. If a security object is not defined for an object,
no data access controls will be enforced.
The default category is required for security enforcement. The default category has
access to all children of the ora.dataLayer element and does not need to be explicitly
listed in security objects. For example, the security object associated with cartID would
be written as:
©2020Oracle Corporation. All rights reserved 322 of 514
l Object being secured: ora.dataLayer.cart.cartID
l Security object: ora.dataLayer.cart.cartID.security: "Analytics"
The same structure used in the object is repeated in the security object with values for
the security levels.
Example Syntax
Object being secured:
ora.dataLayer.transaction.profile.shippingAddress ={ line1: "673 Mystreet",line2: "Apt 1",city: "Austin",stateProvince: "TX",postalCode: "78610",country: "USA",shippingMethod: "UPS",specialInstruction: "Beware of Dog"
};
Security object:
ora.dataLayer.transaction.profile.shippingAddress.security ={
line1: "Personalization",line2: "Personalization",city: ["Analytics","Personalization"],stateProvince: "Analytics",postalCode: "Analytics"
};
Because shippingMethod and specialInstruction do not have a defined security
object, there is no access control on those elements.
Security object:
©2020Oracle Corporation. All rights reserved 323 of 514
Name Type Description*.securityobject or string
(depending on theobject beingsecured)
A security sub-object that captures the specific settingfor its parent object
The value of security properties must be a string or
array with values drawn from the values of
ora.dataLayer.privacy.accessCategories
[n].categoryName.
l An empty string for a security object indicates that only the default category is allowed to
access the data. The lack of a security object indicates that no data security protection is
necessary for a piece of data.
l A security object with an empty string for ora.dataLayer.cart.cartID.security = "";
indicates that only the default category can access the cartID property, which is synonymous
with ora.dataLayer.cart.cartID.security = "Default";.
l If a security object is not specified, ora.dataLayer.cart.cartID.security = null; and
any category can access the cartID property ( no data access controls are enforced).
Version object
Name Type Descriptionora.dataLayer.versionstringThe version number corresponding to the W3C's
Customer Experience Digital Data Layer specificationfollowed by the ora.dataLayer object. Forora.dataLayer objects conforming to thisspecification, the value should beora.dataLayer.version = "1.0".
Extending this specification
To extend this specification, you can add:
l New objects: Add appropriate sub-objects to the ora.dataLayer object to represent a new
type of data, such as an ora.dataLayer.newObject = { }; first-level object.
©2020Oracle Corporation. All rights reserved 324 of 514
l Sub-objects: Add a new sub-object to an existing object, such as
ora.dataLayer.transaction.newObject = { };.
l Properties: Add properties as name-value pairs to extend an existing object, such as
ora.dataLayer.user[n].profile[n] = { newValue: "value" };.
Requirements:
l When extending the data layer, names should not use JavaScript reserved words, predefined
names, or event handlers for the names of objects or properties.
l Any reserved names must use the types specified. If other names are employed, the values
may take on any type.
l All first-level objects and some of their children contain an attributes object for extensibility,
which does not reserve any names.
Industry-specific examples
You can extend this specification for use across industries.
Example from air travel industry
Core flight reservation related data can be used to populate and extend the productInfo
field:
ora.dataLayer.product[n].productInfo = { productID: "734565538989889110",description: "Business Class One-Way Ticket",originAirportCode: "RDU",originCity: "Raleigh",originState: "North Carolina",originCounty: "USA",destinationAirportCode: "BOM",destinationState: "Maharashtra",destinationCountry: "India",departureDate: new Date("December 15, 2018 14:20:00"),arrivalDate: new Date("December 16, 2018 21:40:00"),numberOfTravellers:1
©2020Oracle Corporation. All rights reserved 325 of 514
};
As a travel product is moved into the cart, details such as price, fees, and currency can
be used to populate or extend the ora.dataLayer.cart.price object. Additional
fields such as a confirmation number might extend the transaction object.
ora.dataLayer.cart.price = { basePrice: 1000.00,currency: "USD",fees: 200,taxRate: 0.08,cartTotal: 1296.00
};
If a visitor carries out an on-site search for available flights, the search and its results can
be captured using the existing ora.dataLayer.page.pageInfo.onsiteSearchTerm
and ora.dataLayer.page.pageInfo.onsiteSearchResult objects.
Details regarding the customer making the purchase can be captured in the user object.
Existing objects in the specification could be used, such as:
l ora.dataLayer.user[n].profile[n].address for the customers postal address
l ora.dataLayer.user[n].profile[n].profileInfo for any other customer identifiers
A frequent flyer club property could be added to the ora.dataLayer.user
[n].segment object to capture the customers loyalty level:
ora.dataLayer.user[n].segment = { frequentFlyerClub: "Silver Elite"
};
Example from healthcare insurance industry
To collect data in the healthcare insurance industry, it might be more convenient to
model a few entirely new objects to capture relevant information. For example, the
©2020Oracle Corporation. All rights reserved 326 of 514
ora.dataLayer.member object could be used to capture a members' account details
with the institution, which may frequently be insurance related.
Member sub-object example:
ora.dataLayer.member[n] ={ memberID: "2723 49202388 01",age: "41",groupRelationship: "436378",groupName: "Employer\, Inc.",relation: "Spouse",gender: "M",originalJoinDate: "2011-01-21",postalCode: "15214"
};
Application sub-object example:
ora.dataLayer.application ={ appID: "7565-2373-0086-8937",source: "Telephone",status: "Pending",creationDate: new Date("December 15, 2018 14:20:02"),completionDate: new Date("December 15, 2018 16:05:16")
};
Plan sub-object example:
ora.dataLayer.plan ={ name: "Family Advantage 250",type: "EPO",policyStatus: "Current",premium: 454.25,effectiveDate: new Date("December 15, 2018 16:05:16")
};
©2020Oracle Corporation. All rights reserved 327 of 514
YouTube video tracking tag plugin
The YouTube Iframe Player API allows you to embed a video player on your website
and control it using JavaScript. The API creates DOM events that Oracle Infinity's
YouTube video tracking plugin can use to collect tracking data.Note: For more details about this implementation, contact your Oracle Infinity solutionsconsultant.
Requirements
For the YouTube video tracking plugin to work properly:
l It must be loaded before the YouTube video player loads.
l It must be loaded before other Oracle Infinity code loads.
l You should include the following script in the <head> of your web page. It is used to
synchronously load the YouTube iframe player code.
<script>
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')
[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
</script>
l Enable tracking calls from within the YouTube iframe player by adding the enablejsapi=1
option to the query string of the video URL. For example,
src="//www.youtube.com/embed/NzbYTJAR0Ac?enablejsapi=1"
l To protect against malicious third-party JavaScript being injected into your page and hijacking
control of your YouTube iframe player, include the origin parameter to the URL, including
http:// or https:// and full domain of your host page as the parameter value.
©2020Oracle Corporation. All rights reserved 328 of 514
Note: For more details about this implementation, contact your Oracle Infinity
solutions consultant.
Parameters
The YouTube video tracking plugin can send the following Oracle Infinity parameters:
Parameter Name Descriptionwt.clip_ct Video
content typewt.clip_ct indicates the video's content type, such asMOV.
wt.clip_duration
Duration inseconds wt.clip_duration indicates the video duration in seconds.
wt.clip_duration_min
Duration inminutes wt.clip_duration_min indicates the video duration in
minutes.
wt.clip_duration_n
Durationbased onrange
wt.clip_duration_n indicates the range of the videoduration in seconds.
wt.clip_ev Media eventidentifier
wt.clip_ev identifies the type of media-related event thathas occurred, such as v for a view event.
wt.clip_id Videoidentifier wt.clip_id indicates the unique ID of the video asset.
wt.clip_mins
Playhead inminutes
wt.clip_mins indicates the video's playhead position inminutes.
wt.clip_mode
Mode type wt.clip_mode identifies the mode type of video, such asfixed, streaming, FullScreenOn, or FullScreenOff.
wt.clip_n Video name wt.clip_n identifies the name of the video that wasaccessed.
wt.clip_perc
Percentageplayed
wt.clip_perc identifies the percentage of the video that theviewer has played.
wt.clip_player
Player name wt.clip_player identifies the name of the video player.
wt.clip_player_res
Playerresolution
wt.clip_player_res indicates the video player's resolutionin pixel height x width.
wt.clip_provider
Videoprovider
WT.clip_provider indicates the host on which the video islocated
©2020Oracle Corporation. All rights reserved 329 of 514
Parameter Name Descriptionwt.clip_res
Videoresolution
wt.clip_res indicates the resolution of the video expressedas height x width in pixels.
wt.clip_secs
Playhead inseconds
wt.clip_secs indicates the video's playhead position inseconds.
wt.clip_src
Video URL wt.clip_src provides the URL of the video.
wt.clip_t Media type wt.clip_t identifies the type of media, such as Flash orHTML5, depending on what type of player is being used.
wt.clip_tv Video tagpluginversion
wt.clip_tv provides the version of the video tag plugin.
wt.clip_vol
Volumelevel
wt.clip_vol provides the volume of the video on a scalefrom 1 through 100.
wt.dl Eventtracking
wt.dl specifies a numeric identifier for the kind of eventtracked, which are used for event-level filtering and reporting.
Configuration options
You can customize the YouTube video tracking plugin configuration with the following
options, some of which generate certain key parameters.
OptionDatatype
DescriptionKeyparameters
beacon boolean
When set to true (the default), a time beacon event is sentevery beaconRate seconds. If only quartile reporting isneeded, set this option to false to disable beacon tracking.
wt.clip_ev:Beacon
beaconRate integer
The interval between beacons in seconds values (from 0through 65000). Set this value to the maximum granularity ofthe reporting you require to make business decisions. Thedefault value is 60.
bins integer
Sets a bin range for duration tracking in seconds (from 0through 65000) for categorizing videos by time durationbuckets or bins. The default value is 15.
wt.clip_duration_n:value
buffering bool When set to true, buffering events are tracked. When set to wt.cli
©2020Oracle Corporation. All rights reserved 330 of 514
OptionDatatype
DescriptionKeyparameters
ean false (the default), buffering events are not tracked. p_ev:Buffering
cued boolean
When set to true, cued events are tracked. When set tofalse (the default), cued events are not tracked.
wt.clip_ev:Cued
enable boolean
Enables the YouTube video tracking plugin when set totrue (the default)
load boolean
When set to true, load events are tracked. The defaultvalue is false.
wt.clip_ev:Load
loadAPI boolean
When set to true, the YouTube iframe player API code isloaded.
Example: "config" : { "ora-plugins" : { yt:{loadAPI:true} } }
Important: You should load the YouTube iframe player
API in the <head> of the page to increase site security
and tracking reliability. You should only use the
loadAPI configuration option if you cannot otherwise
load the YouTube iframe player API code.
The default value is false.loadMeta bool
eanWhen set to true (the default), loaded meta events aregenerated.
wt.clip_ct:content_typewt.clip_duration:seconds
©2020Oracle Corporation. All rights reserved 331 of 514
OptionDatatype
DescriptionKeyparameterswt.clip_duration_n:valuewt.clip_ev:LoadMetawt.clip_player:player_namewt.clip_player_res:heightxwidthwt.clip_provider:provider_namewt.clip_res:heightxwidthwt.clip_t:media_type
mode string
You can specify the following mode options:
l default: When the YouTube Video tag plugin loads in
©2020Oracle Corporation. All rights reserved 332 of 514
OptionDatatype
DescriptionKeyparameters
defaultmode, it binds tracking to the YouTube player links
that it finds in the markup on the page. If you are dynamically
inserting the player into the markup, defaultmode typically
does not work because the player may not be present when
the plugin loads.
Example: "config" : { "ora-plugins" : { yt: {} }
}
l manual: Allows you to manually bind tracking to YouTube
players. Use this mode if the page is instantiating its own
YT.Player objects. In this case, the plugin cannot
automatically track the players, so the YT.Player objects
must be passed to the YouTube Video tag plugin. See the
sample implementation, which shows how to do this using the
addYTPlayer()method.
Example: "config" : { "ora-plugins" : { yt:
{mode:'manual'} } }
l poll: When the YouTube Video tag plugin loads in poll
mode, it will poll the page for new players every 250
milliseconds and it will bind the tracking to a found player. If the
player is removed, it will unbind the tracking from the player.
This is the best mode if you are dynamically building pages.
However, pollmode does consume a small amount of
processor time to check the page and determine if new
players are being added.
Example: "config" : { "ora-plugins" : { yt:
{mode:'poll'} } }
©2020Oracle Corporation. All rights reserved 333 of 514
OptionDatatype
DescriptionKeyparameters
pause boolean
When set to true (the default), pause and resume eventsare tracked.
wt.clip_ev:Pausewt.clip_ev:Resume
pctInc integer
Sets the quartile tracking percentage increments, which isexpressed as an integer from 0 through 100. For dectiletracking (every 10 percent), set this option to 10. The defaultvalue is 25.
quartile boolean
When set to true (the default value), the YouTube videotracking plugin uses quartile event tracking and the playerwill send data at quartile points defaulted to 25, 50, 75, and100%.
The calculation for quartile is:
(current position / video duration)*100
wt.clip_secs = (Math.floor(((e.currentTime) * 100) / 1) / 100);wt.clip_perc = Math.floor((e.currentTime/ e.duration ) * 100);wt.clip_perc = Math.floor(WT.clip_perc /config.pctInc) * config.pctInc;
wt.clip_perc:quartile
seek boolean
When set to true (the default value), seek events aretracked.
wt.clip_ev:Seek
trackCallback
string
Modifies the tracking callback function from an InfinityORA.click call to use a custom method. For details, see thesamples.
transformCallback
Adds in a transform so the data can be customized beforesending (standard Oracle transform)
volume boolean
When set to true (the default value), volume events aretracked and the YouTube video tracking plugin generatesparameters.
wt.clip_ev:Volu
©2020Oracle Corporation. All rights reserved 334 of 514
OptionDatatype
DescriptionKeyparametersmewt.clip_vol:level
Sample implementations
Auto poll example
<!DOCTYPE html><html><title>yt auto poll page </title>
<body><!-- 1. The <iframe> (and video player) will replace
this <div> tag. --><script>
var tag = document.createElement('script'); tag.src= "//www.youtube.com/iframe_api"; var firstScriptTag =document.getElementsByTagName('script')[0];firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
</script><div id="player">
<iframe width="640" height="360" class="embed-responsive-item video-frame" id="widget4"src="//www.youtube.com/embed/NzbYTJAR0Ac?enablejsapi=1&origin=http://webtrends.com" frameborder="0"allowfullscreen=""></iframe>
</div>
<scriptsrc="http://devc.webtrends.com/c2/acs/account/hnzfckc36p/js/odc.js"></script></body>
</html>
©2020Oracle Corporation. All rights reserved 335 of 514
Manual mode example
$().ready(function () {// dynamically insert the playersetTimeout(function () {
$('#player4').append('<h3>Dynamically insertedplayer using manual plugin trigger</h3><br><iframeid="ytplayer4" width="640" height="360" id="widget4"src="//www.youtube.com/embed/NzbYTJAR0Ac?enablejsapi=1"frameborder="0" allowfullscreen=""></iframe>')
var player1 = new YT.Player('ytplayer4', {height: '390',width: '640',videoId: 'NzbYTJAR0Ac',playerVars: {
fs: 0},events: {
'onReady': function(event){ORA.analytics.plugins.yt.addPlayer
(event.target);},
}});
}, 10000);});
Poll mode example
<!DOCTYPE html><html><title>Page with Poll Mode</title><script>
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";var firstScriptTag = document.getElementsByTagName
('script')[0];firstScriptTag.parentNode.insertBefore(tag,
firstScriptTag);</script>
©2020Oracle Corporation. All rights reserved 336 of 514
<scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<body><br> Dynamic Video Insertion after 3 seconds<br>Plugin
manual <br><script>
$().ready(function () {// dynamically insert theplayer
setTimeout(function () {$('#player').append('<iframe width="640"
height="360" class="embed-responsive-item video-frame"id="widget4"src="//www.youtube.com/embed/NzbYTJAR0Ac?enablejsapi=1&origin=http://webtrends.com" frameborder="0"allowfullscreen=""></iframe>')
}, 3000);});
</script>
<div id="player">
</div>
<scriptsrc="http://devc.webtrends.com/c2/acs/account/hnzfckc36p/js/odc.js"></script></body>
</html>
trackCallback samples
To send data via Tealium:
trackCallback:function(s){ utag.data.event_type='video';var mergedUDO=jQuery.extend(utag.data,states.data.wt);utag.link(mergedUDO);
};
©2020Oracle Corporation. All rights reserved 337 of 514
To send data via postMessage:
trackCallback: function (t) {var payload = JSON.stringify({action: 'MultiTrack',
data: [t.argsa]});_window.parent.postMessage(payload, "*");
};
The following objects are passed to the callback function:
element: this, // current environmentargsa: tags, // Infinity tags to besenttransform: config.transformCallback, // transform for legacyv10 tagdata: states.data.wt, // raw tag data in form["wt"].['clip_*] formatvideoEle: e // video elementreference that's created the event
Errors
The YouTube video tracking plugin can send the following error messages via the
wt.clip_ev and wt.dl parameters.
l Error - Request contains invalid parameter
l Error - Content cannot be played in an HTML5 Player
l Error - Requested video was not found
l Error - Video can not be played in embedded players
l Error - Unknown video error
©2020Oracle Corporation. All rights reserved 338 of 514
Oracle Infinity Tagmutations
Mutations are simple functions that provide a way to dynamically modify the existing
event data sent to collection. They provide access to the entire message, can alter the
data payload as it passes through the event tracking pipeline, and can specify different
communication protocols and destinations. Mutations are not plugins.Note: For more details about this implementation, contact your Oracle Infinity solutionsconsultant.
Mutations have the following priority ordering:
1. System-level transforms
2. User-level transforms (the default level)
3. Final-level transforms
If a mutation lacks a specified priority, the default level is used (2). If multiple mutations
share the same priority level, their ordering cannot be predicted.
Example: A mutation used to add a value
var testMutation1 = function(msg){msg.payload["addedVal1"] = "value1";
};
ORA.analytics.addMutation("myunique id", testMutation1);
Example: A mutation used to add a value once and then deregister the mutation
var testMutation2 = function(msg){msg.payload["addedVal2"] = "value2";ORA.analytics.rmMutation("mutationId2")
};
ORA.analytics.addMutation("myunique id", testMutation2);
©2020Oracle Corporation. All rights reserved 339 of 514
Mutationmethods
ORA.analytics.addMutation(mutantId, mutation)
You can add a mutation to alter any data sent to Oracle Infinity servers:
l mutant_ID {string}: A unique string identifier that is just a label used in debug messages
l mutation {function}: A function which takes a msg object as an argument
ORA.analytics.rmMutation(mutantId)
Remove a mutation to alter any data being sent on the pipeline:
l mutant_ID {string}: A unique string identifier that is just a label used in debug messages
Messagemethods
The mutation function is called with a single argument containing the message object.
Methods of that message object include:
lsetParam(key, val)
lgetParam(key)
lORA.common.TrackingPipeline.listMutations()
setParam(key, val)
This sets a parameter of lower case key to the value val:
l key {string}: Unique key for payload parameter
l val {string}: Value to set
Example:
var testMutation1 = function(msg){msg.setParam("key1", "value1");
};
©2020Oracle Corporation. All rights reserved 340 of 514
ORA.analytics.addMutation("myunique id", testMutation1);
getParam(key)
Returns the value of key lowercase, or null if key is not currently defined in the message
payload.
l key {string}: Unique key for payload parameter
Example:
var testMutation1 = function(msg){console.log(msg.getParam("key1"));
};ORA.analytics.addMutation("myunique id", testMutation1);
ORA.common.TrackingPipeline.listMutations()
Sends list of mutation IdGenerator's to debug output and returns an array containing a
mutation tuple, which includes both the ID and mutation function.
Example:
var res = ORA.common.TrackingPipeline.listMutations();// res[x] = {// "id":"mutationId"// "mutant": mutationFn// }
Troubleshooting/DevelopingMutations
Any variable/data can be just passed to the tag as a key/value pair since we use a
schema-less collection model (i.e. you don’t need to “pre-configure” parameters we
collect). For example, if you open this URL in a browser:
https://shop.maxymised.com/?myvar=test
You’ll see that “myvar” come through on the event in Infinity Streams as:
©2020Oracle Corporation. All rights reserved 341 of 514
Once you define a schema for whatever datapoints you need for reporting, you can then
pass those as custom variables either on the URL bar, as the example above did, or as a
mutation that we include in the tag.
For your own testing, after tagging your site, you can add/register mutations dynamically
using the console window in your browser. For example, here you can see I manually
register a mutation that adds another parameter “CustomVar2” with a value of “test2” to
any event sent by the tag. Then, when I call the ORA.click() method again, you can see
that the register mutation fires and adds those parameters into then click event.
Test Mutation:
ORA.analytics.addMutation('myMutation',function(p){p.setParam("CustomVar2","test2")},1);
Console view showing registering and firing the mutation:
©2020Oracle Corporation. All rights reserved 342 of 514
The following screenshot from Infinity Streams showing the CustomVar2 parameter
added by the mutation (and a CustomVar1 parameter I added manually to the URL bar):
Using this is the method of testing, you can use to develop/test mutations before
deploying them into your tag permanently.
Click tracking API
You can use the following functions to manually configure the Infinity tag to collect click
tracking data and not trigger an automated page load message to be sent to the Oracle
Infinity data collection servers:
l ORA.click(params): Interact with click activity and contain all analytics data sent on the view
request
l ORA.collect(params): Manually collect event data to construct custom click track calls
l ORA.view(params): Refer to a viewing of a particular presentation (or wrapper) around a
collect call
Note: For more details about this implementation, contact your Oracle Infinity solutionsconsultant.
©2020Oracle Corporation. All rights reserved 343 of 514
ORA.click(params)
The ORA.click function is used to interact with click activity and contain all analytics
data sent on the view request, except where overridden in the params object. This only
alters the data on that specific request rather than on all subsequent requests (changes
to data by clicks are self contained).
Important: If you do not specify a value for ORA.click, it defaults to wt.dl=1 (click
event).
You can specify the following options:
params {object}: Takes an object that can include the following objects expressed as
key-value pairs:
l config: Specifies the following call configuration details:
l endpoints (Optional): URLs to send data to (if no protocolType is defined, it defaults to gif).
The timeout option specifies the gif request timeout in milliseconds before the fail callback is
executed. If you do not set a timeout, the default value of 2000 milliseconds is used.
l callbacks (Optional): Specifies functions to be called upon the success or the failure of the
attempted action
l mutation (Optional): The mutation to run on the click event.
l data (Optional): Specifies an array of key value pairs, which are associated with this event to
be tracked. Any of the same fields in the payload will be replaced by the specified value.
Example ORA.click object
ORA.click({"config": {
"endpoints": [
©2020Oracle Corporation. All rights reserved 344 of 514
{"endpoint":
"http://dc.oracleinfinity.io/account_GUID","protocolType": "gif","timeout": 5000"
}],"callbacks":{
"success":successCallback,"fail":failCallback
},"mutation": function(msg){
msg.setParam('wt.test','abc');},
}})
ORA.collect(params)
This is a manual collection event. This call allows you to construct custom track calls.
The ORA.collect call does not inherit any data such as the visitor, session, and
sessionization information.
You can specify the following options:
params {object}: Takes an object that can include the following objects expressed as
key-value pairs:
l applyMutations (Optional): If set to true, this Boolean option tells the collect call to apply
registered mutations to the payload. Its default value is false, which means that no information
from plugins that use mutations to modify payload data will be present.
l config: Specifies the following call configuration details:
l endpoints (Required): URLs to send data to (If no protocolType is defined, it defaults to gif).
The timeout option specifies the gif request timeout in milliseconds before the fail callback is
executed. If you do not set a timeout, the default value of 2000 milliseconds is used.
©2020Oracle Corporation. All rights reserved 345 of 514
l callbacks (Optional): Specifies functions to be called upon the success or the failure of the
attempted action
l data: Specifies an array of key value pairs, which are associated with this event to be tracked.
l sendSessionInfo (Optional): If set to true, this Boolean option tells the collect call to
automatically pass visitor information along with the collect payload. Its default value is false.
Example ORA.collect object
ORA.collect({"config": {
"endpoints": [{
"endpoint":"http://myendpoint.example.com/endpoint.php",
"protocolType": "gif","timeout": 5000
}],"callbacks":{
"success": successCallback,"fail": failCallback
},"applyMutations": true,"sendSessionInfo": false
},"data":{
"wt.ti":"my page title","wt.my_event":"my custom event parameter","custom_param":"my custom parameter"
},
})
Example callbacks
function successCallback(args){console.log(args["endpoints"]);console.log(args["payload"]);console.log(args["timeout"]);console.log(args["success"]);
©2020Oracle Corporation. All rights reserved 346 of 514
console.log(args["fail"]);};function failCallback(args){
console.log(args["endpoints"]);console.log(args["payload"]);console.log(args["timeout"]);console.log(args["success"]);console.log(args["fail"]);
};
ORA.view(params)
The ORA.view function is used to send an Infinity view event to the endpoint. This call is
identical to the ORA.click function with the exception of wt.dl=0.
Values placed in its data object are added to the data payload. To alter or update the
data normally being sent, use Oracle Infinity Tag mutations.
You can specify the following options:
params {object}: Takes an object that can include the following objects expressed as
key-value pairs:
l config: Specifies the following call configuration details:
l endpoints (Optional): URLs to send data to (If no protocolType is defined, it defaults to gif).
The timeout option specifies the gif request timeout in milliseconds before the fail callback is
executed. If you do not set a timeout, the default value of 2000 milliseconds is used.
l callbacks (Optional): Specifies functions called upon the success or the failure of the attempted
action
l data (Optional): Specifies an array of key value pairs, which are associated with this event to
be tracked. Any of the same fields found via pageAnalysis are overridden by the specified
values.
Example ORA.view object
ORA.view({
©2020Oracle Corporation. All rights reserved 347 of 514
"config": {"endpoints": [
{"endpoint":
"http://dc.oracleinfinity.io/account_GUID","protocolType": "gif","timeout": 5000
}],"callbacks":{
"success":successCallback,"fail":failCallback
}}
})
Data collection API
The data collection API (DCAPI) allows you to send data to Oracle Infinity from
applications or sites that do not have JavaScript enabled.Note: For more details about this implementation, contact your Oracle Infinity solutionsconsultant.
DCAPI uses a POST to send a JSON message body containing key value pairs over
HTTP/S. This provides an alternative to using the Oracle Infinity Tag and allows you to
send multiple event bodies in a nested JSON block using GZIP compression. For
example, the Oracle Infinity mobile SDKs use DCAPI to batch multiple events into a
single compressed payload to reduce transmission time and bandwidth.
You can use the DCAPI to collect data from:
l Internet of things (IoT) devices with embedded computers and WebSocket outputs
l Server-side data collection for web-enabled applications
©2020Oracle Corporation. All rights reserved 348 of 514
l Set-top boxes (STBs)
l Test benches in an automated QA lab, such as bench status, test results, runtime, and so on
Constructing a JSON payload
To send data to Oracle Infinity using the DCAPI, your JSON payload must meet the
following requirements:
l It must be a valid JSON object. Use JSON validators to check that your payloads are correctly
formatted and delimited.
l It can have an optional "static" field. While not required, it is useful to put common key value
pairs in the static block.
l If a "static" field is present, it must have at least one valid key value pair. An empty static block
is not allowed.
l Each JSON payload must contain an "events" field, which must contain at least one valid event
block with at least one valid key value pair. Alternately, it may contain a list of valid events,
each of which contains at least one properly JSON formatted key value pair. Empty events and
empty or missing event blocks are not allowed.
l Each event must have a time stamp.
l Send all key : value pairs as string values. E.g. "key" : "value"
The following parameters are required to successfully collect an event:
l dcssip: The domain visited, such as www.example.com (if sent from a website)
l dcsuri: The URI stem, which is the portion of a URL that appears after the host and port and
precedes the query string. It is typically the requested file or page that a user accessed.
l wt.dcsvid identifies an optional unique custom visitor ID you can assign to your visitors in
other systems. This is separate and distinct from automatically generated visitor ID
©2020Oracle Corporation. All rights reserved 349 of 514
parameters sent by the Oracle Infinity Tag. If you do not send a custom value, this parameter
will not be present on the hit.
l wt.ets indicates the Unix time stamp for the event measured in milliseconds.
l wt.dl specifies a numeric identifier for the kind of event tracked, which are used for event-
level filtering and reporting.
l wt.co_f is a random value used as a visitor ID and stored in a first-party cookie.
You can also send a variety of optional parameters for each event.
The following example JSON payload shows a simplified format with two events that
share the same visitor ID (wt.co_f): a simulated page view and a subscription click.
Expand to see the sample
{"static": {
"wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89"},"events": [{
"dcsuri": "\/some\/page.html","wt.dl": "0","wt.ets": "1523448732","wt.ti": "page_title","wt.ev": "Event Type"
},{
"dcsuri": "\/some\/subscribe.js","wt.dl": "1","wt.ets": "1523448750","wt.ti": "Signup Click","wt.ev": "Click"
}]
};
©2020Oracle Corporation. All rights reserved 350 of 514
Some of its sample values are for required parameters and a few optional parameters
were also included. For descriptions of the possible parameters that can be passed to
data collection see the parameter reference.
Example JSON payload from a mobile SDK event:
Expand to see the sample
{"static": {
"wt.a_nm": "WTBank","wt.ct": "WiFi","wt.dm": "SAMSUNG SM-J200M","wt.ul": "English","wt.d_id": "e205fd59dd7636ff","wt.a_dc": "T-Mobile","wt.g_co": "us","wt.co": "yes","wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89"
},"events": [{
"wt.a_an": "loginBtn","wt.sys": "adclick","dcsuri": "\/ad\/click","wt.dl": "60","wt.ets": "1523448732","wt.ti": "Sign-in button tapped!","wt.a_ac": "1","wt.ev": "Tap Event","wt.pi": "Sign-in button tapped!"
},{
"wt.sys": "pause","dcsuri": "\/activity\/pause","wt.pi": "LoginActivity","wt.dl": "61","wt.ets": "1523448750","wt.ti": "LoginActivity"
}]
};
©2020Oracle Corporation. All rights reserved 351 of 514
Example JavaScript request
The following JavaScript sample for sending events in a simple JSON datga structure to
the Oracle Infinity data collection servers does not use GZIP compression:
Expand to see the sample
var xmlhttp = new XMLHttpRequest(); // new HttpRequestinstancevar url ="https://dc.oracleinfinity.io/v3/abc1234567?dcsverbose=true"// where abc1234567 is your account GUID and dcsverbose=trueenables the debug info
var payload = {"static": {
"wt.a_nm": "WTBank","wt.ct": "WiFi","wt.dm": "SAMSUNG SM-J200M","wt.ul": "English","wt.d_id": "e205fd59dd7636ff","wt.a_dc": "T-Mobile","wt.g_co": "us","wt.co": "yes","wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89"
},"events": [{
"wt.a_an": "loginBtn","wt.sys": "adclick","dcsuri": "\/ad\/click","wt.dl": "60","wt.ets": "1523448732","wt.ti": "Sign-in button tapped!","wt.a_ac": "1","wt.ev": "Tap Event","wt.pi": "Sign-in button tapped!"
},{
"wt.sys": "pause","dcsuri": "\/activity\/pause","wt.pi": "LoginActivity","wt.dl": "61",
©2020Oracle Corporation. All rights reserved 352 of 514
"wt.ets": "1523448750","wt.ti": "LoginActivity"
}]
};xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {window.console.log("post was successful, reponce was " +
this.response);} else if (this.readyState == 4 && this.status != 200) {
window.console.log("post was not successful, reponce was "+ this.response);
}};xmlhttp.open("POST", url);xmlhttp.setRequestHeader("Content-Type","application/json");xmlhttp.send(JSON.stringify(payload));
Example request using Java
This is an example implemented in Java for sending events in a simple JSON data
structure to the Oracle Infinity data collection server. The Apache HttpComponents
library is used to send the HTTP request. The Oracle Infinity data collection also
provides an ability to get gzip-compressed data. If you want to send compressed JSON,
the Apache HttpComponents library is one of many that can be used for that purpose.
Expand to see the sample
import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.EntityBuilder;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.ContentType;import org.apache.http.impl.client.HttpClientBuilder;import org.apache.http.protocol.HTTP;
import java.io.BufferedReader;import java.io.IOException;
©2020Oracle Corporation. All rights reserved 353 of 514
import java.io.InputStreamReader;import java.util.Date;
public class OracleDataCollection {
private static final String ORA_CLIENT_TIME = "ORA-Client-Time";private static final String ACCEPT = "Accept";private static final String PAYLOAD = "{\"static\": {\n" +"\"wt.a_nm\": \"WTBank\",\n" +" \"wt.ct\": \"WiFi\",\n" +" \"wt.dm\": \"SAMSUNG SM-J200M\",\n" +" \"wt.ul\": \"English\",\n" +" \"wt.d_id\": \"e205fd59dd7636ff\",\n" +" \"wt.a_dc\": \"T-Mobile\",\n" +" \"wt.g_co\": \"us\",\n" +" \"wt.co\": \"yes\",\n" +" \"wt.co_f\": \"d19aabf1-f402-4854-b890-
be077afa1b89\"\n" +" },\n" +" \"events\": [\n" +" {\n" +" \t\"wt.a_an\": \"loginBtn\",\n" +" \"wt.sys\": \"adclick\",\n" +" \"dcsuri\": \"\\/ad\\/click\",\n" +" \"wt.dl\": \"60\",\n" +" \"wt.ets\": \"1510275547878\",\n" +" \"wt.ti\": \"Sign-in button tapped!\",\n"
+" \"wt.a_ac\": \"1\",\n" +" \"wt.ev\": \"Tap Event\",\n" +" \"wt.pi\": \"Sign-in button tapped!\"\n
},\n" +" {\n" +" \"wt.sys\": \"pause\",\n" +" \"dcsuri\": \"\\/activity\\/pause\",\n" +" \"wt.pi\": \"LoginActivity\",\n" +" \"wt.dl\": \"61\",\n" +" \"wt.ets\": \"1510275547880\",\n" +" \"wt.ti\": \"LoginActivity\"\n" +" } ]\n" +"};";
©2020Oracle Corporation. All rights reserved 354 of 514
public static void main(String[] args) throws Exception {String url =
"http://dc.oracleinfinity.io/v3/abc1234567?dcsverbose=true"// where abc1234567 is your account guid - dcsverbose=true
enables the debug infoString response = post(url);System.out.println("Response: " + response);
}
private static String post(final String url) {final HttpClient client = HttpClientBuilder.create().build
();final StringBuilder result = new StringBuilder();final HttpPost post = new HttpPost(url);HttpResponse response;try {HttpEntity entity = EntityBuilder.create().setText(PAYLOAD).setContentType(ContentType.APPLICATION_JSON).build();
post.setEntity(entity);post.setHeader(HTTP.CONTENT_TYPE, "application/json");post.setHeader(HTTP.USER_AGENT, "My User Agent");post.setHeader(ACCEPT, "*/*");post.setHeader(ORA_CLIENT_TIME, String.valueOf(new Date
().getTime()));post.setHeader("Connection", "keep-alive");response = client.execute(post);BufferedReader rd = new BufferedReader(new
InputStreamReader(response.getEntity().getContent()));String line = "";while ((line = rd.readLine()) != null) {result.append(line);
}} catch (IOException e) {System.out.println("Connection error :" + e.getMessage
());}return result.toString();
}}
©2020Oracle Corporation. All rights reserved 355 of 514
Example request using Kotlin
This is an example implemented in Kotlin for sending events in a simple JSON data
structure to the Oracle Infinity data collection server. The Apache HttpComponents
library is used to send the HTTP request. The Oracle Infinity data collection also
provides an ability to get gzip-compressed data. If you want to send compressed JSON,
the Apache HttpComponents library is one of many that can be used for that purpose.
Expand to see the sample
import org.apache.http.HttpEntityimport org.apache.http.HttpResponseimport org.apache.http.client.HttpClientimport org.apache.http.client.entity.EntityBuilderimport org.apache.http.client.methods.HttpPostimport org.apache.http.entity.ContentTypeimport org.apache.http.impl.client.HttpClientBuilderimport org.apache.http.protocol.HTTP
import java.io.BufferedReaderimport java.io.IOExceptionimport java.io.InputStreamReaderimport java.util.Date
const val ORA_CLIENT_TIME = "ORA-Client-Time"const val ACCEPT = "Accept"const val PAYLOAD = "{\"static\": {\n" +"\"wt.a_nm\": \"WTBank\",\n" +" \"wt.ct\": \"WiFi\",\n" +" \"wt.dm\": \"SAMSUNG SM-J200M\",\n" +" \"wt.ul\": \"English\",\n" +" \"wt.d_id\": \"e205fd59dd7636ff\",\n" +" \"wt.a_dc\": \"T-Mobile\",\n" +" \"wt.g_co\": \"us\",\n" +" \"wt.co\": \"yes\",\n" +" \"wt.co_f\": \"d19aabf1-f402-4854-b890-
be077afa1b89\"\n" +" },\n" +" \"events\": [\n" +" {\n" +
©2020Oracle Corporation. All rights reserved 356 of 514
" \t\"wt.a_an\": \"loginBtn\",\n" +" \"wt.sys\": \"adclick\",\n" +" \"dcsuri\": \"\\/ad\\/click\",\n" +" \"wt.dl\": \"60\",\n" +" \"wt.ets\": \"1510275547878\",\n" +" \"wt.ti\": \"Sign-in button tapped!\",\n" +" \"wt.a_ac\": \"1\",\n" +" \"wt.ev\": \"Tap Event\",\n" +" \"wt.pi\": \"Sign-in button tapped!\"\n
},\n" +" {\n" +" \"wt.sys\": \"pause\",\n" +" \"dcsuri\": \"\\/activity\\/pause\",\n" +" \"wt.pi\": \"LoginActivity\",\n" +" \"wt.dl\": \"61\",\n" +" \"wt.ets\": \"1510275547880\",\n" +" \"wt.ti\": \"LoginActivity\"\n" +" } ]\n" +"};"
fun main(args: Array <string> ) {val url =
"http://dc.oracleinfinity.io/v3/abc1234567?dcsverbose=true"// where abc1234567 is your account guid - dcsverbose=true
enables the debug infoval response = post(url)println("Response: " + response)
}
private fun post(url: String): String {val client = HttpClientBuilder.create().build()val result = StringBuilder()val post = HttpPost(url)val response: HttpResponsetry {val entity = EntityBuilder.create().setText(PAYLOAD).setContentType(ContentType.APPLICATION_JSON).gzipCompress().build()
post.entity = entitypost.setHeader(HTTP.CONTENT_TYPE, "application/gzip")
©2020Oracle Corporation. All rights reserved 357 of 514
post.setHeader(HTTP.USER_AGENT, "My User Agent")post.setHeader(ACCEPT, "*/*")post.setHeader(ORA_CLIENT_TIME, Date().time.toString())post.setHeader("Connection", "keep-alive")response = client.execute(post)val rd = BufferedReader(InputStreamReader
(response.getEntity().getContent()))var line = rd.readLine()while (line != null) {result.append(line)line = rd.readLine()
}} catch (e: IOException) {println("Connection error :" + e.message)
}
return result.toString()}
Example request using Python
This is an example implemented in Python for sending events in a simple JSON data
structure to the Oracle Infinity data collection server. The requests and JSON libraries
are used to send HTTP requests. The Oracle Infinity data collection also provides an
ability to get gzip-compressed data. If you want to send compressed JSON, the zlib
library is one of many that can be used for that purpose.
Expand to see the sample
#!/usr/bin/python# -*- coding: utf-8 -*-
import requestsimport json
url ='http://dc.oracleinfinity.io/v3/abc1234567?dcsverbose=true'// where abc1234567 is your account guid - dcsverbose=trueenables the debug info
©2020Oracle Corporation. All rights reserved 358 of 514
headers = {'Content-Type': 'application/json','User-agent': 'My Client'}
payload = \'{"static":{"wt.a_nm": "WTBank", "wt.ct": "WiFi",
"wt.dm": "SAMSUNG SM-J200M", "wt.ul": "English", "wt.d_id":"e205fd59dd7636ff", "wt.a_dc": "T-Mobile", "wt.g_co": "us","wt.co": "yes", "wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89" },"events": [ { "wt.a_an": "loginBtn","wt.sys": "adclick", "dcsuri": "\\/ad\\/click", "wt.dl":"60", "wt.ets": "1510275547878", "wt.ti": "Sign-in buttontapped!", "wt.a_ac": "1","wt.ev": "Tap Event", "wt.pi":"Sign-in button tapped!" }, { "wt.sys": "pause", "dcsuri":"\\/activity\\/pause", "wt.pi": "LoginActivity", "wt.dl":"61", "wt.ets": "1510275547880", "wt.ti": "LoginActivity" }] }'r = requests.post(url, payload, headers=headers)print r.json()
Example request using C/C++
This is an example implemented in C/C++ for sending events in a simple JSON data
structure to the Oracle Infinity data collection server. The curl library is used to send the
HTTP request. The Oracle Infinity data collection server also provides an ability to get
gzip-compressed data. If you want to send compressed JSON, the zlib library is one of
many that can be used for that purpose.
Expand to see the sample
#include < stdio.h > #include < curl / curl.h > #include <string > #include < stdexcept > #include < iostream >#include < iomanip > #include < sstream >
int main(void) {CURL * curl;CURLcode res;std::string payload = "{\"static\": { \"wt.a_nm\":
\"WTBank\", \"wt.ct\": \"WiFi\", \"wt.dm\": \"SAMSUNG SM-J200M\", \"wt.ul\": \"English\", \"wt.d_id\":\"e205fd59dd7636ff\", \"wt.a_dc\": \"T-Mobile\", \"wt.g_
©2020Oracle Corporation. All rights reserved 359 of 514
co\": \"us\", \"wt.co\": \"yes\", \"wt.co_f\": \"d19aabf1-f402-4854-b890-be077afa1b89\"},\"events\": [ { \"wt.a_an\":\"loginBtn\", \"wt.sys\": \"adclick\", \"dcsuri\":\"\\/ad\\/click\", \"wt.dl\": \"60\", \"wt.ets\":\"1510275547878\", \"wt.ti\": \"Sign-in button tapped!\",\"wt.a_ac\": \"1\", \"wt.ev\": \"Tap Event\", \"wt.pi\":\"Sign-in button tapped!\" },{ \"wt.sys\": \"pause\",\"dcsuri\": \"\\/activity\\/pause\", \"wt.pi\":\"LoginActivity\", \"wt.dl\": \"61\", \"wt.ets\":\"1510275547880\", \"wt.ti\": \"LoginActivity\"}]}";
char char_array[data.length()];
std::strcpy(char_array, payload.c_str());curl_global_init(CURL_GLOBAL_ALL);curl = curl_easy_init();if (curl) {
struct curl_slist * headers = curl_slist_append(headers,
"Content-type: application/json");curl_easy_setopt(curl, CURLOPT_URL,
"http://dc.oracleinfinity.io/v3/abc1234567?dcsverbose=true");
// where abc1234567 is your account guid - dcsverbose=trueenables the debug info
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, char_array);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);res = curl_easy_perform(curl);if (CURLE_OK != res) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",curl_easy_strerror(res));
}curl_easy_cleanup(curl);
}curl_global_cleanup();return 0;
}
©2020Oracle Corporation. All rights reserved 360 of 514
Example request using C#
This is an example implemented in C# for sending events in a simple JSON data
structure to the Oracle Infinity data collection server. The System.Net.Http library is used
to send the HTTP request. The Oracle Infinity data collection server also provides an
ability to get gzip-compressed data. If you want to send compressed JSON, the
System.IO.Compression.GZipStream library is one of many that can be used for that
purpose.
Expand to see the sample
using System;using System.Threading.Tasks;using System.IO;using System.Net.Http;using System.Text;
namespace ConsoleApplication1 {class Program {static String PAYLOAD = "{\"static\": {" +"\"wt.a_nm\": \"WTBank\"," +"\"wt.ct\": \"WiFi\", " +"\"wt.dm\": \"SAMSUNG SM-J200M\"," +"\"wt.ul\": \"English\"," +"\"wt.d_id\": \"e205fd59dd7636ff\"," +"\"wt.a_dc\": \"T-Mobile\"," +"\"wt.g_co\": \"us\"," +"\"wt.co\": \"yes\"," +"\"wt.co_f\": \"d19aabf1-f402-4854-b890-be077afa1b89\"" +" }," +"\"events\": [ " +"{ " +"\"wt.a_an\": \"loginBtn\"," +"\"wt.sys\": \"adclick\"," +"\"dcsuri\": \"\\/ad\\/click\"," +"\"wt.dl\": \"60\", " +"\"wt.ets\": \"1510275547878\"," +"\"wt.ti\": \"Sign-in button tapped!\"," +"\"wt.a_ac\": \"1\"," +"\"wt.ev\": \"Tap Event\", " +
©2020Oracle Corporation. All rights reserved 361 of 514
"\"wt.pi\": \"Sign-in button tapped!\" " +"}," +"{ " +"\"wt.sys\": \"pause\", " +"\"dcsuri\": \"\\/activity\\/pause\"," +"\"wt.pi\": \"LoginActivity\"," +"\"wt.dl\": \"61\"," +"\"wt.ets\": \"1510275547880\"," +"\"wt.ti\": \"LoginActivity\"" +" }" +" ]" +"}";
static void Main(string[] args) {post().GetAwaiter().GetResult();
}
static async Task post() {string text;try {byte[] bytData = Encoding.ASCII.GetBytes(PAYLOAD);
using(System.IO.MemoryStream ms = newSystem.IO.MemoryStream()) {
ms.Read(bytData, 0, bytData.Length);MemoryStream outStream = new MemoryStream(bytData);StreamContent streamContent = new StreamContent
(outStream);streamContent.Headers.Add("Content-type",
"application/json");streamContent.Headers.ContentLength = outStream.Length;Uri target = new Uri
("http://dc.oracleinfinity.io/v3/abc1234567?dcsverbose=true");
// where abc1234567 is your account guid - dcsverbose=trueenables the debug info
HttpRequestMessage requestMessage = newHttpRequestMessage(HttpMethod.Post, target);
requestMessage.Content = streamContent;var client = new HttpClient();HttpResponseMessage response = await client.SendAsync
(requestMessage);
©2020Oracle Corporation. All rights reserved 362 of 514
text = await response.Content.ReadAsStringAsync();}
} catch (Exception ex) {text = ex.Message;
}Console.Write("Response: " + text);
}}
}
Example request using PHP
This is an example implemented in PHP for sending events in a simple JSON data
structure to the Oracle Infinity data collection server. The curl library is used to send the
HTTP request. The Oracle Infinity data collection server also provides an ability to get
gzip-compressed data. If you want to send compressed JSON, the gzencode library is
one of many that can be used for that purpose.
Expand to see the sample
$payload = "{\"static\": {\"wt.a_nm\": \"WTBank\",\"wt.ct\": \"WiFi\", \"wt.dm\": \"SAMSUNG SM-J200M\",\"wt.ul\": \"English\", \"wt.d_id\": \"e205fd59dd7636ff\",\"wt.a_dc\": \"T-Mobile\", \"wt.g_co\": \"us\", \"wt.co\":\"yes\", \"wt.co_f\": \"d19aabf1-f402-4854-b890-be077afa1b89\" },\"events\": [ { \"wt.a_an\": \"loginBtn\",\"wt.sys\": \"adclick\", \"dcsuri\": \"\\/ad\\/click\",\"wt.dl\": \"60\", \"wt.ets\": \"1510275547878\", \"wt.ti\":\"Sign-in button tapped!\", \"wt.a_ac\": \"1\",\"wt.ev\": \"Tap Event\", \"wt.pi\": \"Sign-in buttontapped!\" }, { \"wt.sys\": \"pause\", \"dcsuri\":\"\\/activity\\/pause\", \"wt.pi\": \"LoginActivity\",\"wt.dl\": \"61\", \"wt.ets\": \"1510275547880\", \"wt.ti\":\"LoginActivity\" } ] }";
$url ="http://dc.oracleinfinity.io/v3/abc1234567?dcsverbose=true";// where abc1234567 is your account guid - dcsverbose=trueenables the debug info$curl = curl_init($url);
©2020Oracle Corporation. All rights reserved 363 of 514
$headers = ['Content-Type: application/json' ,'User-Agent: My CLient'
];curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);curl_setopt($curl, CURLOPT_POST, true);curl_setopt($curl,CURLOPT_POSTFIELDS, $payload);curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);$response = curl_exec($curl);echo $response;curl_close($curl);
Example request using Visual Basic .NET
This is an example implemented in Visual Basic .NET for sending events in a simple
JSON data structure to the Oracle Infinity data collection server. The System.Net. library
is used to send the HTTP request. The Oracle Infinity data collection server also
provides an ability to get gzip-compressed data. If you want to send compressed JSON,
the System.IO.Compression.GZipStream library is one of many that can be used for that
purpose.
Expand to see the sample
Imports System.NetImports System.TextImports System.IO
Module Module1Sub Main()
Dim payload As String = "{""static"": {" +"""wt.a_nm"": ""WTBank""," +"""wt.ct"": ""WiFi"", " +"""wt.dm"": ""SAMSUNG SM-J200M""," +"""wt.ul"": ""English""," +"""wt.d_id"": ""e205fd59dd7636ff""," +"""wt.a_dc"": ""T-Mobile""," +"""wt.g_co"": ""us""," +"""wt.co"": ""yes""," +"""wt.co_f"": ""d19aabf1-f402-4854-b890-be077afa1b89""" +" }," +
©2020Oracle Corporation. All rights reserved 364 of 514
"""events"": [ " +"{ " +"""wt.a_an"": ""loginBtn""," +"""wt.sys"": ""adclick""," +"""dcsuri"": ""\\/ad\\/click""," +"""wt.dl"": ""60"", " +"""wt.ets"": ""1510275547878""," +"""wt.ti"": ""Sign-in button tapped!""," +"""wt.a_ac"": ""1""," +"""wt.ev"": ""Tap Event"", " +"""wt.pi"": ""Sign-in button tapped!"" " +"}," +"{ " +"""wt.sys"": ""pause"", " +"""dcsuri"": ""\\/activity\\/pause""," +"""wt.pi"": ""LoginActivity""," +"""wt.dl"": ""61""," +"""wt.ets"": ""1510275547880""," +"""wt.ti"": ""LoginActivity""" +" }" +" ]" +"}"Dim url As String = "http://dc.oracleinfinity.io/v3/
abc1234567?dcsverbose=true"// where abc1234567 is your account guid - dcsverbose=true
enables the debug infoConsole.WriteLine(post(url, payload).ToString)
End Sub
Function post(ByVal Url As String, ByVal PostData As String)As String
Dim http As HttpWebRequest = WebRequest.Create(Url)http.ContentType = "application/json"If Not String.IsNullOrEmpty(PostData) Then
http.Method = "POST"Dim bytesArray() As Byte = Encoding.ASCII.GetBytes
(PostData)http.ContentLength = bytesArray.LengthUsing PostStream As Stream = Http.GetRequestStream()PostStream.Write(bytesArray, 0, bytesArray.Length)End Using
End If
©2020Oracle Corporation. All rights reserved 365 of 514
Using WebResponse As HttpWebResponse = Http.GetResponse()Dim responseStream As Stream =
WebResponse.GetResponseStream()Dim reader As StreamReader = New StreamReader
(responseStream, Encoding.Default)Dim html As String = reader.ReadToEnd()responseStream.Close()Return htmlEnd Using
End Function
End Module
POSTing a JSON payload
Once you create a valid JSON payload, use your account GUID to POST it to the
following DCAPI endpoint:
https://dc.oracleinfinity.io/v3/account_GUID
Legacy implementations must be migrated to v3. Oracle Infinity no longer supports v1 or
v2. Account GUID replaces dcsid as an identifier.
Tip: To receive debug messages, append dcsverbose=true to the URL. The
following sample response would indicate a successful POST:
Expand to see the sample
HTTP/1.0 200 OK Connection: close Content-Type: text/xmlContent-Length: 514<?xml version="1.0" encoding="UTF-8"?><fields>
<date>2018-04-11</date>
©2020Oracle Corporation. All rights reserved 366 of 514
<time>23:56:04</time><c-ip>10.62.81.60</c-ip><cs-username>-</cs-username><cs-host>-</cs-host><cs-method>POST</cs-method><cs-uri-stem>/Home</cs-uri-stem><cs-uri-query>wt.ti=My%20Home%20Page&wt.tz=-
8&wt.cg=My%20Content%20Group&customparam=customval</cs-uri-query>
<sc-status>200</sc-status><sc-bytes>-</sc-bytes><cs-version>-</cs-version><cs-user-agent>My%20Client</cs-user-agent><cs-cookie>-</cs-cookie><cs-referer>-</cs-referer><dcs-id>abc1234567</dcs-id>
</fields>
Mobile SDKs
Oracle Infinity offers the following SDKs to help you track usage data about interactions
with your mobile apps:
l Android SDK with Java interfaces
l iOS SDK with Objective-C and Swift interfaces
Both SDKs use the Oracle Data Collection API (DCAPI) to send compressed batches of
collected data to the Oracle Data Collectors.
The SDKs monitor client interactions and can track any click, zoom, swipe, tap, or action
and store those events in an on-device memory store. Once certain thresholds are
reached, such as a data send interval or an event count, the SDK will batch the stored
events, compress the batch, and send it to Oracle Data Collectors.
©2020Oracle Corporation. All rights reserved 367 of 514
Events are typically received at intervals that are inconsistent with when they actually
happened in the app. Oracle Infinity uses the logged event times to sequence the data
alongside data collected from online events using the Oracle Infinity Tag, so you can
report on mobile and web data in the same reports. The SDKs also offer a hybrid data
collection model where an app user can transition from a mobile app to a mobile web
site and the SDK will track both parts of the user’s session.
You can start with the most basic implementation, which captures application events
with no additional coding. If the available SDK collection options do not meet a your
mobile collection needs, you can use the DCAPI to create custom solutions for sending
data from any mobile platform or WebSocket-enabled device to track any event at any
level of granularity.
The SDKs are packaged into ZIP files. Once extracted, you will find help topics that
provide installation instructions and reference.
Note: For information about downloading the SDK packages, contact My Oracle
Support (MOS).
OracleMobile OneCore SDKReference for iOS
What is Oracle Infinity Core?
The Oracle Core is an analytics solution that collects and reports on event data for web
sites and mobile applications. When a web site or application user performs an action
like a button click or page view, a request containing a string of query parameters and
values is created and transmitted to a data collection server. These parameters can
provide simple information about visits and page views or customized information such
as commerce transactions, media activity, and device hardware. Oracle Core can report
on this data in real time or trend it over days, weeks, months, and years.
While you are free to pass Oracle Core parameters as part of your application code,
using the Library does not require knowledge of Oracle Core or Infinity parameters. The
Library uses simple readable \ref arguments “arguments” that Oracle Core reports can
capture in standard or custom reporting. Oracle Core custom reports can also provide
reporting on any custom parameter expressed as a name=value pair.
CoreMobile SDK
The Oracle Infinity Core Mobile SDK is a framework for iOS, that enables easy
integration with Oracle Infinity Analytics products. This guide will walk you through the
initial setup process, from integrating the SDK with your project, to sending events to
Oracle Infinity. There are tons of documentation available for each feature of the SDK.
But, to start integrating the SDK, we need Getting Started Guide and Basic Installation
Guide
All Documentation
The complete documentation for the Oracle Infinity Mobile iOS SDK can be found below.
Programming Guides
l Adding New Module ToOracle One SDK
l Automatic EventsGuide
l Basic Installation Guide
l Event Parameter Reference
l Event Sending Failures
l Getting Started Guide
l HTTP Layer Guide
l License Agreement
l Manual EventsGuide
l Multiple Endpoint Guide
l ProcessCommunication QueueGuide
l Setting Configuration Values
l Troubleshooting Guide
Class References
l ORABaseDataContainer
l ORACoreConfigSetting
l ORACoreDataCollector
l ORACoreEventBuilder
l ORACoreEventMeta
l ORACoreWebViewDelegate
l ORAEventGroup
©2020Oracle Corporation. All rights reserved 368 of 514
l ORAEventListener
l ORAEventListenerSpec
l ORARequest
Oracle CoreMobile SDKReference for Android
The Oracle Infinity Analytics Mobile SDK is a library for Android that enables easy
integration with Oracle Infinity Analytics product. This guide will walk you through the
initial setup process, from integrating the SDK with your project, to sending events to
Oracle Infinity. There are tons of documentation available for each feature of the SDK.
But, to start integrating the SDK, we need Basic Installation Guide and Getting Started
Guide
All Documentation
The complete documentation for the Oracle Infinity Mobile Android SDK can be found
below.
Programming Guides
l How DoesOracle CoreWork?
l Oracle CoreMobile SDK Overview and Installation Guide
l Getting Started with the Oracle CoreMobile SDK for Android
l Multiple Endpoint Guide Document
l Application State CollectionMethods
l Configuration Guide
l Process communication queue for Core
l HTTP Layer Guide
l Android Push Notification support
©2020Oracle Corporation. All rights reserved 369 of 514
l Hybrid Guide for Core
l Reference Information
Class References
l All Classes
Oracle Infinity Analytics Mobile SDKReference for iOS
What is Oracle Infinity Analytics?
The Oracle Infinity Analytics is an analytics solution that collects and reports on event
data for web sites and mobile applications. When a web site or application user performs
an action like a button click or page view, a request containing a string of query
parameters and values is created and transmitted to a data collection server. These
parameters can provide simple information about visits and page views or customized
information such as commerce transactions, media activity, and device hardware. Oracle
Infinity can report on this data in real time or trend it over days, weeks, months, and
years.
While you are free to pass Oracle Infinity parameters as part of your application code,
using the Library does not require knowledge of Oracle Infinity parameters. The Library
uses simple readable \ref arguments “arguments” that Oracle Infinity Analytics reports
can capture in standard or custom reporting. Oracle Infinity custom reports can also
provide reporting on any custom parameter expressed as a name=value pair.
This guide will walk you through the initial setup process, from integrating the SDK with
your project, to sending events to Oracle Infinity. There are tons of documentation
available for each feature of the SDK. But, to start integrating the SDK, we need Getting
Started Guide and Basic Installation Guide.
All Documentation
The complete documentation for the Oracle Infinity Mobile iOS SDK can be found below
Programming Guides
l Basic Installation Guide
l Embedded Browser EventsGuide
l Event Parameter Reference
l Event Sending Failures
l Getting Started Guide
l Hybrid EventsGuide
l License Agreement
l Manual EventsGuide
l Sample AppGuide
l Setting Configuration Values
l Troubleshooting Guide
Class References
l ORADataCollector
l ORAEventMedia
l ORAEventMeta
l ORAProductMeta
l ORAVideoMeta
l ORAWebViewDelegate
©2020Oracle Corporation. All rights reserved 370 of 514
Oracle Infinity Analytics Mobile SDKReference for Android
The Oracle Infinity Analytics Mobile SDK is a library for Android that enables easy
integration with Oracle Infinity Analytics product. This guide will walk you through the
initial setup process, from integrating the SDK with your project, to sending events to
Oracle Infinity.
This manual is divided in the following sections:
l How DoesOracle Infinity AnalyticsWork?
l Oracle Infinity AnalyticsMobile SDK Overview and Installation Guide
l Getting Started with the Oracle Infinity AnalyticsMobile SDK for Android
l Configuration Guide
l Hybrid Guide for Analytics
l Video CollectionMethods
l Event CollectionMethods
l Reference Information
l Code Examples
l Sample Application Guide
Class References
l All Classes
Oracle Firebase Analytics Mobile SDKReference for iOS
The Oracle Firebase Analytics Mobile SDK is a library for iOS that enables easy
integration with Oracle Infinity Analytics product. This guide will walk you through the
initial setup process, from integrating the SDK with your project, to sending events to
Oracle Infinity.
Basic Installation
This manual is divided in the following sections:
l Getting Started Guide Document
l Event Parameter Reference Document
Class References
l ORAFirAnalytics ClassReference
©2020Oracle Corporation. All rights reserved 371 of 514
Oracle Firebase Analytics Mobile SDKReference for Android
The Oracle Firebase Analytics Mobile SDK is a library for Android that enables easy
integration with Oracle Infinity Analytics product. This guide will walk you through the
initial setup process, from integrating the SDK with your project, to sending events to
Oracle Infinity.
This manual is divided in the following sections:
l Oracle Firebase AnalyticsMobile SDK Overview and Installation Guide
l Getting Started with the Oracle Firebase AnalyticsMobile SDK for Android
l Code Examples
Class References
l All Classes
©2020Oracle Corporation. All rights reserved 372 of 514
Library
The Oracle Infinity Analytics Library is an enterprise governance tool where you can see
how objects are used, when they were edited, and by whom. The Library enables you to
delete custom objects. For example, you can delete custom reports but the Library does
not allow you to delete standard reports. The Library lists dependencies, such as reports
that use a particular measure.
Note: You can administer objects if you have the needed rights. For more details,
contact your Oracle Infinity administrator.
To access the Library application:
1. Click the Library icon on the top menu. The Library page displays the objects that you
can administer.
2. Click the following tabs in the right-hand panel to select the corresponding objects to review
their ownership, when they were modified, their associated objects, and delete them if
necessary.
©2020Oracle Corporation. All rights reserved 373 of 514
Parameter reference
Oracle Infinity provides the following parameters.
Note: Some of the parameter names listed here omit parameter prefixes that are
added after data collection. For example, you can specify the wt.pn_sku
parameter in your Oracle Infinity Tag and specify the corresponding data.wt.pn_
sku parameter in reports. The definition of this product SKU parameter applies in
both contexts.
Parameter Name Descriptiondata.page-uri Page URI data.page-uri indicates the URI of the
page or the mobile app screen.datetime_utc Date datetime_utc indicates the date and time in
UTC format based on the value of wt.ets (ifsent). If wt.ets is not sent, Oracle Infinity'sdata collection server generates the value ofdatetime_utc when it receives the eventdata.
dcsipa IP addressmaskng
dcsipa allows you to mask IP addresses byspecifying the optional value of 1.
ext.browser.mfr Browsermanufacturer
ext.browser.mfr identifies the browsermanufacturer.
ext.browser.name Browsername
ext.browser.name identifies the name of thebrowser or browser group, such as Chrome.
ext.browser.renderer Browserrenderingengine
ext.browser.renderer identifies thebrowser's rendering engine, such as GECKO.
ext.browser.type Browser typeext.browser.type identifies the type ofbrowser, such as email client or browser.
ext.browser.version Browserversion
ext.browser.version identifies thebrowser version, such as 11.0.
ext.browser.vmajor Major ext.browser.vmajor identifies the majorversion of the browser.
©2020Oracle Corporation. All rights reserved 374 of 514
Parameter Name Descriptionbrowserversion
ext.browser.vminor Minorbrowserversion
ext.browser.vminor identifies the minorversion of the browser, which is typically thesecond decimal.
ext.device.androidos Android ext.device.androidos indicates whetherthe device is distributed with Android OSpreinstalled (true) or not (false).
ext.device.bada Bada OS ext.device.bada indicates whether thedevice is distributed with Bada OS pre-installed (true) or not (false).
ext.device.brand OEM name ext.device.brand indicates the name of theoriginal equipment manufacturer (OEM) of thedevice, browser, or other component (such asMozilla).
ext.device.devp Developerplatform
ext.device.devp indicates the commercialname of the developer platform that thedevice was built around (if any).
ext.device.devpv Developerplatformversion
ext.device.devpv indicates the version ofthe developer platform that the device wasbuilt around (if any).
ext.device.dsktpbr Desktopbrowser
ext.device.dsktpbr indicates whether thedevice is using a desktop browser (true) ornot (false).
ext.device.ereader Readingdevice
ext.device.ereader indicates whether thedevice is a reading device (true) or not(false).
ext.device.flash Flashcapability
ext.device.flash indicates whether thedevice supports Flash (true) or not (false).
ext.device.gamec Gameconsole
ext.device.gamec indicates whether thedevice is a game console (true) or not(false).
ext.device.html5c HTML5support
ext.device.html5c indicates whether thedevice's browser supports HTML5 (true) ornot (false).
ext.device.https HTTPScapability
ext.device.https indicates whether thedevice's browser supports secure socketslayer (true) or not (false).
ext.device.id Device ID ext.device.id provides the unique ID of thedevice if properly detected.
©2020Oracle Corporation. All rights reserved 375 of 514
Parameter Name Descriptionext.device.iOS iOS ext.device.iOS indicates whether the
device is distributed with iOS preinstalled(true) or not (false).
ext.device.medp Media player ext.device.medp indicates whether thedevice is a media player (true) or not(false).
ext.device.mktn Marketingname
ext.device.mktn indicates the marketingname for a device.
ext.device.mobile Mobiledevice
ext.device.mobile indicates whether thedevice is meant for use on the move (true) ornot (false).
ext.device.model Model name ext.device.model indicates the modelname of the device, browser, or othercomponent (such as Firefox).
ext.device.osver OS version ext.device.osver indicates the version ofthe preinstalled operating system, such as 6_1_2 or null if not defined.
ext.device.rim RIM OS ext.device.rim indicates whether thedevice is distributed with RIM OS preinstalled(true) or not (false).
ext.device.scres Screenresolution
ext.device.scres indicates the width andheight of the device screen.
ext.device.smphone Mobilephone
ext.device.smphone indicates whether thedevice is a mobile phone (true) or not(false).
ext.device.stb Set-top box ext.device.stb indicates whether thedevice is a set-top box (true) or not (false).
ext.device.symb Symbian OS ext.device.symb indicates whether thedevice is distributed with Symbian OSpreinstalled (true) or not (false).
ext.device.tablet Tablet ext.device.tablet indicates whether thedevice is a tablet (true) or not (false).
ext.device.touch Touchscreenext.device.touch indicates whether thedevice has a touchscreen (true) or not(false).
ext.device.tv Television ext.device.tv indicates whether the deviceis a television (true) or not (false).
ext.device.webos WebOS ext.device.webos indicates whether thedevice is distributed with WebOS preinstalled
©2020Oracle Corporation. All rights reserved 376 of 514
Parameter Name Description(true) or not (false).
ext.device.winm WindowsMobile
ext.device.winm indicates whether thedevice is distributed with Windows Mobilepreinstalled (true) or not (false).
ext.device.winp WindowsPhone
ext.device.winp indicates whether thedevice is distributed with Windows Phonepreinstalled (true) or not (false).
ext.device.yrel Device year ext.device.yrel indicates the year thedevice was released or announced.
ext.geo.area Area Code ext.geo.area indicates the US telephonearea code.
ext.geo.cbsac CBSA code ext.geo.cbsac indicates the core-basedstatistical area (CBSA) internal lookup code(US only).
ext.geo.cbsan CBSA title ext.geo.cbsan indicates the CBSA title forthe location, such as San Francisco-Oakland-Fremont, CA.
ext.geo.cbsat CBSA type ext.geo.cbsat indicates the type of CBSA,which can be a metropolitan (metro) or amicro area.
ext.geo.cc2 Country two-letter code
ext.geo.cc2 indicates the ISO 3166-1alpha-2 country code, such as US.
ext.geo.cc3 Countrythree-lettercode
ext.geo.cc3 indicates the ISO 3166-1alpha-3 country code, such as GBR.
ext.geo.cic City code ext.geo.cic identifies the numeric code forthe city, such as 4782 for London, UK, whichis useful for filtering.
ext.geo.city City ext.geo.city identifies the full name of thecity, such as London.
ext.geo.cnc Continentcode
ext.geo.cnc indicates the numeric code forthe continent.
ext.geo.co Company ext.geo.co indicates the name of thecompany. If no specific company name exists,the ISP name appears.
ext.geo.continent Continentname
ext.geo.continent indicates the continentname.
ext.geo.country Country ext.geo.country indicates the full name ofthe country.
©2020Oracle Corporation. All rights reserved 377 of 514
Parameter Name Descriptionext.geo.csac CSA code ext.geo.csac identifies the combined
statistical area (CSA) code, which is similar tothe core-based statistical area (CBSA).
ext.geo.csan CSA title ext.geo.csan indicates the combinedstatistical area (CSA) title, such as SanJose-San Francisco-Oakland.
ext.geo.dst Daylightsaving time
ext.geo.dst indicates whether the region isobserving daylight saving time (y) or not (n).
ext.geo.hb Home orbusiness
ext.geo.hb indicates whether the hit is froma home or business based on registration ofthe IP address with an ISP.
ext.geo.isp ISP name ext.geo.isp indicates the name of the ISP.ext.geo.ispd ISP domain ext.geo.ispd indicates the internet service
provider (ISP) domain name, such ascomcast.net.
ext.geo.latitude Latitude ext.geo.latitude indicates theapproximate latitude coordinate, such as -051.506.
ext.geo.longitude Longitude ext.geo.longitude indicates theapproximate longitude coordinate, such as -000.127.
ext.geo.metro Metropolitanarea name
ext.geo.metro indicates the name of themetropolitan area.
ext.geo.mtc Metro code ext.geo.mtc indicates the 2-6 digit metrocodes, such as 505 for Detroit.
ext.geo.mts State ext.geo.mts indicates the state of thevisitor's designated market area (DMA).
ext.geo.nt Network typeext.geo.nt indicates the type of networkconnection, such as broadband, xdsl, cable,or mobile.
ext.geo.plang Regionlanguage
ext.geo.plang indicates the primarylanguage in the region.
ext.geo.rc Region code ext.geo.rc identifies the two-letter regioncode, such as NY.
ext.geo.region Region ext.geo.region indicates the name of theregion.
ext.geo.tz Time zoneoffset ext.geo.tz identifies the UTC offset.
ext.geo.zip Zip Code ext.geo.zip indicates the postal code.
©2020Oracle Corporation. All rights reserved 378 of 514
Parameter Name Descriptionext.os.mfr OS
manufacturerext.os.mfr identifies the operating systemmanufacturer, such as Microsoft.
ext.os.name OS name ext.os.name identifies the name of theoperating system, such as Android.
ext.search.engine Searchengine
ext.search.engine indicates the searchengine used.
ext.search.paid Paid searchengine
ext.search.paid populates the WT.srch=1parameter.
ext.search.phrase Searchphrase
ext.search.phrase indicates the searchphrase used.
ext.source.name Referername
ext.source.name indicates the actual nameof the referer.
ext.source.type Trafficsource type
ext.source.type indicates the type of trafficsource.
session.closed Active orclosed
(Streams only) session.closed indicateswhether the session is active (false) orclosed (true).
session.closed_reason Reason forclosing
(Streams only) session.closed_reasonindicates a reason for a closed session.
session.duration.limitDurationlimit
(Streams only) session.duration.limitindicates the maximum time, in milliseconds,for an active session until the session isclosed.
session.event_count Eventsreceived
(Streams only) session.event_countidentifies the number of events received in thesession.
session.first_datetime_utc
Start time (Streams only) session.first_datetime_utc indicates the start time of the session.
session.page_view_count
Active orclosed
(Streams only) session.page_view_countidentifies the number of pages viewed in thesession.
session.recent_datetime_utc
Time of mostrecent event
(Streams only) session.recent_datetime_utc indicates the time of the most recent orlast event in the session.
session.returning_visitor
New orreturningvisitor
(Streams only) session.returning_visitor indicates whether this is a newvisitor (false) or a returning visitor (true).
session.session_id Session ID (Streams only) session.session_idindicates the unique ID of the session.
©2020Oracle Corporation. All rights reserved 379 of 514
Parameter Name Descriptionsession.time_inactive Time
inactive(Streams only) session.time_inactiveindicates the time, in milliseconds, since thelast event from the visitor.
session.time_on_site Duration (Streams only) session.time_on_siteindicates the duration, in seconds, of thesession.
session.visitor_id Visitor ID session.visitor_id provides the uniquevisitor ID.
wt.a_ac App ad click wt.a_ac indicates that an ad was clickedwithin a mobile app.
wt.a_ai App adimpression
wt.a_ai indicates that one or more ads wasviewed in a mobile app.
wt.a_an App adname
wt.a_an specifies one more names of adspresented in a mobile app.
wt.a_cat Appcategory
wt.a_cat specifies a category of mobile app,such as Games, Health & Wellness, orProductivity.
wt.a_dc MobileCarrier wt.a_dc specifies the mobile carrier.
wt.a_nm Mobile AppName
wt.a_nm specifies the name of the mobileapp.
wt.a_pub Apppublisher
WT.a_pub specifies the developer, publisher,or vendor for a mobile app.
wt.ac Ad click wt.ac specifies the name of an ad clicked toreach a particular web page.
wt.ad Ad view wt.ad specifies the names of one or moresemicolon-delimited ads viewed on a webpage.
wt.av Mobile AppVersion wt.av specifies the version of the mobile app.
wt.bh Local time wt.bh indicates the web client’s browsinghour (local time of day on a 24-hour clock).
wt.bs Window size wt.bs indicates the width and height of theweb client window in pixels.
wt.cd Screen colordepth
wt.cd indicates the web client’s screen colordepth.
wt.ce Cookiesenabled
wt.ce indicates whether the visitor has first-party cookies enabled (1) or disabled (0).
wt.cg_n Content wt.cg_n identifies one or more semicolon-
©2020Oracle Corporation. All rights reserved 380 of 514
Parameter Name Descriptiongroup name delimited content group names.
wt.cg_s Contentsubgroupname
wt.cg_s identifies one or more semicolon-delimited content subgroup names.
wt.cgm_ev CGM event wt.cgm_ev identifies the consumer-generated media (CGM) event that occurred,such as a post (p) or comment (c).
wt.cgm_t CGM type wt.cgm_t identifies the type of consumer-generated media.
wt.clip_accountid Brightcoveaccount ID
wt.clip_accountid provides the unique IDof the Brightcove account.
wt.clip_ct Videocontent type
wt.clip_ct indicates the video's contenttype, such as MOV.
wt.clip_duration Duration inseconds
wt.clip_duration indicates the videoduration in seconds.
wt.clip_duration_min Duration inminutes
wt.clip_duration_min indicates the videoduration in minutes.
wt.clip_duration_n Durationbased onrange
wt.clip_duration_n indicates the range ofthe video duration in seconds.
wt.clip_ev Media eventidentifier
wt.clip_ev identifies the type of media-related event that has occurred, such as v fora view event.
wt.clip_id Videoidentifier
wt.clip_id indicates the unique ID of thevideo asset.
wt.clip_mins Playhead inminutes
wt.clip_mins indicates the video'splayhead position in minutes.
wt.clip_mode Mode type wt.clip_mode identifies the mode type ofvideo, such as fixed, streaming,FullScreenOn, or FullScreenOff.
wt.clip_n Video name wt.clip_n identifies the name of the videothat was accessed.
wt.clip_perc Percentageplayed
wt.clip_perc identifies the percentage ofthe video that the viewer has played.
wt.clip_player Player name wt.clip_player identifies the name of thevideo player.
wt.clip_player_res Playerresolution
wt.clip_player_res indicates the videoplayer's resolution in pixel height x width.
wt.clip_provider Video WT.clip_provider indicates the host on
©2020Oracle Corporation. All rights reserved 381 of 514
Parameter Name Descriptionprovider which the video is located
wt.clip_res Videoresolution
wt.clip_res indicates the resolution of thevideo expressed as height x width in pixels.
wt.clip_secs Playhead inseconds
wt.clip_secs indicates the video'splayhead position in seconds.
wt.clip_src Video URL wt.clip_src provides the URL of the video.wt.clip_t Media type wt.clip_t identifies the type of media, such
as Flash or HTML5, depending on what typeof player is being used.
wt.clip_tag_tagName Video tagname
wt.clip_tag_tagName provides the videotag name.
wt.clip_tags Video tags wt.clip_tags provides a list of one or moresemicolon-delimited video tags.
wt.clip_tv Video tagpluginversion
wt.clip_tv provides the version of the videotag plugin.
wt.clip_video_id Brightcovevideo ID
wt.clip_video_id provides the unique ID ofthe Brightcove video.
wt.clip_vol Volume levelwt.clip_vol provides the volume of thevideo on a scale from 1 through 100.
wt.co_f First-partycookie
wt.co_f is a random value used as a visitorID and stored in a first-party cookie.
wt.com_v Website testvariant
wt.com_v identifies the website test variantused to compare activity, such as the scenariostep conversion rate of two or more testvariants.
wt.conv Conversionname
wt.conv specifies a name used to identify acustomer conversion event, which can be anyconversion event that you define on your siteor app.
wt.ct Connectiontype
wt.ct specifies the connection type used tosend data.
wt.dcs_id DCSID (Deprecated) wt.dcs_id is a unique IDassociated with a data source for datacollected from a website or app.
wt.dcsvid Externalvisitor ID
wt.dcsvid identifies an optional uniquecustom visitor ID you can assign to yourvisitors in other systems. This is separate anddistinct from automatically generated visitor ID
©2020Oracle Corporation. All rights reserved 382 of 514
Parameter Name Descriptionparameters sent by the Oracle Infinity Tag. Ifyou do not send a custom value, thisparameter will not be present on the hit.
wt.dep Encodingconversion
wt.dep contains a semicolon-delimited list ofcustom DCSext query parameters on a webpage. The encoding conversion plugin usesthis information to identify the parameters thatare known to be encoded in UTF-8.
wt.dl Eventtracking
wt.dl specifies a numeric identifier for thekind of event tracked, which are used forevent-level filtering and reporting.
wt.dm Devicemodel
wt.dm specifies the model of the mobiledevice that an application is running on, suchas wt.dm=iPhone%207.
wt.es Page URL wt.es identifies the page a user was on whenan event occurred.
wt.ets Event timestamp
wt.ets indicates the Unix time stamp for theevent measured in milliseconds.
wt.ev Event type wt.ev specifies the type of event activity on amobile device, such as clicks, swipes, andcontent views.
wt.g_co Country wt.g_co specifies the country of origin for
mobile traffic using a country code.
wt.gc Geolocationcoordinates
wt.gc indicates the latitude and longitude of
a mobile device.
wt.hdr HTTPheader
wt.hdr identifies the value of the custom
HTTP headers, such as those inserted by
third-party load balancers, application
servers, or web server plugins.
wt.hp Home page wt.hp indicates whether the viewed pagewas set as the web client's home page (1) ornot (0).
wt.jo Javaenabled
wt.jo indicates whether the web client has
enabled Java (yes) or not (no).
©2020Oracle Corporation. All rights reserved 383 of 514
Parameter Name Descriptionwt.js JavaScript
enabledwt.js indicates whether the web client
supports or has enabled JavaScript (yes) or
not (no).
wt.jv JavaScriptversion
wt.jv indicates the version of JavaScriptsupported by the web client.
wt.le Characterset
wt.le indicates the character set used by theweb client to render the current document.
wt.mc_ev Campaignevent
wt.mc_ev identifies the ad event type, suchas click for an ad clickthrough event.
wt.mc_id CampaignID
wt.mc_id associates pages with a specificcampaign.
wt.nv Div or table wt.nv contains the ID or class of the parent<div/> or <table/> of the element that wasclicked so that you can track thecorresponding page areas.
wt.oss Searchphrase
wt.oss identifies a word or a phrase thatvisitors submit for an on-site search.
wt.oss_r Searchsuccess
wt.oss_r indicates whether an on-sitesearch is successful by capturing the numberof search results. If its value is 0, the user'ssearch failed.
wt.p_did Devicepersona
wt.p_did provides a hash value thatrepresents the device used by the visitor.
wt.p_pid Persona ID wt.p_pid provides a hashed personaidentifier generated by the persona service.wt.p_pid is typically identical to wt.p_vid
wt.p_sid Sessionpersona
wt.p_sid provides a unique ID for thesession for use by the persona service.
wt.p_vid Newpersona
wt.p_vid is generated if the wt.p_did doesnot match an existing persona. If the personais matched, wt.p_vid is identical to wt.p_pid.
wt.pi Page ofinterest
wt.pi identifies a page of interest on your siteor name of a mobile app .
wt.player_id Brightcoveplaylist ID
wt.player_id provides the unique ID of theBrightcove playlist.
wt.pn_fa Productfamily wt.pn_fa identifies the product family.
©2020Oracle Corporation. All rights reserved 384 of 514
Parameter Name Descriptionwt.pn_gr Product
group wt.pn_gr identifies the product group.
wt.pn_id Product ID wt.pn_id identifies a unique product ID.wt.pn_ma Product
manufacturerwt.pn_ma identifies the manufacturer of theproduct.
wt.pn_sc Productsubgroup wt.pn_sc identifies the product subgroup.
wt.pn_sku Product SKUwt.pn_sku identifies the stock keeping unit(SKU), which is a unique numeric identifier ofthe product.
wt.pn_su Productsupplier
wt.pn_su identifies the supplier of theproduct.
wt.ria_a RIA name wt.ria_a identifies the name of the richinternet application (RIA) that was accessed.
wt.ria_c RIA content wt.ria_c identifies the rich internetapplication (RIA) content.
wt.ria_ev RIA event wt.ria_ev identifies the rich internetapplication (RIA) event that occurred, such asthe selection of a RIA button or feature.
wt.ria_f RIA feature wt.ria_f identifies the rich internetapplication (RIA) feature that was accessed.
wt.rss_a RSS article wt.rss_a identifies the rich site summary(RSS) article.
wt.rss_ev RSS event wt.rss_ev indicates the RSS-related event,such as subscription.
wt.rss_f RSS feed wt.rss_f identifies the rich site summary(RSS) subscription feed.
wt.rv Registeredvisitor
wt.rv indicates whether the visitor isregistered (1) or not (null).
wt.sdk_v Mobile SDKBuild
wt.sdk_v indicates the version of the OracleInfinity mobile SDK.
wt.seg Segment wt.seg identifies values associated with asegment of interest.
wt.si_cs Conversionstep
wt.si_cs indicates whether the scenarioanalysis step is the one in which conversionoccurs (1) or not (0).
wt.si_n ScenarioName
wt.si_n specifies the name of the scenarioanalysis.
wt.si_p Scenario wt.si_p specifies the name of the scenario
©2020Oracle Corporation. All rights reserved 385 of 514
Parameter Name DescriptionStep Name analysis step.
wt.si_x ScenarioStepNumber
wt.si_x specifies the numeric position of thescenario analysis step.
wt.site Site ID wt.site indicates the site ID for one or moreevents on the same hit.
wt.sr Screenresolution
wt.sr indicates the web client’s screenresolution.
wt.srch Searchengine type
wt.srch differentiates a paid search engineresult from a reference to an organic searchengine result.
wt.ssl HTTPSenabled
wt.ssl indicates whether the hit's content issecured via HTTPS (1) or not (0).
wt.sv Server wt.sv identifies the name of the web serverthat served up the web content.
wt.sys Mobile AppVersion
wt.sys indicates the name of the mobile appevent.
wt.ti Page Title wt.ti identifies the HTML page title of theassociated web content or the name of themobile app in the case of the SDK.
wt.tm_domContentLoadedLoad time wt.tm_domContentLoaded indicates themilliseconds taken to fully load the content inthe browser, including the time needed torender content and execute downloadedscripts.
wt.tm_pageDns Pagedomainlookup time
wt.tm_pageDns indicates the millisecondstaken to lookup the domain name for thecurrent document.
wt.tm_pageDownload Pagedownloadtime
wt.tm_pageDownload indicates themilliseconds taken to download the markup.
wt.tm_pageReady Page loadtime
wt.tm_pageReady indicates the millisecondstaken before the page onReady event.
wt.tm_pageRedir Pageredirect time
wt.tm_pageRedir indicates the millisecondstaken for the redirect if a page redirect occurs.
wt.tm_serverConn Pageconnectiontime
wt.tm_serverConn indicates themilliseconds taken to connect to the serverand for the server to respond to theconnection request.
©2020Oracle Corporation. All rights reserved 386 of 514
Parameter Name Descriptionwt.tm_serverResponse Server
responsetime
wt.tm_serverResponse indicates themilliseconds taken to receive the page fromthe server.
wt.tm_tv Pluginversion
wt.tm_tv indicates the version of the pageload tracking tag plugin.
wt.tsrc Trafficsource
wt.tsrc classifies the origin of site traffic intoone of a list of possible values based on thereferrer of the collected data.
wt.tu URLtruncation
wt.tu indicates the maximum URL lengthlimitation was imposed by Microsoft InternetExplorer.
wt.tv JavaScripttag version
wt.tv specifies the version of the JavaScripttag that is currently deployed.
wt.tx_cartid Cart ID wt.tx_cartid indicates a unique ID for thevisitor's cart.
wt.tx_e TransactionEvent
wt.tx_e identifies the type of transaction andis used as qualifier in measure definitionsalong with wt.tx_u to determine whichproduct to count.
wt.tx_i Invoicenumber
wt.tx_i identifies the invoice number for thepurchase.
wt.tx_id Invoice date wt.tx_id identifies the UTC-based invoicedate of a purchase to prevent the erroneousrecording of purchases.
wt.tx_it Invoice time wt.tx_it identifies the UTC-based invoicetime of the purchase and is used to preventthe erroneous recording of purchases.
wt.tx_s TransactionSubtotal
wt.tx_s identifies the total cost for eachproduct in the order.
wt.tx_u Units wt.tx_u identifies the quantity in thetransaction.
wt.tz Time zone wt.tz indicates the web client's time zoneoffset from UTC.
wt.ul Userlanguage
wt.ul indicates the app or web client's userlanguage.
wt.vt_a_s New visitorfor account
(Deprecated) wt.vt_a_s indicates the first hitfrom a new visitor for a specified account.
wt.vt_d First hit ofday
(Deprecated) wt.vt_d indicates the first hit ofthe day from the visitor.
©2020Oracle Corporation. All rights reserved 387 of 514
Parameter Name Descriptionwt.vt_f First Visit wt.vt_f indicates a new or returning visitor
that accepts first-party cookies (1) or who hasdisabled first-party cookies (2). Thisparameter is no longer in use by OracleInfinity Analytics.
wt.vt_f_a New visitorfor anaccount
(Deprecated) wt.vt_f_a indicates a newvisitor for an account.
wt.vt_f_s First hit fornew visitorsession
(Deprecated) wt.vt_f_s indicates the first hitfrom a new visitor session.
wt.vt_s First hit ofnew session
(Deprecated) wt.vt_s indicates the first hitfor a new session.
wt.vtid Visitor ID (Deprecated) wt.vtid provides a hashedvisitor ID to sessionize visitors for use inreporting.
Ad parameters
Ad click
wt.ac specifies the name of an ad clicked to reach a particular web page. The click
must contain an external redirect back to the client and include the necessary code to
generate a hit to Infinity.
If a page contains multiple ads, you can design the page to respond to clicks so that
each click generates a hit.
Validvalue One or more semicolon-delimited alphanumeric strings
Syntax wt.ac=ad_nameExample wt.ac=Street_Main_-_Main6x6_1_02.17.11_
TireFinder;GlobalBanner1
©2020Oracle Corporation. All rights reserved 388 of 514
Ad view
wt.ad specifies the names of one or more semicolon-delimited ads viewed on a web
page.
Valid value One or more semicolon-delimited alphanumeric stringsSyntax wt.ad=ad_name[;…]Example wt.ad=ATV_HG_LN_1_05.14.12;ATV_HG_-_Slider_1_2.13.13_FlyATV
Browser and operating system parameters
Browser and operating system parameters identify technographic data for use with
Oracle Infinity Analytics.
Browser manufacturer
ext.browser.mfr identifies the browser manufacturer.
Valid value Alphanumeric stringSyntax ext.browser.mfr=manufacturer_nameExample ext.browser.mfr=Apple%20Inc.
Browser name
ext.browser.name identifies the name of the browser or browser group, such as
Chrome.
Valid value Alphanumeric stringSyntax ext.browser.name=browser_nameExample ext.browser.name=Safari
Browser rendering engine
ext.browser.renderer identifies the browser's rendering engine, such as GECKO.
©2020Oracle Corporation. All rights reserved 389 of 514
Valid value Alphanumeric stringSyntax ext.browser.renderer=rendering_engineExample ext.browser.renderer=WEBKIT
Browser type
ext.browser.type identifies the type of browser, such as email client or browser.
Valid value Alphanumeric stringSyntax ext.browser.type=browser_typeExample ext.browser.type=Browser%20(mobile)
Browser version
ext.browser.version identifies the browser version, such as 11.0.
Valid value Alphanumeric stringSyntax ext.browser.version=OS_versionExample ext.browser.version=7.11
Major browser version
ext.browser.vmajor identifies the major version of the browser.
Valid value Alphanumeric stringSyntax ext.browser.vmajor=major_versionExample ext.browser.vmajor=7
Minor browser version
ext.browser.vminor identifies the minor version of the browser, which is typically the
second decimal.
Valid value Alphanumeric stringSyntax ext.browser.vminor=minor_versionExample ext.browser.vminor=0
©2020Oracle Corporation. All rights reserved 390 of 514
OSmanufacturer
ext.os.mfr identifies the operating system manufacturer, such as Microsoft.
Valid value Alphanumeric stringSyntax ext.os.mfr=OS_manufacturer_nameExample ext.os.mfr=Research%20In%20Motion%20Limited
OSname
ext.os.name identifies the name of the operating system, such as Android.
Valid value Alphanumeric stringSyntax ext.os.name=OS_nameExample ext.os.name=BlackBerryOS
Campaign parameters
Use the following campaign parameters to populate custom reports that include
information on campaigns:
l Campaign event
l Campaign ID
Campaign event
wt.mc_ev identifies the ad event type, such as click for an ad clickthrough event.
Other wt.mc_ev values include e-mail open, download, and view. You can also
specify custom values.
Valid valueAlphanumeric stringSyntax wt.mc_ev=campaign_event_typeExample wt.mc_ev=click
©2020Oracle Corporation. All rights reserved 391 of 514
Campaign ID
wt.mc_id associates pages with a specific campaign.
Valid valueAlphanumeric stringSyntax wt.mc_id=campaign_IDExample wt.mc_id=10001
Important: Multiple IDs are not supported and no errors are logged.
If you were to specify multiple campaigns (not recommended), the campaign ID strings
are processed as a single string and attribution processes will consider it to be a single
campaign. For example, if you were to specify the following parameter value, only a
single campaign ID would be stored.
wt.mc_id=Campaign01;Campaign02;Campaign03
This campaign would appear incorrectly in reports as
Campaign01;Campaign02;Campaign03. All campaign attribution, such as revenue or
engagement, is applied to the single string. If the same set of campaigns is specified in a
different order, it is considered to be a new separate campaign.
Page URL
wt.es identifies the page a user was on when an event occurred. The JavaScript tag
forms it by concatenating the host name (dcssip) and URI stem (dcsuri) parameters.
This tracks click-based events and the source page from which they originated. For
example, when a user clicks on a link, the event source shows what page the user was
©2020Oracle Corporation. All rights reserved 392 of 514
viewing when the click occurred. In the case of a page view, these URLs are identical. In
the case of a click, the dcsuri is the destination URL of the click and the event source is
the source URL of the click.
Valid valueAlphanumeric stringSyntax wt.es=event_sourceExample wt.es=www.example.com%2F2%2Fdvg%2Fdirt-bike.aspx
Content parameters
Use the following content parameters to populate custom reports that include information
on web content.
l Consumer-generatedmedia event
l Consumer-generatedmedia type
l RIA content
l RIA event
l RIA feature
l RIA name
l RIA name
l RSS event
l RSS feed
l Website test variant
Consumer-generatedmedia event
wt.cgm_ev identifies the consumer-generated media (CGM) event that occurred, such
as a post (p) or comment (c). You can use this parameter with wt.cgm_t.
©2020Oracle Corporation. All rights reserved 393 of 514
Valid value Alphanumeric stringSyntax wt.cgm_ev=event_codeExample wt.cgm_ev=c
Consumer-generatedmedia type
wt.cgm_t identifies the type of consumer-generated media. You can use this parameter
with wt.cgm_ev. In the following example, the consumer-generated media type is blog
and the event is a comment (c).
Valid value Alphanumeric stringSyntax wt.cgm_t=media_typeExample wt.cgm_t=blog&wt.cgm_ev=c
RIA content
wt.ria_c identifies the rich internet application (RIA) content. You can use it with the
following parameters to get more complete RIA details:
l wt.ria_a: RIA name
l wt.ria_ev: RIA event type
l wt.ria_f: RIA feature
Valid value Alphanumeric stringSyntax wt.ria_c=RIA_contentExample =
RIA event
wt.ria_ev identifies the rich internet application (RIA) event that occurred, such as the
selection of a RIA button or feature. Common RIA event values are play, spin, and
zoom.
©2020Oracle Corporation. All rights reserved 394 of 514
Valid value Alphanumeric stringSyntax wt.ria_ev=RIA_eventExample wt.ria_ev=zoom
RIA feature
wt.ria_f identifies the rich internet application (RIA) feature that was accessed. You
can use it with the following parameters to get more complete RIA details:
l wt.ria_a: RIA name
l wt.ria_c: RIA content
l wt.ria_ev: RIA event type
Validvalue Alphanumeric string
Syntax wt.ria_f=RIA_featureExample wt.ria_f=Play&wt.ria_a=Homepage%20interactive&wt.ria_
c=Vegas%2 0video
RIA name
wt.ria_a identifies the name of the rich internet application (RIA) that was accessed.
You can use wt.ria_a with the following parameters to get more complete RIA details:
l wt.ria_c: RIA content
l wt.ria_ev: RIA event type
l wt.ria_f: RIA feature
In the following example, wt.ria_a identifies the RIA application as Homepage
interactive, the RIA content as Vegas video, the RIA feature used as play, and the
RIA event type as play.
Valid Alphanumeric string
©2020Oracle Corporation. All rights reserved 395 of 514
valueSyntax wt.ria_a=RIA_nameExamplewt.ria_a=Homepage%20interactive&wt.ria_
c=Vegas%20video%201&wt.ria_f=Play&wt.ria_ev=play
RSS article
wt.rss_a identifies the rich site summary (RSS) article. Use it with wt.rss_ev=a.
The following example indicates that the RSS article name "Global shortage of flu
vaccine" was the object of an article read request event.
Valid value Alphanumeric stringSyntax wt.rss_a=article_nameExample wt.rss_a=Global%20shortage%20of%20flu%20vaccine&wt.rss_ev=a
RSS event
wt.rss_ev indicates the RSS-related event, such as subscription. Supported RSS-
related event codes include:
l a: Article request
l f: Feed request
l s: Subscription
Valid value Alphanumeric stringSyntax wt.rss_ev=event_codeExample wt.rss_ev=s
RSS feed
wt.rss_f identifies the rich site summary (RSS) subscription feed.
©2020Oracle Corporation. All rights reserved 396 of 514
To indicate that a read request was made for an RSS feed, use this parameter with
wt.rss_ev=f. For example, wt.rss_f=Sports&wt.rss_ev=f indicates that the RSS
feed name "Sports" was the object of an RSS feed request event.
To indicate that a subscription request was made for an RSS feed, use this parameter
with wt.rss_ev=s. such as the following example where the “News” feed name was the
object of a subscription event.
Valid value Alphanumeric stringSyntax wt.rss_f=feed_nameExample wt.rss_f=News&wt.rss_ev=s
Website test variant
wt.com_v identifies the website test variant used to compare activity, such as the
scenario step conversion rate of two or more test variants.
Valid value Alphanumeric stringSyntax wt.com_v=test_variant_nameExample wt.com_v=Product%20Layout%20B
Content group parameters
You can use the wt.cg_n and wt.cg_s parameters specify multiple content groups and
subcontent groups per page.
If none of the content groups on a particular page contain subcontent groups, the
optional wt.cg_s parameter is ignored.
Content group name
wt.cg_n identifies one or more semicolon-delimited content group names.
©2020Oracle Corporation. All rights reserved 397 of 514
Valid value One or more semicolon-delimited alphanumeric stringsSyntax wt.cg_n=name[;…]Example wt.cg_n=Opinion;Entertainment
Content subgroup name
wt.cg_s identifies one or more semicolon-delimited content subgroup names.
Valid value One or more semicolon-delimited alphanumeric stringsSyntax wt.cg_s=name[;…]Example wt.cg_s=Kids%2520Riding%2520Gear;Student
PageURI
data.page-uri indicates the URI of the page or the mobile app screen.
Valid value Alphanumeric stringSyntax data.page-uri=URIExample data.page-uri=www.example.comReport category ContentAdvanced options 1. Decode
2. Decode
3. Trim leading and trailing white space
4. Change to lowercase
Conversion name parameter
wt.conv specifies a name used to identify a customer conversion event, which can be
any conversion event that you define on your site or app.
The custom conversion event specified can be any goal you define for an action they
want their visitors to achieve. For example, a user submitting a form, watching a video,
©2020Oracle Corporation. All rights reserved 398 of 514
reading a document, or viewing a campaign landing page could be specified as a
conversion event.
Valid value Alphanumeric stringSyntax wt.conv=nameExample wt.conv=View%20Coupons
Conversion Step parameter
wt.si_cs indicates whether the scenario analysis step is the one in which conversion
occurs (1) or not (0).
In addition to the wt.si_cs parameter, the web server must also pass a step parameter
for this page (wt.si_p or wt.si_x).
If multiple semicolon-delimited wt.si_cs values are passed along with other scenario
analysis parameters, the values are correlated.
Valid value 1 or 0Syntax wt.si_cs=conversion_state[;…]Example wt.si_cs=1
Note: wt.si_cs is not included in any standard reports.
Cookie detection parameters
Cookie detection parameters allow Oracle Infinity to tie a visitor's first hit with the rest of
the visitor session.
©2020Oracle Corporation. All rights reserved 399 of 514
Oracle Infinity uses a single data collection first-party cookie (ORA_FPC) containing a
randomly generated visitor ID GUID. Example: 79c88e25-bceb-4b10-a387-28ae63e2fa45
Cookies enabled
wt.ce indicates whether the visitor has first-party cookies enabled (1) or disabled (0).
Valid value l 0: The visitor has disabled first-party cookies.
l 1: The visitor has first-party cookies enabled.
Syntax wt.ce={0|1}Example wt.ce=1
First-party cookie
wt.co_f is a random value used as a visitor ID and stored in a first-party cookie. If you
enable first-party cookie tracking in the Oracle Infinity Tag, the value of wt.co_f is
passed on every hit for visitor session tracking. Depending on the cookie retention
configuration, its value can be used to recognize the visitor upon subsequent sessions to
differentiate between new and returning visitors.
Valid value A browser-unique random 16-character hexadecimal numberSyntax wt.co_f=random_16-character_hex_IDExample wt.co_f=bcd21640cc11794d
Date parameter
datetime_utc indicates the date and time in UTC format based on the value of wt.ets
(if sent). If wt.ets is not sent, Oracle Infinity's data collection server generates the value
of datetime_utc when it receives the event data.
©2020Oracle Corporation. All rights reserved 400 of 514
Valid value Alphanumeric string of the date and time in UTC formatSyntax datetime_utc=yyyy-MM-ddTHH:mm:ss.SSSZExample datetime_utc=2018-08-22T20:48:28.000Z
DCSID parameter
(Deprecated) wt.dcs_id is a unique ID associated with a data source for data collected
from a website or app. This parameter becomes most useful when tracking multiple
DCSIDs from multiple sites. In this case, you can use this parameter to segment your
report data by site. For example, you can use this parameter as a dimension in a custom
report to report on activity for each site.
Valid valueAlphanumeric UTF-8 stringSyntax wt.dcs_id=dcsxxxxxxxxxxxxxxxxxxxxxx_xxxxExample wt.dcs_id=dcs1213141516171819foobar_3w2l
Device parameters
Device parameters identify the type of device used, such as mobile, tablet, or smart
phone. These parameters are added after data is collected by an Oracle Infinity data
augmentation service. Values may change as newer and more accurate versions of the
lookup data become available.
Android
ext.device.androidos indicates whether the device is distributed with Android OS
preinstalled (true) or not (false).
Valid value true or falseSyntax ext.device.androidos={true|false}Example ext.device.androidos=true
©2020Oracle Corporation. All rights reserved 401 of 514
BadaOS
ext.device.bada indicates whether the device is distributed with Bada OS pre-
installed (true) or not (false).
Valid value true or falseSyntax ext.device.bada={true|false}Example ext.device.bada=false
Desktop browser
ext.device.dsktpbr indicates whether the device is using a desktop browser (true)
or not (false).
Valid value true or falseSyntax ext.device.dsktpbr={true|false}Example ext.device.dsktpbr=false
Developer platform
ext.device.devp indicates the commercial name of the developer platform that the
device was built around (if any).
Valid value Alphanumeric stringSyntax ext.device.devp=developer_platformExample ext.device.devp=Nokia Series 40
Developer platform version
ext.device.devpv indicates the version of the developer platform that the device was
built around (if any).
Valid value Alphanumeric stringSyntax ext.device.devpv=developer_platform_versionExample ext.device.devpv=1.1
©2020Oracle Corporation. All rights reserved 402 of 514
Device ID
ext.device.id provides the unique ID of the device if properly detected.
Valid value IntegerSyntax ext.device.id=device_IDExample ext.device.id=3951865
Device year
ext.device.yrel indicates the year the device was released or announced.
Valid value IntegerSyntax ext.device.yrel=YYYYExample ext.device.yrel=2017
Flash capability
ext.device.flash indicates whether the device supports Flash (true) or not (false).
Valid value true or falseSyntax ext.device.flash={true|false}Example ext.device.flash=true
Game console
ext.device.gamec indicates whether the device is a game console (true) or not
(false).
Valid value true or falseSyntax ext.device.gamec={true|false}Example ext.device.gamec=false
©2020Oracle Corporation. All rights reserved 403 of 514
HTML5 support
ext.device.html5c indicates whether the device's browser supports HTML5 (true) or
not (false).
The canvas element indicates support for HTML5.
Valid value true or falseSyntax ext.device.html5c={true|false}Example ext.device.html5c=false
HTTPS capability
ext.device.https indicates whether the device's browser supports secure sockets
layer (true) or not (false).
Support of different certificate authorities is independent from the ability of supporting
SSL. Verify that a page protected with SSL is properly displayed.
Valid value true or falseSyntax ext.device.https={true|false}Example ext.device.https=true
iOS
ext.device.iOS indicates whether the device is distributed with iOS preinstalled
(true) or not (false).
Valid value true or falseSyntax ext.device.iOS={true|false}Example ext.device.iOS=true
Marketing name
ext.device.mktn indicates the marketing name for a device.
©2020Oracle Corporation. All rights reserved 404 of 514
Valid value Alphanumeric stringSyntax ext.device.mktn=marketing_nameExample ext.device.mktn=Samsung Galaxy Note 8
Media player
ext.device.medp indicates whether the device is a media player (true) or not (false).
Valid value true or falseSyntax ext.device.medp={true|false}Example ext.device.medp=false
Mobile device
ext.device.mobile indicates whether the device is meant for use on the move (true)
or not (false).
Valid value true or falseSyntax ext.device.mobile={true|false}Example ext.device.mobile=true
Mobile phone
ext.device.smphone indicates whether the device is a mobile phone (true) or not
(false).
Valid value true or falseSyntax ext.device.smphone={true|false}Example ext.device.smphone=true
Model name
ext.device.model indicates the model name of the device, browser, or other
component (such as Firefox).
©2020Oracle Corporation. All rights reserved 405 of 514
Valid value Alphanumeric stringSyntax ext.device.model=model_nameExample ext.device.model=iPhone
OEM name
ext.device.brand indicates the name of the original equipment manufacturer (OEM)
of the device, browser, or other component (such as Mozilla).
Valid value Alphanumeric stringSyntax ext.device.brand=OEM_nameExample ext.device.brand=Apple
OS version
ext.device.osver indicates the version of the preinstalled operating system, such as
6_1_2 or null if not defined.
Valid value Alphanumeric stringSyntax ext.device.osver=OS_versionExample ext.device.osver=7_0_2
Reading device
ext.device.ereader indicates whether the device is a reading device (true) or not
(false).
Valid value true or falseSyntax ext.device.ereader={true|false}Example ext.device.ereader=false
RIM OS
ext.device.rim indicates whether the device is distributed with RIM OS preinstalled
(true) or not (false).
©2020Oracle Corporation. All rights reserved 406 of 514
Valid value true or falseSyntax ext.device.rim={true|false}Example ext.device.rim=false
Screen resolution
ext.device.scres indicates the width and height of the device screen.
Valid value Alphanumeric stringSyntax ext.device.scres=widthxheightExample ext.device.scres=1920x1200
Set-top box
ext.device.stb indicates whether the device is a set-top box (true) or not (false).
Valid value true or falseSyntax ext.device.stb={true|false}Example ext.device.stb=false
SymbianOS
ext.device.symb indicates whether the device is distributed with Symbian OS
preinstalled (true) or not (false).
Valid value true or falseSyntax ext.device.symb={true|false}Example ext.device.symb=false
Tablet
ext.device.tablet indicates whether the device is a tablet (true) or not (false).
Valid value true or falseSyntax ext.device.tablet={true|false}Example ext.device.tablet=false
©2020Oracle Corporation. All rights reserved 407 of 514
Television
ext.device.tv indicates whether the device is a television (true) or not (false).
Valid value true or falseSyntax ext.device.tv={true|false}Example ext.device.tv=false
Touchscreen
ext.device.touch indicates whether the device has a touchscreen (true) or not
(false).
Valid value true or falseSyntax ext.device.touch={true|false}Example ext.device.touch=true
WebOS
ext.device.webos indicates whether the device is distributed with WebOS preinstalled
(true) or not (false).
Valid value true or falseSyntax ext.device.webos={true|false}Example ext.device.webos=false
WindowsMobile
ext.device.winm indicates whether the device is distributed with Windows Mobile
preinstalled (true) or not (false).
Valid value true or falseSyntax ext.device.winm={true|false}Example ext.device.winm=false
©2020Oracle Corporation. All rights reserved 408 of 514
Windows Phone
ext.device.winp indicates whether the device is distributed with Windows Phone
preinstalled (true) or not (false).
Valid value true or falseSyntax ext.device.winp={true|false}Example ext.device.winp=false
Div or table parameter
wt.nv contains the ID or class of the parent <div/> or <table/> of the element that
was clicked so that you can track the corresponding page areas.
Valid valueAlphanumeric stringSyntax wt.nv={ID|class}Example wt.nv=grid_12
Encoding conversion plugin parameter
The encoding conversion plugin uses the wt.dep parameter during the character
encoding conversion process.
wt.dep contains a semicolon-delimited list of custom DCSext query parameters on a
web page. The encoding conversion plugin uses this information to identify the
parameters that are known to be encoded in UTF-8. For example, a web page that
contains DCSext.abc=655 and DCSext.xyz=889 is captured by the Infinity tag as
wt.dep=abc;xyz.
The Infinity tag generates this parameter when the gi18n global variable is set to true
and a web page contains DCSext parameters.
©2020Oracle Corporation. All rights reserved 409 of 514
Valid value A string with one or more semicolon-delimited DCSext parametersSyntax WT.dep=DCSext_parameter1;DCSext_parameter2Example WT.dep=abc;xyz
Note: Do not use this parameter for collecting data.
Event tracking parameter
wt.dl specifies a numeric identifier for the kind of event tracked, which are used for
event-level filtering and reporting. Some values are also used by Oracle Infinity Tag
plugins to modify collected data from various event types.
Valid valueA numeric event IDSyntax wt.dl=event_IDExample wt.dl=0
wt.dl supports the following event IDs:
ID Event Description0 Page view Used by Oracle Infinity Analytics to determine what events are
considered page views1 Click Used by Oracle Infinity Analytics to determine what events are
considered clicks20 Download Used to differentiate a download action from other event types in
Infinity reporting21 Anchor Used to differentiate an anchor click action from other event types in
Infinity reporting22 JavaScript
link clickUsed to differentiate a JavaScript link click action from other eventtypes in Infinity reporting
23 mailto: click Used to differentiate a mailto: link click action from other event typesin Infinity reporting
24 Off-site linkclick
Used to differentiate off-site link click actions from other event typesin Infinity reporting
©2020Oracle Corporation. All rights reserved 410 of 514
ID Event Description25 Right-click
downloadUsed to differentiate right-click download actions from other eventtypes in Infinity reporting
26 Form GETmethod
Used to differentiate form GET actions from other event types inInfinity reporting Generated when a form button is clicked.Button is enclosed inside a form, and the method is GET.
27 Form POSTmethod
Used to differentiate form POST actions from other event types inInfinity reporting
28 Form inputclick
Used to differentiate form field click actions from other event types inInfinity reporting
29 Form buttonclick
Used to differentiate form button click actions from other event typesin Infinity reporting
40 Videoimpression
Used to differentiate a video view action from other event types inInfinity reporting
41 Video event Used to differentiate a video interaction event (such as stop, play, ornext clip) from other event types in Infinity reporting
50 On-site adimpression
Used to differentiate an on-site ad view event from other event typesin Infinity reporting
60 -61
Mobile SDKevent Reserved for use in mobile SDK view data
65 Slide showinteraction
Used to differentiate a slide show or carousel action from other eventtypes in Infinity reporting
70 Page loadtiming values Used with plugins to track page load timing values
80 -84
Maxymiserevents
Reserved for Maxymiser events used in Maxymiser reporting inOracle Infinity Analytics
85 -89
Responsysevents
Reserved for Responsys events used in Responsys reporting inOracle Infinity Analytics
90 -94
Eloqua events Reserved for Eloqua events used in Eloqua reporting in InfinityAnalytics
99 Miscellaneousclick
Used by legacy clients as a miscellaneous click event (an event thatdoes not conform to a known reservation)
111Facebookplugin event
Used to differentiate a click action tracked by the Facebook pluginfrom other event types in Infinity reporting
©2020Oracle Corporation. All rights reserved 411 of 514
External visitor parameter
wt.dcsvid identifies an optional unique custom visitor ID you can assign to your visitors
in other systems. This is separate and distinct from automatically generated visitor ID
parameters sent by the Oracle Infinity Tag. If you do not send a custom value, this
parameter will not be present on the hit.
If wt.dcsvid is present on a collected event, a hash of its value is used instead of
session.visitor_id (Visitor ID).
You can manually pass wt.dcsvid to send an alternate visitor ID (such as from an
internal CRM system) to Oracle Infinity instead of letting the Oracle Infinity Tag randomly
generate a Visitor ID.
Valid valueAlphanumeric stringSyntax wt.dcsvid=identifierExample wt.dcsvid=500536538
Geolocation parameters
Geolocation parameters identify cities, countries, and regions. These parameters are
added to Oracle Infinity data after collection by a data augmentation service. They are
visible in streams data.
Area Code
ext.geo.area indicates the US telephone area code.
Valid value Alphanumeric stringSyntax ext.geo.area=area_codeExample ext.geo.area=503
©2020Oracle Corporation. All rights reserved 412 of 514
CBSA code
ext.geo.cbsac indicates the core-based statistical area (CBSA) internal lookup code
(US only).
Valid value Alphanumeric stringSyntax ext.geo.cbsac=CBSA_lookup_codeExample ext.geo.cbsac=17460
CBSA title
ext.geo.cbsan indicates the CBSA title for the location, such as San Francisco-
Oakland-Fremont, CA.
Valid value Alphanumeric stringSyntax ext.geo.cbsan=CBSA_titleExample ext.geo.cbsan=Cleveland-Elyria-Mentor,OH
CBSA type
ext.geo.cbsat indicates the type of CBSA, which can be a metropolitan (metro) or a
micro area.
Valid value Alphanumeric stringSyntax ext.geo.cbsat={metro|micro}Example ext.geo.cbsat=metro
City code
ext.geo.cic identifies the numeric code for the city, such as 4782 for London, UK,
which is useful for filtering.
Valid value Alphanumeric stringSyntax ext.geo.cic=city_codeExample ext.geo.cic=107
©2020Oracle Corporation. All rights reserved 413 of 514
City
ext.geo.city identifies the full name of the city, such as London.
Valid value Alphanumeric stringSyntax ext.geo.city=city_nameExample ext.geo.city=cleveland
Company
ext.geo.co indicates the name of the company. If no specific company name exists, the
ISP name appears.
Valid value Alphanumeric stringSyntax ext.geo.co=company_nameExample ext.geo.co=
Continent code
ext.geo.cnc indicates the numeric code for the continent.
Valid value Alphanumeric stringSyntax ext.geo.cnc=continent_codeExample ext.geo.cnc=4
Continent name
ext.geo.continent indicates the continent name.
Valid value Alphanumeric stringSyntax ext.geo.continent=continent_nameExample ext.geo.continent=Asia
Country
ext.geo.country indicates the full name of the country.
©2020Oracle Corporation. All rights reserved 414 of 514
Valid value Alphanumeric stringSyntax ext.geo.country=country_nameExample ext.geo.country=pakistan
Country three-letter code
ext.geo.cc3 indicates the ISO 3166-1 alpha-3 country code, such as GBR.
Valid value Alphanumeric stringSyntax ext.geo.cc3=country_codeExample ext.geo.cc3=CAN
Country two-letter code
ext.geo.cc2 indicates the ISO 3166-1 alpha-2 country code, such as US.
Valid value Alphanumeric stringSyntax ext.geo.cc2=country_codeExample ext.geo.cc2=US
CSA code
ext.geo.csac identifies the combined statistical area (CSA) code, which is similar to
the core-based statistical area (CBSA).
Valid value Alphanumeric stringSyntax ext.geo.csac=CSA_codeExample ext.geo.csac=266
CSA title
ext.geo.csan indicates the combined statistical area (CSA) title, such as San Jose-
San Francisco-Oakland.
Valid value Alphanumeric stringSyntax ext.geo.csan=CSA_titleExample ext.geo.csan=Portland-Vancouver-Salem
©2020Oracle Corporation. All rights reserved 415 of 514
Daylight saving time
ext.geo.dst indicates whether the region is observing daylight saving time (y) or not
(n).
Valid value y or nSyntax ext.geo.dst={y|n}Example ext.geo.dst=n
Home or business
ext.geo.hb indicates whether the hit is from a home or business based on registration
of the IP address with an ISP.
Valid value Alphanumeric stringSyntax ext.geo.hb=IP_registration_typeExample ext.geo.hb=business
ISP domain
ext.geo.ispd indicates the internet service provider (ISP) domain name, such as
comcast.net.
Valid value Alphanumeric stringSyntax ext.geo.ispd=ISP_domainExample ext.geo.ispd=example.net
ISP name
ext.geo.isp indicates the name of the ISP.
Valid value Alphanumeric stringSyntax ext.geo.isp=ISP_company_nameExample ext.geo.isp=Example
©2020Oracle Corporation. All rights reserved 416 of 514
Latitude
ext.geo.latitude indicates the approximate latitude coordinate, such as -051.506.
The value of this parameter is derived from the ZIP code associated IP address when
available. It is not derived from the value of the wt.gc parameter.
Valid value Alphanumeric stringSyntax ext.geo.latitude=latitude_coordinateExample ext.geo.latitude=69.1209
Longitude
ext.geo.longitude indicates the approximate longitude coordinate, such as -
000.127.
The value of this parameter is derived from the ZIP code associated IP address when
available. It is not derived from the value of the wt.gc parameter.
Valid value Alphanumeric stringSyntax ext.geo.longitude=longitude_coordinateExample ext.geo.longitude=44.5504
Metro code
ext.geo.mtc indicates the 2-6 digit metro codes, such as 505 for Detroit.
Valid value Alphanumeric stringSyntax ext.geo.mtc=metro_codeExample ext.geo.mtc=510
Metropolitan area name
ext.geo.metro indicates the name of the metropolitan area.
Valid value Alphanumeric string
©2020Oracle Corporation. All rights reserved 417 of 514
Syntax ext.geo.metro=metro_nameExample ext.geo.metro=london
Network type
ext.geo.nt indicates the type of network connection, such as broadband, xdsl, cable,
or mobile.
Valid value Alphanumeric stringSyntax ext.geo.nt=network_connection_typeExample ext.geo.nt=mobile
Region
ext.geo.rc identifies the two-letter region code, such as NY.
Valid value Alphanumeric stringSyntax ext.geo.rc=region_codeExample ext.geo.rc=OR
Region name
ext.geo.region indicates the name of the region.
Valid value Alphanumeric stringSyntax ext.geo.region=region_nameExample ext.geo.region=saopaulo
Region language
ext.geo.plang indicates the primary language in the region.
Valid value Alphanumeric stringSyntax ext.geo.plang=primary_languageExample ext.geo.plang=english
©2020Oracle Corporation. All rights reserved 418 of 514
State
ext.geo.mts indicates the state of the visitor's designated market area (DMA).
Valid value Alphanumeric stringSyntax ext.geo.mts=stateExample ext.geo.mts=NY
Time zone offset
ext.geo.tz identifies the UTC offset.
Valid value Alphanumeric stringSyntax ext.geo.tz=UTC_offsetExample ext.geo.tz=+5
Zip Code
ext.geo.zip indicates the postal code.
Valid value Alphanumeric stringSyntax ext.geo.zip=postal_codeExample ext.geo.zip=03301
HTTP header parameter
wt.hdr identifies the value of the custom HTTP headers, such as those inserted by
third-party load balancers, application servers, or web server plugins. It is assigned the
value of the specified HTTP header. If the header is present in the incoming request,
then Oracle Infinity Data Connector appends the header name to wt.hdr. and the
header value is assigned. For example, if you want to log the Accept: header and it
comes in as “Accept: */*”, the resulting parameter would be wt.hdr.Accept=*/*.
©2020Oracle Corporation. All rights reserved 419 of 514
Valid valueA percent-encoded alphanumeric string of the HTTP header valueSyntax wt.hdr.HTTP_header=HTTP_header_valueExample wt.hdr.Accept=*/*
HTTPS enabled parameter
HTTPS enabled
wt.ssl indicates whether the hit's content is secured via HTTPS (1) or not (0).
Valid value 0 or 1Syntax wt.ssl={0|1}Example wt.ssl=1
Invoice parameters
Infinity uses invoice data to prevent the erroneous recording of purchases, such as when
a visitor refreshes a page after making a purchase or returns to the page to check the
status.
For example:
1. A visitor makes a purchase and the purchase is accounted with an invoice date (wt.tx_id).
2. The visitor saves a bookmark to the page.
3. Five days later, the visitor goes to the bookmarked page and a new hit is sent to Infinity.
4. Infinity sees that the wt.tx_id parameter contains the original purchase date, which is
several days older than the current hit and determines that this is not an actual purchase.
©2020Oracle Corporation. All rights reserved 420 of 514
Invoice date
wt.tx_id identifies the UTC-based invoice date of a purchase to prevent the erroneous
recording of purchases. If the invoice date is three days older than the date of the
session, it is assumed that the hit is not an actual purchase but a view of a previously
bookmarked or saved page. If the invoice date was less than three days than the date of
the session, wt.tx_i is used to determine if the hit is a valid purchase.
Valid valueA UTC date in mm/dd/yy or mm/dd/yyyy formatSyntax wt.tx_id=mm/dd/yyyyExample wt.tx_id=09/29/2017
Invoice number
wt.tx_i identifies the invoice number for the purchase. Infinity makes sure that a page
view with an invoice number is a new purchase and not the result of a visitor refreshing
the page after making a purchase. A page view with an invoice number is compared to
the last three invoices for a visitor. If the wt.tx_i value does not match the last three
invoices, it is considered to be a new purchase.
Valid valueAlphanumeric UTF-8 stringSyntax wt.tx_i=invoice_numberExample wt.tx_i=110525-20170707
Invoice time
wt.tx_it identifies the UTC-based invoice time of the purchase and is used to prevent
the erroneous recording of purchases. It helps determine when an invoiced purchase
was made and is used along with wt.tx_id and wt.tx_i to determine if the purchase
is valid.
Valid valueA time stamp in hh:mm:ss formatSyntax wt.tx_it=hh:mm:ssExample wt.tx_it=20:35:14
©2020Oracle Corporation. All rights reserved 421 of 514
IP address masking parameter
dcsipa allows you to mask IP addresses by specifying the optional value of 1.
Note: Masking the IP address impacts the reporting granularity of geolocation
reports.
To mask IP addresses collected by Oracle Infinity, do one of the following:
l Include the following meta tag in the header of all pages containing the Oracle Infinity Tag:
<meta name="DCS.dcsipa" content="1" />
l Work with your Oracle Infinity solutions consultant to implement the IP mask tag plugin.
l Work with your Oracle Infinity solutions consultant to preload the Oracle Infinity Tag with a
mutation to add dcsipa=1 to every hit.
If you have a noscript call, you should modify the <noscript> portion of your Oracle
Infinity Tag so that it includes &dcsipa=1.
Validvalue
1: IP addresses logged by Oracle Infinity data collection servers are maskedby replacing the last octet of IPV4 and the last 5 segments of IPV6 addresseswith 0. If a dcsipa value of 1 is not specified, IP addresses will not be masked.
Syntax dcsipa=1Exampledcsipa=1
©2020Oracle Corporation. All rights reserved 422 of 514
Note The dcsipa parameter is included in the default whitelist. If you are also
using the block list tag plugin with a custom whitelist, include dcsipa in the custom
whitelist.
JavaScript tag version parameter
wt.tv specifies the version of the JavaScript tag that is currently deployed. The
JavaScript tag contains this parameter, which can be useful for technical support when
troubleshooting a tagging problem.
Valid valueAlphanumeric stringSyntax wt.tv=major_version.minor_versionExample wt.tv=10.2.1
Mobile web and app parameters
These parameters are used with the client libraries for mobile apps to track both web
and app activity associated with mobile devices.
These values have a maximum length of 512 characters.
App ad click
wt.a_ac indicates that an ad was clicked within a mobile app.
Valid value 1Syntax wt.a_ac=1
©2020Oracle Corporation. All rights reserved 423 of 514
App ad impression
wt.a_ai indicates that one or more ads was viewed in a mobile app. It is typically used
with the wt.a_an parameter to specify one or more ads viewed in a single app screen.
Valid value 1Syntax wt.a_ai=1
App ad name
wt.a_an specifies one more names of ads presented in a mobile app.
Valid value One or more semicolon-delimited alphanumeric stringsSyntax wt.a_an=name[;…]Example wt.a_an=ad_name1;ad_name2
App category
wt.a_cat specifies a category of mobile app, such as Games, Health & Wellness, or
Productivity. It can be used to report on the usage of different types of apps.
Valid value Alphanumeric UTF-8 stringSyntax wt.a_cat=app_categoryExample wt.a_cat=News
App publisher
WT.a_pub specifies the developer, publisher, or vendor for a mobile app. This parameter
is required.
Valid value Alphanumeric stringSyntax wt.a_pub=app_publisherExample wt.a_pub=Example%20Internet%20Services
©2020Oracle Corporation. All rights reserved 424 of 514
Connection type
wt.ct specifies the connection type used to send data.
Many mobile devices go in and out of various connection states such as Wi-Fi, 4G, or
Edge. To avoid sending a flood of this data as the connection fluctuates, the best
practice is to send this parameter only once per session. The Infinity mobile app libraries
use this best practice.
Valid value Alphanumeric UTF-8 stringSyntax wt.ct=connection_typeExample wt.ct=WiFi
Country
wt.g_co specifies the country of origin for mobile traffic using a country code.
Valid value An ISO 3166-1 alpha-2 country codeSyntax wt.g_co=country_codeExample wt.g_co=US
Devicemodel
wt.dm specifies the model of the mobile device that an application is running on, such
as wt.dm=iPhone%207.
Valid value Alphanumeric UTF-8 stringSyntax wt.dm=device_modelExample wt.dm=ipad-9.7
Event time stamp
wt.ets indicates the Unix time stamp for the event measured in milliseconds. This time
stamp is recorded so events that occur when a device is offline can be sent as an
ordered batch when the device comes back online.
©2020Oracle Corporation. All rights reserved 425 of 514
Valid value Unix time (in seconds since Jan. 1 1970 UTC) of the eventSyntax wt.ets=Unix_timeExample wt.ets=1500305589
See also: Date parameter
Event type
wt.ev specifies the type of event activity on a mobile device, such as clicks, swipes, and
content views.
Valid value Alphanumeric UTF-8 stringSyntax wt.ev=event_typeExample wt.ev=view
Geolocation coordinates
wt.gc indicates the latitude and longitude of a mobile device. This parameter is only
collected from devices via Oracle Infinity mobile SDKs. It is not currently collected from
web browsers.
Important: Latitude and longitude data is not sent by default. To collect latitudeand longitude data:
1. You must enable its collection in the Oracle Infinity mobile SDKs.
2. You must enable its collection in your apps.
3. Users must then agree to turn on location services when they install your apps.
Valid value Alphanumeric UTF-8 stringSyntax wt.gc=latitude_coordinate,longitude_coordinateExample wt.gc=44.5504,69.1209
©2020Oracle Corporation. All rights reserved 426 of 514
Note: The values of the ext.geo.latitude and ext.geo.longitude
parameters is not derived from the value of wt.gc.
Mobile App Event Type
wt.sys indicates the name of the mobile app event. It is a standard parameter that can
be used to report on app events.
Valid value Alphanumeric stringSyntax wt.sys=event_nameExample wt.sys=startupReport category Mobile AppAdvanced options 1. Double decode
2. Trim leading and trailing white space
3. Change to lowercase
Mobile App Name
wt.a_nm specifies the name of the mobile app. It is a standard parameter that can be
used to report on the usage of different apps.
Valid value Alphanumeric stringSyntax wt.av=app_versionExample wt.av=v2.3.2Report category Mobile AppAdvanced options 1. Double decode
2. Trim leading and trailing white space
3. Change to lowercase
©2020Oracle Corporation. All rights reserved 427 of 514
Mobile App Version
wt.av specifies the version of the mobile app. It is a standard parameter that can be
used to report on the usage of different app versions.
Valid value Alphanumeric stringSyntax wt.a_nm=app_nameExample wt.a_nm=ExampleReport category Mobile AppAdvanced options 1. Double decode
2. Trim leading and trailing white space
3. Change to lowercase
Mobile Carrier
wt.a_dc specifies the mobile carrier. It is a standard parameter that can be used to
report app usage on different carriers.
Valid value Alphanumeric stringSyntax wt.a_dc=carrier_nameExample wt.a_dc=example mobileReport category Mobile AppAdvanced options 1. Double decode
2. Trim leading and trailing white space
3. Change to lowercase
Mobile SDKBuild
wt.sdk_v indicates the version of the Oracle Infinity mobile SDK. It is a standard
parameter in the Mobile App category that can be used to report app usage on different
carriers.
©2020Oracle Corporation. All rights reserved 428 of 514
Valid value Alphanumeric stringSyntax wt.sdk_v=SDK_versionExample wt.a_dc=26.0.2Report category Mobile AppAdvanced options 1. Double decode
2. Trim leading and trailing white space
3. Change to lowercase
On-site search parameters
You can use on-site search parameters to collect data on your on-site search tool.
Onsite Search Phrase
wt.oss identifies a word or a phrase that visitors submit for an on-site search.
Valid value Alphanumeric stringsSyntax wt.oss=search_phraseExample wt.oss=smartphone
Search success
wt.oss_r indicates whether an on-site search is successful by capturing the number of
search results. If its value is 0, the user's search failed. It should be specified on the
same hit as wt.oss.
Valid value 0 or any positive integerSyntax wt.oss_r=number_of_search_resultsExample wt.oss_r=321
©2020Oracle Corporation. All rights reserved 429 of 514
Page load parameters
Use the following parameters with the page load tracking tag plugin to populate custom
reports that include information about page load times.
l Load time
l Page connection time
l Page domain lookup time
l Page download time
l Page load time
l Page redirect time
l Plugin version
l Server response time
Load time
wt.tm_domContentLoaded indicates the milliseconds taken to fully load the content in
the browser, including the time needed to render content and execute downloaded
scripts.
Valid value StringSyntax wt.tm_domContentLoaded=millisecondsExample wt.tm_domContentLoaded=157.15
Page connection time
wt.tm_serverConn indicates the milliseconds taken to connect to the server and for the
server to respond to the connection request. For SSL connections, the value of this
parameter will typically be larger because it includes the time to negotiate the SSL
©2020Oracle Corporation. All rights reserved 430 of 514
connections and SOCKS authentication. When evaluating connection times, it helps to
segment by SSL and non-SSL connections.
Valid value StringSyntax wt.tm_serverConn=millisecondsExample wt.tm_serverConn=0.005
Page domain lookup time
wt.tm_pageDns indicates the milliseconds taken to lookup the domain name for the
current document.
Valid value StringSyntax wt.tm_pageDns=millisecondsExample wt.tm_pageDns=0.43
Page download time
wt.tm_pageDownload indicates the milliseconds taken to download the markup.
Valid value StringSyntax wt.tm_pageDownload=millisecondsExample wt.tm_pageDownload=30
Page load time
wt.tm_pageReady indicates the milliseconds taken before the page onReady event.
Valid value StringSyntax wt.tm_pageReady=millisecondsExample wt.tm_pageReady=20
Page redirect time
wt.tm_pageRedir indicates the milliseconds taken for the redirect if a page redirect
occurs. However, the data will typically be zero because the redirect will move the page
©2020Oracle Corporation. All rights reserved 431 of 514
before the tracking can occur—unless a callback is sent.
Valid value StringSyntax wt.tm_pageRedir=millisecondsExample wt.tm_pageRedir=0.53
Plugin version
wt.tm_tv indicates the version of the page load tracking tag plugin.
Valid value Alphanumeric stringSyntax wt.tm_tv=media_event_typeExample wt.clip_ev=LoadWhen sent All events
Server response time
wt.tm_serverResponse indicates the milliseconds taken to receive the page from the
server.
In the following example, the clip type is Windows Media, the name of the clip is Milton
Presents, and the clip event type is view:
Valid value StringSyntax wt.tm_serverResponse=millisecondsExample wt.tm_serverResponse=22.34
Page of interest parameter
wt.pi identifies a page of interest on your site or name of a mobile app . The page or
mobile app identifier can be any string.
Valid valueAlphanumeric stringSyntax wt.pi=page_IDExample wt.pi=poi1
©2020Oracle Corporation. All rights reserved 432 of 514
Page Title parameter
wt.ti identifies the HTML page title of the associated web content or the name of the
mobile app in the case of the SDK. It supports a single page title per web page and its
value overrides other methods of page title lookup. If it is found in a parameter list, its
value is used in reports. When present, no other page title lookups are performed.
If more than one page with the wt.ti parameter happen to be rebuilt to the same URL
(via URL rebuilding), the last page seen wins.
Valid value Alphanumeric UTF-8 stringSyntax wt.ti=titleExample wt.ti=Bank%20401k%20Investments
Persona service parameters
The persona service provides additional unique attributes for visitor sessions to enhance
accuracy. If the persona service is enabled for your account, the Oracle Infinity Tag can
encode and collect following persona parameters. You can then use them to build
dimensions, measures, and filters for Oracle Infinity Analytics reporting.
Device persona
wt.p_did provides a hash value that represents the device used by the visitor. This
parameter respects do not track (DNT) flags.
Valid value Alphanumeric stringSyntax wt.p_did=hashed_device_IDExample wt.p_did=BCD21640CC11794D
©2020Oracle Corporation. All rights reserved 433 of 514
New persona
wt.p_vid is generated if the wt.p_did does not match an existing persona. If the
persona is matched, wt.p_vid is identical to wt.p_pid.
Valid value Alphanumeric stringSyntax wt.p_vid=hashed_visitor_IDExample wt.p_vid=BCD21640CC11794D
Persona ID
wt.p_pid provides a hashed persona identifier generated by the persona service.
wt.p_pid is typically identical to wt.p_vid
Valid value Alphanumeric stringSyntax wt.p_pid=hashed_persona_IDExample wt.p_pid=BCD21640CC11794D
Session persona
wt.p_sid provides a unique ID for the session for use by the persona service. The
value will be provided by the session cookie if one exists.
Valid value Alphanumeric stringSyntax wt.p_sid=session_IDExample wt.p_sid=BCD21640CC11794D
Product parameters
You can use product parameters to report the transaction activity of products on your
site.
These parameters support multiple values except where noted. When multiple values
are passed, the order of the values is important because they correlate to other
©2020Oracle Corporation. All rights reserved 434 of 514
parameters. For example, multiple product values for the wt.pn_sku parameter
correlates to the number of units passed in the wt.tx_u parameter.
Note: You cannot use these parameters as dimensions and measures in scenario
analysis funnels. Products parameters are hit-based while scenario parameters
are session-based and should not be used together in reports.
Product SKU
wt.pn_sku identifies the stock keeping unit (SKU), which is a unique numeric identifier
of the product.
Valid valueOne or more semicolon-delimited alphanumeric stringsSyntax wt.pn_sku=product_SKU[;…]Example wt.pn_sku=CM22-R
Product identifier
wt.pn_id identifies a unique product ID. Product IDs typically map to multiple product
SKUs. For example, a model could have several SKUs corresponding the various
colors.
The following parameters are automatically added by the product translation process
when the product SKU is found in the product translation file:
lwt.pn_fa
lwt.pn_gr
lwt.pn_sc
lwt.pn_su
©2020Oracle Corporation. All rights reserved 435 of 514
Valid valueOne or more semicolon-delimited alphanumeric stringsSyntax wt.pn_id=product_ID[;…]Example wt.pn_id=AdvIsland
Product family
wt.pn_fa identifies the product family.
This parameter is automatically populated by the campaign and product DLL based on
the wt.pn_sku value.
Valid valueOne or more semicolon-delimited alphanumeric stringsSyntax wt.pn_fa=product_family[;…]Example wt.pn_fa=mobile%20phones
Product group
wt.pn_gr identifies the product group. It is automatically populated by the campaign
and product DLL based on the wt.pn_sku value.
Valid valueOne or more semicolon-delimited alphanumeric stringsSyntax wt.pn_gr=product_group[;…]Example wt.pn_gr=devices
Product subgroup
wt.pn_sc identifies the product subgroup. It is automatically populated by the campaign
and product DLL based on the wt.pn_sku value.
Valid valueOne or more semicolon-delimited alphanumeric stringsSyntax wt.pn_sc=product_subgroup[;…]Example wt.pn_sc=featured
©2020Oracle Corporation. All rights reserved 436 of 514
Product manufacturer
wt.pn_ma identifies the manufacturer of the product. It is automatically populated by the
campaign and product DLL based on the wt.pn_sku value.
Valid valueOne or more semicolon-delimited alphanumeric stringsSyntax wt.pn_ma=product_manufacturer[;…]Example wt.pn_ma=acme
Product supplier
wt.pn_su identifies the supplier of the product. This parameter is automatically
populated by the campaign and product DLL based on the wt.pn_sku value.
Valid valueOne or more semicolon-delimited alphanumeric stringsSyntax wt.pn_su=supplier[;…]Example wt.pn_su=example
Registered visitor parameter
wt.rv indicates whether the visitor is registered (1) or not (null).
Valid value1Syntax wt.rv=1
Scenario Name parameter
wt.si_n specifies the name of the scenario analysis.
Multiple scenario names and steps are supported on one hit. When specifying multiple
semicolon-delimited scenario analysis names, you must specify corresponding step
©2020Oracle Corporation. All rights reserved 437 of 514
names or step numbers. Each step name or step number is associated with the scenario
name having the same position in the list.
Valid value One or more semicolon-delimited alphanumeric stringsSyntax wt.si_n=name[;…]Example wt.si_n=Commerce FlowReport category CommerceAdvancedoptions
1. Double decode
2. Trim leading and trailing white space
3. Change to lowercase
4. Split parameter on ;
5. Correlate to Scenario Step Number parameter and Scenario Step Name
parameter
Scenario Step Name parameter
wt.si_p specifies the name of the scenario analysis step. Multiple scenario steps are
supported on one hit.
The Funnel Step dimension concatenates the value of this parameter with the value of
the Step Name parameter for use in funnel analysis reports. For example, if you collect
wt.si_x=01 and wt.si_p=landing page from your site, the corresponding Funnel
Step value will be 01 - landing page. If your step name is missing from your
collected data, the type of step will be unclear.
Valid value One or more semicolon-delimited alphanumeric stringsSyntax wt.si_p=name[;…]Example wt.si_p=2-401k%20PageReport category Commerce
©2020Oracle Corporation. All rights reserved 438 of 514
Advanced options 1. Double decode
2. Trim leading and trailing white space
3. Change to lowercase
4. Split parameter on ;
5. Correlate to Scenario Step Number parameter and Scenario Name
parameter
Scenario Step Number parameter
wt.si_x specifies the numeric position of the scenario analysis step. Steps must be
sequential.
The Funnel Step dimension concatenates the value of this parameter with the value of
the Step Name parameter for use in funnel analysis reports. For example, if you collect
wt.si_x=01 and wt.si_p=landing page from your site, the corresponding Funnel
Step value will be 01 - landing page. If your step number is missing from your
collected data, the resulting Funnel Step value will not sort as intended, because this
dimension is sorted based on the numerical values. If the step name is missing, the type
of step will be unclear.
Single-digit steps should be padded with zeros, such as 01 and 02 so that they sort as
intended in report columns if you have more than nine steps.
Valid value One or more semicolon-delimited sequential integers ≥1Syntax wt.si_x=integer[;…]Example wt.si_x=01Report category CommerceAdvanced options 1. Double decode
©2020Oracle Corporation. All rights reserved 439 of 514
2. Trim leading and trailing white space
3. Change to lowercase
4. Split parameter on ;
5. Correlate to Scenario Step Name parameter and Scenario Name
parameter
Search engine type parameter
wt.srch differentiates a paid search engine result from a reference to an organic search
engine result.
The presence of wt.srch=1 in the query string of the URL from a referring search
engine identifies the link as one for a paid search engine phrase. If the parameter is not
present it is considered an organic search. However, search engine results using
wt.srch=1 are limited to search engines included in the search engine availability list.
Using wt.srch=1 does not produce search engine campaign results for search engines
that are not recognized.
The Oracle Infinity Tag will automatically identify a paid Google search referral if the
Google click identifier (gclid) is used and wt.srch=1. This behavior can be
customized with a tag configuration that sets paidsearchparams: "gclid,ad_id".
The paidsearchparameters configuration setting defines a list of parameter names to
search for in the query string portion of the URI. The presence of one of these
parameters are used to determine a paid search engine from a reference to an organic
search engine.
Valid value The only supported value is 1.Syntax wt.srch=1
©2020Oracle Corporation. All rights reserved 440 of 514
Segment parameter
wt.seg identifies values associated with a segment of interest.
Valid value1, 2, 3, or 4Syntax WT.seg_{1|2|3|4}=segment_nameExample WT.seg_2=segment2
Server parameter
wt.sv identifies the name of the web server that served up the web content. It supports a
single server per page and is used for server cluster load balance reports.
wt.sv requires that the profile be set up as clustered with at least one server that is used
if an incoming hit does not explicitly have a server defined.
Valid valueAlphanumeric UTF-8 stringSyntax wt.sv=server_nameExample wt.sv=Server1
Site ID parameter
wt.site indicates the site ID for one or more events on the same hit. The Oracle Infinity
Tag can generate and set it to the domain name or the site ID for cross-domain use. This
parameter supports an arbitrary manually-configured string.
Valid valueAlphanumeric stringSyntax wt.site=site_IDExample wt.site=www.example.com
©2020Oracle Corporation. All rights reserved 441 of 514
Traffic source and search parameters
Traffic source and search parameters identify traffic sources, referers, and information
about search activity (search engines, types, and phrases).
Paid search engine
ext.search.paid populates the WT.srch=1 parameter.
Valid value true or falseSyntax ext.search.paid={true|false}Example ext.search.paid=true
Referer name
ext.source.name indicates the actual name of the referer.
Valid value Alphanumeric stringSyntax ext.source.name=refererExample ext.source.name=Example
Search engine
ext.search.engine indicates the search engine used.
Valid value Alphanumeric stringSyntax ext.search.engine=search_engineExample ext.search.engine=Google
Search phrase
ext.search.phrase indicates the search phrase used.
Valid valueAlphanumeric stringSyntax ext.search.phrase=search_phraseExample ext.search.phrase=Portland
©2020Oracle Corporation. All rights reserved 442 of 514
Traffic source parameter
wt.tsrc classifies the origin of site traffic into one of a list of possible values based on
the referrer of the collected data. Oracle Infinity uses predefined logic to split referrers
into one of the following values:
l Organic Search
l Other Campaigns
l Paid Search
l Referring Sites
l Social
l Social Campaigns
l Unknown Referrer
If you specify a custom wt.tsrc value, it can be used to override any of these calculated
traffic source values.
The wt.tsrc value is tracked in the custom ext.source.type traffic source dimension.
Valid valueAlphanumeric stringSyntax wt.tsrc=traffic_sourceExamples l Calculated traffic source:
wt.tsrc=Paid%20Search
l Custom traffic source: wt.tsrc=PPC
Traffic source type
ext.source.type indicates the type of traffic source.
Valid value Alphanumeric stringSyntax ext.source.type=traffic_source_typeExample ext.source.type=Unknown%20Referrer
©2020Oracle Corporation. All rights reserved 443 of 514
Note: The value of the ext.source.type parameter can be overridden by the
value of wt.tsrc.
Transaction parameters
Transaction parameters collect information such as type, quantity, and cost of
purchases.
Cart ID
wt.tx_cartid indicates a unique ID for the visitor's cart.
Valid valueAlphanumeric stringSyntax wt.tx_cartid=cart_IDExample wt.tx_cartid=27980554
Transaction Subtotal
wt.tx_s identifies the total cost for each product in the order. The format of this field
must match the global currency format. Do not include a currency symbol.
If an order contains multiple products, separate the totals for each product with a
semicolon.
Valid value Integers in dollars.cents format (if you define your currency as US dollars)Syntax wt.tx_s=dollars.cents[;…]Example wt.tx_s=4500.00
Units
wt.tx_u identifies the quantity in the transaction.
©2020Oracle Corporation. All rights reserved 444 of 514
If an order contains multiple products, separate the numbers of units for each product
using a semicolon.
Valid valueOne or more semicolon-delimited positive integersSyntax wt.tx_u=units[;…]Example wt.tx_u=2
Transaction Event
wt.tx_e identifies the type of transaction and is used as qualifier in measure definitions
along with wt.tx_u to determine which product to count. It supports the following
values:
l a: Identifies a product cart addition
l Custom value
l p: Identifies a product purchase, which indicates that the visitor is a buyer. You can also use
the invoice parameters to provide purchase details about the buyer. Note that Infinity uses
wt.tx_s to determine whether the visitor is a buyer.
l r: Identifies a product cart removal
l v: Identifies a product view
Valid valueAn event code (a, p, r, or v) or a custom valueSyntax wt.tx_e={a|p|r|v|custom_value}Example wt.tx_e=a
URL truncation parameter
wt.tu indicates the maximum URL length limitation was imposed by Microsoft Internet
Explorer.
©2020Oracle Corporation. All rights reserved 445 of 514
The URL length must be 2048 or less. If the JavaScript tag generates a URL in excess of
2048 characters and the client browser is Internet Explorer, the hit is truncated. The
JavaScript tag generates this parameter and sets it to 1 if the URL was deemed too long
and was truncated by the tag. If present, an error is written by default and discards the
hit.
Valid value1Syntax wt.tu=1
Video parameters
Use the following video parameters to populate custom reports that include information
about video content.
l Brightcove account ID
l Brightcove playlist ID
l Brightcove video ID
l Duration based on range
l Duration in minutes
l Duration in seconds
l Media event identifier
l Media type
l Mode type
l Percentage played
l Player name
l Player resolution
©2020Oracle Corporation. All rights reserved 446 of 514
l Playhead inminutes
l Playhead in seconds
l Video content type
l Video identifier
l Video name
l Video provider
l Video resolution
l Video tags
l Video tag name
l Video tag plugin version
l Video URL
l Volume level
Brightcove account ID
wt.clip_accountid provides the unique ID of the Brightcove account.
Valid value Alphanumeric stringSyntax wt.clip_accountid=Brightcove_account_IDExample wt.clip_accountid=1571595843001When sent All events
Brightcove playlist ID
wt.player_id provides the unique ID of the Brightcove playlist.
Valid value Alphanumeric stringSyntax wt.player_id=playlist_IDExample wt.player_id=41ecSd4l2xWhen sent All events
©2020Oracle Corporation. All rights reserved 447 of 514
Brightcove video ID
wt.clip_video_id provides the unique ID of the Brightcove video.
Valid value Alphanumeric stringSyntax wt.clip_video_id=video_IDExample wt.clip_video_id=4974033989001When sent All events
Duration based on range
wt.clip_duration_n indicates the range of the video duration in seconds. The value
is used to categorize videos by time duration ranges (bins).
Valid value An integer from 0 through 65,000Default value 15Syntax wt.clip_duration_n=secondsExample wt.clip_duration_n=30When sent All events
Duration inminutes
wt.clip_duration_min indicates the video duration in minutes.
Valid value IntegerSyntax wt.clip_duration_min=minutesExample wt.clip_duration_min=20When sent All events except play
Duration in seconds
wt.clip_duration indicates the video duration in seconds.
Valid value IntegerSyntax wt.clip_duration=secondsExample wt.clip_duration=20When sent All events
©2020Oracle Corporation. All rights reserved 448 of 514
Media event identifier
wt.clip_ev identifies the type of media-related event that has occurred, such as v for a
view event.
Valid value Alphanumeric stringSyntax wt.clip_ev=media_event_typeExample wt.clip_ev=LoadWhen sent All events
Media type
wt.clip_t identifies the type of media, such as Flash or HTML5, depending on what
type of player is being used.
In the following example, the clip type is Windows Media, the name of the clip is Milton
Presents, and the clip event type is view:
Validvalue Alphanumeric string
Syntax wt clip_t=media_typeExample wt.clip_t=Windows%20Media&wt.clip_
n=Milton%20Presents&wt.clip_ev=vWhensent All events
Mode type
wt.clip_mode identifies the mode type of video, such as fixed, streaming,
FullScreenOn, or FullScreenOff.
Valid value Alphanumeric stringSyntax wt.clip_mode=mode_typeExample wt.clip_mode=FixedWhen sent All events
©2020Oracle Corporation. All rights reserved 449 of 514
Percentage played
wt.clip_perc identifies the percentage of the video that the viewer has played. This
parameter is sent for all events except play.
Valid values l 25
l 50
l 75
l 100
Syntax wt.clip_perc =quartileExample wt.clip_perc=25When sent All events except play
Player name
wt.clip_player identifies the name of the video player.
Valid value Alphanumeric stringSyntax wt.clip_player=player_nameExample wt.clip_player=html5When sent All events
Player resolution
wt.clip_player_res indicates the video player's resolution in pixel height x width.
Valid value Alphanumeric stringSyntax wt.clip_player_res=heightxwidthExample wt.clip_player_res=250x200When sent All events
©2020Oracle Corporation. All rights reserved 450 of 514
Playhead inminutes
wt.clip_mins indicates the video's playhead position in minutes. This parameter is
sent for all events except play.
Note: Time measures are not sent on play so 0 is not averaged into any average
calculations.
Valid value Alphanumeric stringSyntax wt.clip_mins=minutesExample wt.clip_mins=2.1When sent All events except play
Playhead in seconds
wt.clip_secs indicates the video's playhead position in seconds. This parameter is
sent for all events except play.
Note: Time measures are not sent on play so 0 is not averaged into any average
calculations.
Valid value Alphanumeric stringSyntax wt.clip_secs=secondsExample wt.clip_secs=30When sent All events except play
Video content type
wt.clip_ct indicates the video's content type, such as MOV.
©2020Oracle Corporation. All rights reserved 451 of 514
Valid value Alphanumeric stringSyntax wt.clip_ct=content_typeExample wt.clip_ct=application%2Fvnd.apple.mpegurlWhen sent All events
Video identifier
wt.clip_id indicates the unique ID of the video asset.
Valid value Alphanumeric stringSyntax wt.clip_id=video_IDExample wt.clip_id=example.mp4When sent All events
Video name
wt.clip_n identifies the name of the video that was accessed. You can use this
parameter with the wt.clip_ev and wt.clip_tparameters.
Valid value Alphanumeric stringSyntax wt.clip_n=media_clip_nameExample wt.clip_n=Promo%20VideoWhen sent All events
Video provider
WT.clip_provider indicates the host on which the video is located as determined by
the following regex: e.currentSrc.match(/:\/\/(www.)?(.[^/:]+)/)[2];
Valid value Alphanumeric stringSyntax wt.clip_provider=provider_nameExample wt.clip_provider=www/example.comWhen sent All events
Video resolution
wt.clip_res indicates the resolution of the video expressed as height x width in pixels.
©2020Oracle Corporation. All rights reserved 452 of 514
Valid value Alphanumeric stringSyntax wt.clip_res=video_resolutionExample wt.clip_res=250x200When sent All events
Video tags
wt.clip_tags provides a list of one or more semicolon-delimited video tags. The
Brightcove tag plugin will send the tags as wt.clip_tags in a list if the video is using
the tag format with no values. For details, see the mediaTags configuration option.
Valid value A semicolon-delimited list of media tagsSyntax wt.clip_tags=tag1:tag1_value;tag2:tag2_valueExample wt.clip_tags=When sent If the mediaTags option is set.
Video tag name
wt.clip_tag_tagName provides the video tag name. The Brightcove tag plugin will
send the tags as a key-value pair if the video is using the tag format with values. For
details, see the mediaTags configuration option.
Valid value Alphanumeric stringSyntax wt.clip_tag_key=valueExample wt.clip_tag_producttype=semiconductorsWhen sent If the mediaTags option is set.
Video tag plugin version
wt.clip_tv provides the version of the video tag plugin.
Valid value Alphanumeric stringSyntax wt.clip_tv=tag_versonExample wt.clip_tv=10.2.15When sent All events
©2020Oracle Corporation. All rights reserved 453 of 514
Video URL
wt.clip_src provides the URL of the video.
Valid value Alphanumeric stringSyntax wt.clip_src=video_URLExample wt.clip_src=http://www.example.com/videos/video/mp4When sent All events
Volume level
wt.clip_vol provides the volume of the video on a scale from 1 through 100.
Valid value An integer from 1 through 100Syntax wt.clip_vol=volumeExample wt.clip_vol=50When sent All events
Visitor session parameters
Visitor session parameters provide data about events that occur during the session.
Note: These parameters are visible in the streams UI and are available for use in
streams queries. Only session.visitor_id is visible in reports.
Active or closed
(Streams only) session.closed indicates whether the session is active (false) or
closed (true).
Valid value true or falseSyntax session.closed={true|false}Example session.closed=false
©2020Oracle Corporation. All rights reserved 454 of 514
Duration limit
(Streams only) session.duration.limit indicates the maximum time, in milliseconds,
for an active session until the session is closed.
Valid value IntegerSyntax session.duration.limit=limit_in_millisecondsExample session.duration.limit=1440000
Duration
(Streams only) session.time_on_site indicates the duration, in seconds, of the
session.
Valid value IntegerSyntax session.time_on_site=secondsExample session.time_on_site=1570
Events received
(Streams only) session.event_count identifies the number of events received in the
session.
Valid value IntegerSyntax session.event_count=number_of_eventsExample session.event_count=14
New or returning visitor
(Streams only) session.returning_visitor indicates whether this is a new visitor
(false) or a returning visitor (true).
The default is false unless one of the following is true:
©2020Oracle Corporation. All rights reserved 455 of 514
l The session contains wt.vt_f=1.
l The session contains ((wt.vt_f_tlv or wt.vt_tlv) AND wt.vt_f_tlv) OR wt.vt_tlv is
less than the session's start time.
Valid value true or falseSyntax session.returning_visitor={true|false}Example session.returning_visitor=true
Pages viewed
(Streams only) session.page_view_count identifies the number of pages viewed in
the session.
Valid value IntegerSyntax session.page_view_count=pages_viewedExample session.page_view_count=12
Reason for closing
(Streams only) session.closed_reason indicates a reason for a closed session.
Valid value l duration_limit: Session was closed for reaching the maximum session
length
l inactivity_limit: Session was closed due to an idle timeout
Syntax session.closed_reason=reasonExample session.closed_reason=inactivity_limit
Session ID
(Streams only) session.session_id indicates the unique ID of the session.
If an event contains the wt.vt_sid parameter, session.session_id will use the part
of the wt.vt_sid value after its last ., which is the Unix time in seconds since Jan. 1
1970 UTC.
©2020Oracle Corporation. All rights reserved 456 of 514
Valid value Alphanumeric stringSyntax session.session_id=.Unix_timeExample session.session_id=1500408836
Start time
(Streams only) session.first_datetime_utc indicates the start time of the session.
Valid value Alphanumeric string of the date and time in UTC formatSyntax session.first_datetime_utc=yyyy-MM-ddTHH:mm:ss.SSSZExample session.first_datetime_utc=2017-08-22T20:48:28.000Z
Time inactive
(Streams only) session.time_inactive indicates the time, in milliseconds, since the
last event from the visitor. This is only included in full_session messages and
messages where session.closed=true.
Valid value IntegerSyntax session.time_inactive=millisecondsExample session.time_inactive=30000
Time of most recent event
(Streams only) session.recent_datetime_utc indicates the time of the most recent
or last event in the session.
Valid value Alphanumeric string of the date and time in UTC formatSyntax session.recent_datetime_utc=yyyy-MM-ddTHH:mm:ss.SSSZExample session.recent_datetime_utc=2017-08-22T20:48:28.000Z
Visitor ID
session.visitor_id provides the unique visitor ID. Its value is typically generated
after the Oracle Infinity Tag collects the value of wt.co_f. It is visible in the Oracle
©2020Oracle Corporation. All rights reserved 457 of 514
Infinity UI as Visitor ID.
The following logic provides the value for session.visitor_id:
l If data.wt.co_f is present, use a hash of its value as the Visitor ID.
l If data.wt.co_f is not present, use a hash of the user agent and IP address pair as the Visitor
ID.
l If data.wt.dcsvid is present, a hash of its value is used instead of the Visitor ID.
Valid value Alphanumeric stringSyntax session.visitor_id=session_visitor_IDExample session.visitor_id=98.250.174.27-2754457152.30285513
First event block parameters
You can access all the parameters from the first event of the session. This is made
available in the JSON output as the first{} block.
For example, the first event block is made available as first{} in a streams query
syntax such as:
select * where first.ext.source.name='Google'
You can also leverage the first.* parameters in your streams lab queries.
©2020Oracle Corporation. All rights reserved 458 of 514
Visitor tracking parameters
Use visitor tracking parameters to track daily, weekly, monthly, quarterly, and yearly
unique visitors. Oracle Infinity Data Connector inserts these parameters into the
collected data as part of the session information.
Important: These are deprecated parameters that are no longer used in Oracle
Infinity reporting, except for wt.vt_f, which is not deprecated.
First hit for a new visitor for an account
(Deprecated) wt.vt_a_s indicates the first hit from a new visitor for a specified account.
This parameter is generated to track visitor sessions for account rollup data sources and
it is set it to 1 for the first hit from a new visitor for a given account. This parameter is
used in conjunction with account rollup profiles and it applies only to real-time analysis.
Valid value 1Syntax wt.vt_a_s=1
First hit for new visitor session
(Deprecated) wt.vt_f_s indicates the first hit from a new visitor session. It is used to
track new visitor sessions. Oracle Infinity Tag generates this parameter and sets it to 1
for the first hit from a new session.
This parameter only supports a value of 1.
Valid value 1Syntax wt.vt_f_s=1
©2020Oracle Corporation. All rights reserved 459 of 514
First hit of day
(Deprecated) wt.vt_d indicates the first hit of the day from the visitor.
This parameter only supports a value of 1.
Valid value1Syntax wt.vt_d=1
First hit of new session
(Deprecated) wt.vt_s indicates the first hit for a new session.
Cookie tracking must be enabled to set this parameter.
This parameter only supports a value of 1.
Valid value1Syntax wt.vt_s=1
First Visit
wt.vt_f indicates a new or returning visitor that accepts first-party cookies (1) or who
has disabled first-party cookies (2). This parameter is no longer in use by Oracle Infinity
Analytics.
The Oracle Infinity Tag generates this parameter and sets it to 1 for the first hit from a
new or returning visitor accepting a first-party cookie (FPC). If FPCs are disabled, then
the parameter is set to 2.
Valid value l 1: New or returning visitor that accepts
FPCs
l 2: New or returning visitor with FPCs
disabled
©2020Oracle Corporation. All rights reserved 460 of 514
Syntax wt.vt_f=[1|2]Example wt.vt_f=1
New visitor for an account
(Deprecated) wt.vt_f_a indicates a new visitor for an account.
This parameter is generated to track new visitors for an account. The Oracle Infinity Tag
generates this parameter and sets it to 1 for the first hit from a new visitor for a given
account. If first-party cookies (FPCs) are disabled, then the parameter is set to 2.
This parameter is used with account rollup profiles.
Valid value l 1: The new visitor has FPCs
enabled.
l 2: The new visitor has disabled
FPCs.
Syntax wt.vt_f_a=[1|2]Example wt.vt_f_a=1
Visitor ID
(Deprecated) wt.vtid provides a hashed visitor ID to sessionize visitors for use in
reporting.
By default, wt.vtid is set to the value of wt.co_f. Alternatively, wt.vtid can be used
with the following custom sessionization methods:
l Create anOracle Infinity Tagmutation that provides a custom methodology.
l Add wt.vtid=custom_value to your query string.
Valid value Alphanumeric stringSyntax wt.vtid=IDExample wt.vtid=BCD21640CC11794D
©2020Oracle Corporation. All rights reserved 461 of 514
Web client parameters
Web client (browser) parameters are typically used for creating custom dimensions that
you include in custom reports.
Character set
wt.le indicates the character set used by the web client to render the current document.
The JavaScript tag generates a wt.le value if the web client's i18n property is set to
true (the default is false).
Valid value Alphanumeric string of a valid character set, such as utf-8Syntax wt.le=character_encoding_labelExample wt.le=utf-8
Connection type
wt.ct specifies the connection type used to send data.
You can use this parameter in custom reports to determine whether visitors can
download media on your site that requires high-bandwidth connections.
The JavaScript tag generates this value using data from Microsoft Internet Explorer 5 or
higher. For all other browsers, the JavaScript tag generates a value of unknown.
Valid value lan, modem, or offlineSyntax wt.ct=connection_typeExample wt.ct=lan
See also: wt.ct mobile web and app parameter
©2020Oracle Corporation. All rights reserved 462 of 514
Home page
wt.hp indicates whether the viewed page was set as the web client's home page (1) or
not (0).
You can use this parameter to filter a report based on URLs or pages and report on
visitors' home pages.
wt.hp is only available for visitors using Microsoft Internet Explorer 5 or higher.
Valid value 0 or 1Syntax wt.hp={0|1}Example wt.hp=1
Java enabled
wt.jo indicates whether the web client has enabled Java (yes) or not (no).
Valid value yes or noSyntax wt.jo={yes|no}Example wt.jo=yes
Sample Java enabled code
var joQueryParam = "&wt.jo=" + navigator.javaEnabled() ?"Yes" : "No";
JavaScript enabled
wt.js indicates whether the web client supports or has enabled JavaScript (yes) or not
(no).
You can set up custom reports based on pages reports that key on wt.js and provides a
targeted count of no JavaScript hits.
©2020Oracle Corporation. All rights reserved 463 of 514
Valid value yes or noSyntax wt.js={yes|no}Example wt.js=Yes
Sample JavaScript-enabled code
<SCRIPT LANGUAGE="JavaScript">...CODE ABOVE WHERE YOU WANT THIS MODIFICATION TO GO...var jsQueryParam = "&wt.js=Yes";...CODE BELOW WHERE YOU WANT THIS MODIFICATION TO GO...</SCRIPT>
<NOSCRIPT><IMG BORDER="0" NAME="DCSIMG" WIDTH="1" HEIGHT="1"SRC="http://producthelp.webtrends.com/njs.gif?dcsuri=/nojavascript&wt.js=no"></NOSCRIPT>
JavaScript version
wt.jv indicates the version of JavaScript supported by the web client. If JavaScript is
not enabled, this parameter should not be included.
Validvalue
An alphanumeric string representing a major and minor version separated witha period, such as 1.8
Syntax wt.jv=major_version.minor_versionExamplewt.jv=1.8
Sample JavaScript version code
var jvQueryParam = "";<SCRIPT Language"Javascript1.6">jvQueryParam = "&wt.jv=1.6"</SCRIPT>
<SCRIPT Language"Javascript1.7">jvQueryParam = "&wt.jv=1.7"
©2020Oracle Corporation. All rights reserved 464 of 514
</SCRIPT>
<SCRIPT Language"Javascript1.8">jvQueryParam = "&wt.jv=1.8"</SCRIPT>
Local time
wt.bh indicates the web client’s browsing hour (local time of day on a 24-hour clock).
Valid value An integer from 0 through 23Syntax wt.bh=hourExample wt.bh=20
Screen color depth
wt.cd indicates the web client’s screen color depth. It is represented as the number of
color bits to which the web client computer’s video display control is set.
Validvalue
An alphanumeric string representing the number of color bits to which the webclient computer's video display is set
Syntax wt.cd=screen.colorDepthExamplewt.cd=24
Sample color depth code
var cdQueryParam = "&wt.cd=" +escape(screen.colorDepth);
Screen resolution
wt.sr indicates the web client’s screen resolution.
Validvalue
An alphanumeric string representing the width and height of the web client'smonitor
Syntax wt.sr=widthxheightExample wt.sr=1920x1200
©2020Oracle Corporation. All rights reserved 465 of 514
Sample screen resolution code
var srQueryParam ="&wt.sr=" + escape(screen.width) + "x" +escape(screen.height);
Time zone
wt.tz indicates the web client's time zone offset from UTC.
Validvalue
An integer from –12 to 14 representing the offset from UTC in hoursPositive values are given without a sign and negative values require a minussign.
Syntax wt.tz=time_zone_offsetExample wt.tz=-8 for Pacific standard time
Sample time zone code
var dCurrent = newDate(); var tzQueryParam = "&wt.tz=" +escape(dCurrent.getTimezoneOffset());
User language
wt.ul indicates the app or web client's user language.
Valid value Alphanumeric stringSyntax wt.ul=user_languageExample wt.ul=en-US
Sample user language code
varulQueryParam = "&wt.ul=" + navigator.appName ==
"Netscape" ?escape(navigator.language) : escape
©2020Oracle Corporation. All rights reserved 466 of 514
(navigator.userLanguage);
Window size
wt.bs indicates the width and height of the web client window in pixels. For documents
that do not contain <body> when loaded into Internet Explorer, the JavaScript tag
generates a value of unknown.
Valid value Alphanumeric stringSyntax wt.bs=widthxheightExample wt.bs=924×212
©2020Oracle Corporation. All rights reserved 467 of 514
Streams
The Streams UI provides access to view a continuous flow of real-time online activity
enriched with visitor information. It is not a database. Rather, it is a stream of data that
you can access as each event happens and then further process as needed. You can
segment and filter streaming data on any collected attribute.
Streams enables your marketing team to continually review and update products or
promotions based on their performance in monitored campaigns. For example, you can
look at geographic, device, and referrer data for a specific use case.
Event data is captured and an advanced processing engine rapidly analyzes and
enriches the event data. The data is then made available to an API in JSON format and
can be consumed by an application via a WebSocket connection and the streams API.
Streams does more than just return site data collected by tags. Event data is processed
and enriched with:
l Visitor location
l Demographics
l The device the visitor used
l Browser information
l Traffic sources
Streams also captures a rich history of the visitor session. All data is available to be
queried using parameters such as ext.device.iOS=true and
ext.geo.city=london.
©2020Oracle Corporation. All rights reserved 468 of 514
Streams lab
Use the streams lab to experiment with a data stream and visualize trends.
To use streams lab:
1. In Oracle Infinity, click the streams icon . The Streams Lab page is displayed.
2. If you saved any streams labs, clickOpen to view and select from the list. Alternatively, you
can add parameters and values to theWhere box or just click start.
3. Click Start. By default, incoming parameters stream in the left panel. Use elements in the
action bar to control and monitor the status of the stream. You can also choose to view JSON
and explore visitor sessions.
©2020Oracle Corporation. All rights reserved 469 of 514
4. As parameters appear on the left panel, you can drag them onto the streams canvas to view
more details about the events.
Streams lab controls
You can use elements in the action bar to control and monitor visitor events.
UI element Description
Return to the streams lab home.
Start viewing the incomingstream.Stop viewing the incomingstream.Refresh the incoming stream.The incoming parameters listrefreshes when a new streamstops and restarts.After you start a stream, thestopwatch displays the:
l Number of events that have
©2020Oracle Corporation. All rights reserved 470 of 514
UI element Description
come through the streaming
socket
l Amount of time the stream
connection has been open
Note: The maximum
session interval is two
hours or 5000 events. After
30 minutes of inactivity, a
visitor's session is timed
out and the visitor will drop
from the stream. If the
visitor leaves the site, the
visitor session appears
grayed out or opaque.
Add parameters and values tofilter query results from thestreaming server. You can dragparameters from the incomingparameters list or type themdirectly. After you edit the Wherevalues, click refresh to view thefiltered stream.Click the JSON view to see yourevents stream in JSON format.Shortcut to explore events instreams lab.Click the explore sessions optionto view the click stream in avisitor's session.
©2020Oracle Corporation. All rights reserved 471 of 514
Saving a streams lab
After you filter parameters with where clauses and drag parameters into the streams
canvas, you can save this streams lab for quick recall another time. When you save a
streams lab, you are saving the included parameters and where clause filters, not the
data.
If users on your account have saved any saved streams labs, you can view the list from
the streams home page or from the streams lab.
Opening a saved streams lab from the streams canvas
Saved streams lab controls
The streams canvas contains dynamic links whose appearance depends on whether
your account has any saved lab states.
Important: Any account user can delete any saved streams lab even if they did not
create it.
©2020Oracle Corporation. All rights reserved 472 of 514
Before you drag any parameters into the streams canvas, the canvas is in the open
streams lab and only the Open link appears.
After you drag one or more parameters into the streams canvas, the Save button
appears.
At this point you can:
l Click Save to name and save the current streams lab for easy recall.
l Add parameters or click X in the streams canvas to remove it.
l Remove all boxes from the streams canvas if you want to start over.
If you click Open and choose a saved streams lab from the list, the saved streams labs
and the name of the saved lab appears as a link at the top of the streams canvas.
©2020Oracle Corporation. All rights reserved 473 of 514
At this point you can:
l Modify the where clause and parameters included in the streams lab, click the name of the
saved streams lab, and then click Save to save the streams lab with the same name.
l Click the name of the saved streams lab and then choose Save As to save the streams lab
with a different name to preserve the original saved streams lab.
l Click the name of the saved streams lab and choose New to return the streams canvas to the
open saved streams lab.
To remove a saved streams lab, click Open and then click X next to the saved lab you
want to remove.
Session stream
The session stream shows your visitor events in a session. A session is the time an
individual spends on your site.
©2020Oracle Corporation. All rights reserved 474 of 514
You can filter the visitor stream with where statements and select an individual visitor to
view real-time events on your site.
To view the session stream:
1. In Oracle Infinity, click the streams icon . The streams lab page is displayed.
2. Click Explore sessions to open the session stream.
3. Filter the session stream using a where statement. A grayed out or opaque session indicates
that the visitor is no longer in an active session.
Session stream controls
You can use elements in the action bar to control and monitor visitor events.
UI element Description
Return to the streams lab page.
Explore sessions
Start viewing the incoming visitorsession stream.Stop viewing the incoming visitorsession stream.Refresh the incoming visitorsession stream. The incomingvisitors list refreshes when a new
©2020Oracle Corporation. All rights reserved 475 of 514
UI element Descriptionstream stops or starts.After you start a stream, thestopwatch displays the:
l Number of visitors (sessions)
currently on your site
l Amount of time the current
stream connection has been
open
Note: The maximum
session interval is two
hours or 5000 events. After
30 minutes of inactivity, a
visitor's session is timed
out and the visitor will drop
from the stream. If the
visitor leaves the site, the
visitor session appears
grayed out or opaque.
Use the where filter to addparameters and filter the liveview of streaming visitorsessions. After you create or edita where clause, click refresh toupdate the view of the visitorsession stream filtered to yourspecifications.
©2020Oracle Corporation. All rights reserved 476 of 514
UI element Description
Flags indicate the visitor'scountry. In this example, currentvisitors are from the UnitedStates, Brazil, and Canada. Useext.geo.country to limit thestream to users from a certaincountry.
Visitors each have a unique ID toidentify them. The visitor'sunique identifier displays alongwith the device type and browserused to access your site. Useext.browser.name andext.device.type to limit thestream to visitors who are usinga certain browser and a certaindevice.You can sort the visitors list byevent count, time on site, pageviews, or product views. Withinany of these views, you canorder from lowest-to-highest orhighest-to-lowest count or time.
Viewing visitor session streams
When you view an individual viewer session, the session stream reveals information
about the viewer and the events during the current session.
Filtering visitor sessions
Use parameters in a where statement to show specific events. For example, add the
where clause data.wt.tx_e=a to show only visitors who have added an item to their
©2020Oracle Corporation. All rights reserved 477 of 514
shopping carts. You might also want to filter by region, such asext.geo.city='austin' to
see only visitors accessing your site from Austin. You can also combine parameters to
further customize your view, such as data.wt.tx_e=a AND ext.geo.city=austin to
show visitors from Austin Texas who have added items to their cart.
Monitoring a visitor session
At the top of a visitor session, you can see the visitor's ID number, location, number of
pages viewed, browser name and device type, and the time spent on your site. The
count of page views and the amount of time on site continue to advance during the
session.
Visitor session information
An individual visitor session shows you events using a basic shape for page events and
non-page events.
Circular shapes indicate the amount of time the visitor spent on a thumbnail or other non-
page event arrived at from a link on the previous page. These can show you the
effectiveness of an ad campaign on your site. The following example shows the visitor
spent five seconds here.
Rectangular shapes indicate the visitor's starting page, information about particular
content groups viewed during the visitor session, and the page the visitor is currently
viewing. The following example shows content group information.
©2020Oracle Corporation. All rights reserved 478 of 514
The following example shows a visitor's activity on a site. You can see where this
visitor's cart add, ad click, and order confirmation events occur. In addition, this view into
a visitor session shows you exactly how much time the visitor spent on each page and
non-page view.
Visitor session summary
©2020Oracle Corporation. All rights reserved 479 of 514
Streams Query Syntax
Overview
Streams Lab and Action Center support tailoring a stream to your specific needs through
Streams Queries. Streams Queries are similar to SQL in that you can specify which data
you’d like to include in your stream, any conditions that the data has to match, etc. Below
is a reference that dives into the details of Streams Queries, and how you can use them
to enable powerful analytics and data pipeline use cases.
Query Format:
Streams queries are composed in the following format:
SELECT <select criteria> WHERE <where criteria> HAVING <having criteria>
Select Criteria - Required
The select criteria is a comma separated list of values to be included in the message.
Type ofSelectcriteria
Example Behavior Selectionapplied to Notes
Basicsegment
data.wt.ti Theparameter isincluded inthe outgoingmessage ifpresent in thecurrent event
Currentevent ifmatchingthe WHEREcriteria
Basicprefixwildcard
data.* All
parameters in
the current
event that
Currentevent ifmatchingthe WHEREcriteria
©2020Oracle Corporation. All rights reserved 480 of 514
Type ofSelectcriteria
Example Behavior Selectionapplied to Notes
match the
filter are
included in
the outgoing
message
All wildcard
* Allparameters inthe currentevent areincluded inthe outgoingmessage
Currentevent ifmatchingthe WHEREcriteria
Anyselector
ANY(data.wt.ti)
Include asingle eventvalue fromthe session.Which valuespecifically isreturned isirrelevant
Currentevent, orany otherevent in thesession withtheparameter, ifmatchingthe WHEREcriteria.
Wild cards are not supported
Earliestselector
EARLIEST(data.wt.ti)
Include thevalue fromthe earliestevent in thesession thathas theparameter
All eventsmatchingthe HAVINGcriteria Wild cards are not supported
Earliestwith null
EARLIEST_INCLUDE_NULL(data.wt.ti)
Include thevalue fromthe first eventin the sessionevaluated if
All eventsmatchingthe HAVINGcriteria
Wild cards are not supported
©2020Oracle Corporation. All rights reserved 481 of 514
Type ofSelectcriteria
Example Behavior Selectionapplied to Notes
presentCountSelector
COUNT(data.wt.ti)
Include thenumber ofevents in thesession thathave a valuefor thespecified key
All eventsmatchingthe HAVINGcriteria Wild cards are not supported
CountDistinct
COUNT_DISTINCT(data.wt.ti)
Include thenumber ofuniquevalues for thespecified key
All eventsmatchingthe HAVINGcriteria
Wild cards are not supportedCase
insensitive matching
Countall
EVENT_COUNT()
Include thenumber ofeventsevaluated
All eventsmatchingthe HAVINGcriteria
Wild cards are not supported
Latestselector
LATEST(data.wt.ti)
Include thelast valuefound
All eventsmatchingthe HAVINGcriteria
Wild cards are not supported
Latestwith null
LATEST_INCLUDE_NULL(data.wt.ti)
Include thevalue fromthe last eventevaluated ifpresent
All eventsmatchingthe HAVINGcriteria
Wild cards are not supported
Concat CONCAT(data.wt.ti,';')
Include allvalues for thespecified keyconcatenatedinto a singlestring with theprovidedseparator
All eventsmatchingthe HAVINGcriteria
Wild cards are not
supportedSeparators can be strings
of multiple characters
Order and case are maintained
Concatdistinct
CONCAT_DISTINCT(data.wt.ti,',')
Include alldistinctvalues for thespecified key
All eventsmatchingthe HAVINGcriteria
Wild cards are not
supportedSeparators can be strings
©2020Oracle Corporation. All rights reserved 482 of 514
Type ofSelectcriteria
Example Behavior Selectionapplied to Notes
concatenatedinto a singlestring with theprovidedseparator
of multiple charactersOrder and
case are maintainedCase is not
used when determining
uniqueness. If the value for one
event is 'AaA' and the value of the
next event is 'aAa', we will only
include 'AaA' in the distinct list of
values
Latestexcludelike
LATEST_EXCLUDE_LIKE(data.wt.ti,'')
LATEST_EXCLUDE_LIKE(data.wt.ti,'*a*')
LATEST_EXCLUDE_LIKE(data.wt.ti,
'abc')
Include thelast valuefound thatdoesn't matchthe LIKEexpression
All eventsmatchingthe HAVINGcriteria
Only a single matching expression
is supported.
All syntax supported by the LIKE
Operator is allowed
Latestincludelike
LATEST_INCLUDE_LIKE(data.wt.ti,'*a*')
Include thelast valuefound thatmatches theLIKEexpression
All eventsmatchingthe HAVINGcriteria
Only a single matching expression
is supported.
All syntax supported by the LIKE
Operator is allowed
Earliestexcludelike
EARLIEST_EXCLUDE_LIKE(data.wt.ti,'')
Include thefirst valuefound thatdoesn't matchthe LIKEexpression
All eventsmatchingthe HAVINGcriteria
Only a single matching expression
is supported.
All syntax supported by the LIKE
©2020Oracle Corporation. All rights reserved 483 of 514
Type ofSelectcriteria
Example Behavior Selectionapplied to Notes
Operator is allowed
Earliestincludelike
EARLIEST_INCLUDE_LIKE(data.wt.ti,'abc')
Include thelast valuefound thatmatches theLIKEexpression
All eventsmatchingthe HAVINGcriteria
Only a single matching expression
is supported.
All syntax supported by the LIKE
Operator is allowed
Aliasing - Optional
Select criteria can take an optional alias with the format: <selection> AS '<alias>'.
<selection> can be an from the table above, without using wildcards, and <alias>
can be any string
For example:
SELECT session.visitor_id AS 'visitor.id', session.session_id as'visitor.session', EARLIEST(data.wt.cg_n) AS 'content.group.first',LATEST(data.wt.cg_n) AS 'content.group.last'
yields this message:
{"meta": {
"schema_version": "3.0","api_version": "3.0","message_type": "session_update","stream_type": "session_all"
},"content": {
"group": {"first": [
"Shop Maxymised"],"last": [
©2020Oracle Corporation. All rights reserved 484 of 514
"Cart"]
}},"visitor": {
"id": "1348447491483863571","session": "1532364415416010076"
}}
Where Criteria - Optional
The WHERE criteria defines if/when a streams message is emitted. When an event is
added to a session, it is compared against this criteria and if it evaluates to true, an
update message is emitted.
If no WHERE clause is specified, every event that comes in to the session will result in an
update message being emitted, as well as a closed message when the session is
closed.
The ALL and the ANY operators are used if you want to evaluate all the events in the
session, as opposed to just the current event being processed.
Note: Aliases and Select Critera are only used when sending messages, and cannot be
used within the query in a WHERE (or HAVING) clause.
For example, this syntax is NOT supported:
l Select data.wt.ti as 'A' where 'A" = 'B'
l Select * where earliest(data.wt.ti) = 'B'
l Select count(data.wt.ti) where count(data.wt.ti) >= 1
l Select event_count() where event_count() >= 1
©2020Oracle Corporation. All rights reserved 485 of 514
Type ofWherecriteria
Example Behavior Scope Notes
Equals data.wt.ti='title' A message will besent if the parameterexists, with the exactvalue specified.
n/a Wild cards
are not
supported
Case
insensitive
matching
Exists Exists(data.wt.ti) A message will besent if the parameterexists, regardless ofvalue
SingleEventOnly
Wild cards
are not
supported
Case
insensitive
matching
NotExists
NotExists(data.wt.ti)
Not_Exists(data.wt.ti)
A message will besent if the parameterdoes not exist
SingleEventOnly
Wild cards
are not
supported
Case
insensitive
matching
NotEqual
data.wt.ti!='title' A message will besent if the parameterdoesn't exist, ordoesn't have theexact valuespecified.
n/a Wild cards
are not
supported
Case
insensitive
©2020Oracle Corporation. All rights reserved 486 of 514
Type ofWherecriteria
Example Behavior Scope Notes
matching
Like data.wt.ti LIKE 't*' A message will besent if the parameterexists, and matchesthe value specified.
n/a Caseinsensitivematching
NotLike
data.wt.ti NOT LIKE't*'
data.wt.ti NOT_LIKE
't*'
A message will besent if the parameterdoesn't exist, or itdoes not match thevalue specified.
n/aCaseinsensitivematching
All ALL(data.wt.cg_n ='cg1')
A message will besent if the parameterexists with thespecified value onevery event in thesession
Alleventsinsession
Case
insensitive
matching
All events
in session
Any ANY(data.wt.cg_n ='cg1')
A message will besent if the parameterexists with thespecified value on atleast one event inthe session
Alleventsinsession
Case
insensitive
matching
All events
in session
LessThan
data.wt.tx_u < 3 A message will besent if the parameterexists, and matchesthe value specified.
n/a Numericvaluesonly
LessThanor
EqualTo
data.wt.tx_u <= 3 A message will besent if the parameterexists, and matchesthe value specified.
n/aNumericvaluesonly
GreaterThan
data.wt.tx_u > 3 A message will besent if the parameter
n/a Numericvalues
©2020Oracle Corporation. All rights reserved 487 of 514
Type ofWherecriteria
Example Behavior Scope Notes
exists, and matchesthe value specified. only
GreaterThanor
EqualTo
data.wt.tx_u >= 3 A message will besent if the parameterexists, and matchesthe value specified.
n/aNumericvaluesonly
OR data.wt.tx_u < 3
OR
data.wt.ti = 'title'
A message will besent if the parameterexists, and matchesthe value specifiedfor either clause
n/a
AND data.wt.tx_u < 3
AND
data.wt.ti = 'title'
A message will besent if the parameterexists, and matchesthe value specifiedfor all clauses
n/a
Having Criteria - Optional
The HAVING clause defines which events in the session will be included, when querying
session level data.
The HAVING clause is different from the WHERE clause, in that the HAVING clauses
determines WHICH events should be included in the message, while the WHERE clause
determines IF a message should be sent.
It is important to note that the HAVING clause is only applied to selections using the
following list of session level Selectors:
Having ClauseSelectorsCONCATCONCAT_
©2020Oracle Corporation. All rights reserved 488 of 514
Having ClauseSelectorsDISTINCTCOUNTCOUNT_DISTINCTEARLIESTEARLIEST_INCLUDE_NULLEVENT_COUNT()LATESTLATEST_INCLUDE_NULL
For example, given this select statement:
SELECT data.wt.ti AS 'current_page_title', CONCAT_DISTINCT(data.wt.ti, ',') AS 'all_phone_page_titles' HAVING data.wt.ti like'*phones*'
Since there is no WHERE clause, we will send out a message with every event.
The value of data.wt.ti will be sent as 'current_page_title' on every event, if present,
regardless of whether or not it matches the HAVING clause. This is because a session-
level selector is not being used here.
A session-level selector of CONCAT_DISTINCT is being used for 'all_phone_page_titles',
so all distinct values from every event that match the HAVING clause will also be
included on every message.
For example:
{"meta": {
©2020Oracle Corporation. All rights reserved 489 of 514
"schema_version": "3.0","api_version": "3.0","message_type": "session_update","stream_type": "session_all"
},"all_phone_page_titles": "Google Phones,Samsung Phones","current_page_title": "SLR Cameras"
}
If no HAVING clause is specified, every event in the session will be included when
selecting session-level data.
The operators for HAVING are basically the same as WHERE, however you cannot use
ALL or ANY in the HAVING clause. Also, just like the WHERE clause, Aliases and Select
Criteria are not supported.
Type ofHavingcriteria
Example Behavior Scope Notes
Equals data.wt.ti='title' An event will beincluded in theselected data if theparameter exists withthe exact valuespecified.
All eventsin thesessionwill bescannedto find amatch
Wild cards
are not
supported
Case
insensitive
matching
Exists Exists(data.wt.ti) An event will beincluded in theselected data if theparameter exists,regardless of value
All eventsin thesessionwill bescannedto find amatch
Wild cards
are not
supported
Case
©2020Oracle Corporation. All rights reserved 490 of 514
Type ofHavingcriteria
Example Behavior Scope Notes
insensitive
matching
NotExists
NotExists(data.wt.ti)
Not_Exists(data.wt.ti)
An event will beincluded in theselected data if theparameter does notexist
All eventsin thesessionwill bescannedto find amatch
Wild cards
are not
supported
Case
insensitive
matching
NotEqual
data.wt.ti!='title'An event will be
included in the
selected data if the
parameter doesn't
exist, or doesn't have
the exact value
specified.
All eventsin thesessionwill bescannedto find amatch
Wild cards
are not
supported
Case
insensitive
matching
Like data.wt.ti LIKE't*'
An event will beincluded in theselected data if theparameter exists,and matches thevalue specified.
All eventsin thesessionwill bescannedto find amatch
Caseinsensitivematching
NotLike
data.wt.ti NOT LIKE't*'
data.wt.ti NOT_LIKE't*'
An event will beincluded in theselected data if theparameter doesn'texist, or it does notmatch the valuespecified.
All eventsin thesessionwill bescannedto find amatch
Caseinsensitivematching
©2020Oracle Corporation. All rights reserved 491 of 514
Type ofHavingcriteria
Example Behavior Scope Notes
LessThan
data.wt.tx_u < 3 An event will beincluded in theselected data if theparameter exists,and matches thevalue specified.
All eventsin thesessionwill bescannedto find amatch
Numericvaluesonly
LessThanor
EqualTo
data.wt.tx_u <= 3 An event will beincluded in theselected data if theparameter exists,and matches thevalue specified.
All eventsin thesessionwill bescannedto find amatch
Numericvaluesonly
GreaterThan
data.wt.tx_u > 3 An event will beincluded in theselected data if theparameter exists,and matches thevalue specified.
All eventsin thesessionwill bescannedto find amatch
Numericvaluesonly
GreaterThanor
EqualTo
data.wt.tx_u >= 3 An event will beincluded in theselected data if theparameter exists,and matches thevalue specified.
All eventsin thesessionwill bescannedto find amatch
Numericvaluesonly
OR data.wt.tx_u >= 3OR data.wt.ti ='title'
An event will beincluded in theselected data if theparameter exists,and matches thevalue specified foreither clause
All eventsin thesessionwill bescannedto find amatch
AND data.wt.tx_u >= 3AND data.wt.ti ='title'
An event will beincluded in theselected data if the
All eventsin thesession
©2020Oracle Corporation. All rights reserved 492 of 514
Type ofHavingcriteria
Example Behavior Scope Notes
parameter exists,and matches thevalue specified for allclauses
will bescannedto find amatch
©2020Oracle Corporation. All rights reserved 493 of 514
Frequently asked questions
What types of reports are available in Oracle Infinity?
Oracle Infinity comes with a set of standard reports to help you begin exploring your
data.
Do I have to use your reports?
Oracle Infinity allows you to create and save reports to meet your unique business
requirements. Standard reports provide a good starting point for further ad hoc
exploration.
If I modify a standard report, can I access the original version?
Standard reports cannot be overwritten, but you can customize these reports to include
different dimensions, measures, or segments, and then save them as new reports.
Reports can be saved within your own private collection or published more broadly in
custom report categories if required.
Are there limits to the number of collections an account can have?
Oracle Infinity does not limit the number of collections you can create. All accounts come
packaged with one collection called All Data."
©2020Oracle Corporation. All rights reserved 494 of 514
Are there limits to the number of dimensions or measures in a
report?
Oracle Infinity offers unlimited measures and segments and can have up to five
dimensions in a report.
How do I find a parameter?
If you have the necessary rights, you can view all parameters collected for your account
in Account Settings. By default, only named parameters are displayed, but you can
select All from the Show list and then filter, sort, and search the list as needed.
Is attribution available, such as last occurrence functionality?
Attribution reporting is available by adding dimensions.
Is date an available dimension?
Oracle Infinity offers several predetermined dimensions for dates.
How are visitors calculated?
The standard measure for visitors is a count of unique, or distinct, users. We do not use
sampling. The following logic applies:
©2020Oracle Corporation. All rights reserved 495 of 514
1. If data.wt.co_f is present, use a hash of its value as the session.visitor_id (Visitor ID).
2. If data.wt.co_f is not present, use a hash of the user agent and IP address pair as the Visitor
ID.
3. If data.wt.dcsvid is present, a hash of its value is used instead of the Visitor ID.
You can also create your own custom measures and add them to reports in place of the
current, standard users measure.
How are sessions calculated?
Sessions are a continuous activity that record all of a user's events (hits) to a digital
property. The session starts the moment of the first event to the digital property and
continues until the session ends. Sessions close after two hours or after 30 minutes of
inactivity, or after 5,000 events.
Can I track calculated values?
You can create calculated measures such as sessions per user.
How far back will my data go?
You can access the last 25 months of your Infinity data. Backups are retained for 60
days, after which data is deleted in a manner that renders it irretrievable.
If you need to retain data for longer intervals, ask your account manager about Oracle
Infinity Extended Data Retention Cloud Service. You can also limit data retention to
shorter intervals.
©2020Oracle Corporation. All rights reserved 496 of 514
Can I build a segment based on a sequence of events?
Custom segments are very flexible and can be built for event-based segments.
Are URLs truncated?
Full URLs are available either by hovering over a URL or by changing the column width
to make the complete URL visible.
Are regular expressions supported?
These expressions are currently supported:
l Param existential test
l Param = 'String' equals
l Param != 'String' not-equals
l Param ^= 'String' starts with
l Param $= 'String' ends with
l Param %= 'String' contains
Do you have a mobile app version of Oracle Infinity?
Oracle Infinity takes advantage of HTML 5, so it can be used in larger format mobile
devices, such as tablets. The Infinity UI is not intended to work on small devices such as
mobile phones.
©2020Oracle Corporation. All rights reserved 497 of 514
Are mobile SDKs available?
We offer mobile SDKs for Android and iOS.
Are bots filtered?
Bots are filtered using an internal list of common spiders and bots. This list is updated
regularly by a joint industry-wide advisory board. Additional levels of filtering can be
created by users via various product features.
Is hit-level detail stored despite aggregation done on the fly?
Yes.
Is there an option to see a raw event string?
If you require real-time data streaming, use the Streams Query Syntax.
What about security protection of PHI or PII data?
You can use Oracle Infinity to enhance your digital services and personalization, but
administrators need to be aware of the following types of personal data collection:
l Allowable: Personally identifiable information (PII), such as first and last name or email
address, is OK to collect and process. Be sure to comply with relevant laws and regulations
and follow industry privacy best practices.
©2020Oracle Corporation. All rights reserved 498 of 514
l Prohibited: Collecting prohibited health information (PHI) and sensitive personal information
(SPI), such as credit card numbers and social security numbers, is prohibited and it may be
illegal in some jurisdictions.
Is third-party data available?
Oracle Infinity augments collected user agent information with third-party data to provide
associated device attributes and augments IP addresses with third-party data to provide
geographical attributes.
What is the latency of report data?
Our goal is to deliver all your data in minutes and while sessions are open.
Can I export data?
Oracle Infinity offers multiple ways to export your data, including:
l File exports: Save and export a report that you are viewing to a CSV, HTML, JSON or XML
file.
l REST URLs: Pull data from specific reports using our REST API.
l Data connectors: Leverage connectors for third-party business intelligence and visualization
tools, such as PowerBI and Tableau.
l Oracle Infinity Data Connector: Connect your Oracle Infinity data directly to your internal big
data platform.
Can you export data with multiple dimensions via REST?
©2020Oracle Corporation. All rights reserved 499 of 514
Currently data exports via the REST API are single-dimension only.
Can I integrate with internal systems?
The Oracle Infinity Data Connector makes your Infinity Analytics data available for
immediate delivery to your big data infrastructure (such as Hadoop), or enterprise data
warehouse (such as Teradata). For details, contact My Oracle Support (MOS).
Will social be supported?
Third-party social data is not currently available.
Are there any limitations on where we can place the Oracle Infinity
Tag?
No, but the best practice is to place it in the HTML head section. It can be placed in
HTML body, but this could interfere with the correct order of execution. For more details,
see Deploying the Oracle Infinity Tag.
How do I become a member of the Oracle Infinity Insiders group on
Topliners?
See the Topliners FAQs.
©2020Oracle Corporation. All rights reserved 500 of 514
Tip: Participation in the Oracle Infinity Insiders group requires group membership.
To request it, you must first be registered and logged in to Topliners so that the
Join this Group button is displayed. If you have trouble gaining group membership,
contact your Oracle Infinity solutions consultant.
©2020Oracle Corporation. All rights reserved 501 of 514
Oracle Infinity Analytics Glossary
A
Abandonment rate
The abandonment rate is the percentage of initiated scenarios that were not completed
during the visit.
Account
All data collected within your Oracle Infinity account flows into a unified data lake, which
simplifies cross-domain and cross-channel analysis. Sub-accounts are treated as
independent accounts for the purposes of data flow within Infinity.
Account GUID
An account GUID identifies your account. All your tags will use the same account GUID
so that all data collected for your account is stored together.
Acknowledgment Page
An acknowledgment page is typically displayed after a visitor completes an action, such
as a thank-you or receipt page displayed after a visitor completes a purchase.
Acknowledgment pages can be useful for funnel analysis, where it is an indicator of a
completed scenario.
Acquisition
©2020Oracle Corporation. All rights reserved 502 of 514
Acquisition is the process of attracting a visitor to your site.
Action
An action associates a web data source with a system. For example, an action can
configure a streams connection to an email partner system, identifying prospects for
email remarketing or cross-selling. Actions are stored, so they can be activated and run
at a specified time.
Action CenterOracle Infinity Action Center is an integration hub that connects streams data forremarketing and light data delivery.
Activity
Activity is a general term referring to nearly any site measure, such as visits, hits, and
viewing time.
Ad Click
Ad click refers to a visitor's click on an advertisement that results in a jump to the site
being advertised.
Ad hoc analysis
Ad hoc analysis is the process of formulating a specific business question and then
creating a customized view into the data that helps answer that question.
Ad View
Ad view refers to the display of an advertisement on a page that is viewed during a visit.
There may be more than one ad view on a page.
©2020Oracle Corporation. All rights reserved 503 of 514
Authenticated User
An authenticated user is a visitor who entered a user name and password to gain access
to all or part of a web site. The username (but not the password) is captured in a specific
field in web site log files or through client-side data collection tags. An authenticated
username is one of the most accurate ways to count unique visitors, but the cookie
method is typically preferred.
Average Frequency
Average frequency refers to the average of the frequencies of all the visitors during the
reporting period, where each visitor's frequency is the number of times they have visited
the site since Oracle Infinity Analytics visitor tracking began.
Average Latency
Average latency refers to the average of the latencies of all the visitors during the
reporting period, where each visitor's latency is the average elapsed time, in days,
between all their visits since Oracle Infinity visitor tracking began.
Average Lifetime Value
Average lifetime value refers to the average of the lifetime values of all the visitors during
the reporting period, where each visitor's lifetime value is the total monetary value of a
visitor's past orders since Oracle Infinity visitor tracking began.
C
Campaign
©2020Oracle Corporation. All rights reserved 504 of 514
A campaign is a specific advertising effort to attract visitors to your site. A campaign may
consist of one individual ad or a coordinated set of ads, marketing email, and graphics
treated as one entity for reporting purposes. In Oracle Infinity, you can use query
parameters to track campaigns and set up reports with a unique URL for a landing page,
a starting date, an ending date, and a cost.
CollectionA collection is a set of reports that share a common segment or set of segments toprovide a view into your data. Each collection has a name, a set of segments, a set ofreports, and permissions. Access to collection can be made available to all users orrestricted to a specific group of users.
Content group
A content group is a group of one or more web pages that are treated as one entity.
Context
Context refers to a unique Oracle Infinity Tag configuration that is selectable according
to query parameter. You can configure multiple contexts, but the Oracle Infinity Tag
supports only one active context at a time.
Conversion
Conversion refers to an action taken by a visitor that is key to measuring web site
performance or visitor goals.
Conversion rate
The conversion rate is the percentage of visitors that took a specific action of interest.
Conversion can encompass all visitors or refer to a very small and precise action.
Cookie
©2020Oracle Corporation. All rights reserved 505 of 514
Cookie typically refers to a text string stored onto the client browser by the server during
an HTTP request. Cookies enable an application web server to retrieve information
about a client, such as the domain, path, and other session variables. When a web
browser is requested to send cookie information to the server, individual web site users
can be recognized again by the unique cookie that was originally assigned to them.
CTR
The click-through rate (CTR) is a metric used to determine the success of an online
advertising campaign. CTR = clicks / views during the reporting period.
D
Data Connector
Oracle Infinity Data Connector securely transmits online behavioral data to your
customer data warehouse or big data initiative.
DCSID
A DCSID is a unique identifier associated to the set data collected from a website or
app. You use it with the WT.dcs_id parameter, which is useful when tracking multiple
DCSIDs in SmartSource files from multiple sites. For example, you can use the wt.dcs_
id=DCSID to segment your report data, such as activity for each site.
DimensionA dimension is an attribute of your data being analyzed with the help of measures andsegments, such as a campaign, a page, content group, device, location, and so on.
©2020Oracle Corporation. All rights reserved 506 of 514
DNT
Do not track (DNT) refers to a privacy framework of guidelines, browser settings, and an
HTTP header field for providing consumers with notice and choice about data collection.
E
Entry page
An entry page is the first page requested and shown in a visit. A visit has only one entry
page.
Event
An event refers to the collection of one or more key value pairs that define a specific
state or action within the tagged web page or mobile app that is sent to Oracle Infinity.
Exit page
An exit page is the last page viewed in a visit. A visit has only one exit page.
F
FunnelFunnel refers to visitors stepping through a scenario on a site or other digital propertyleading to conversion. The number of people participating in each step is usually smallerthan the step before, so a graph of participation resembles a funnel.
©2020Oracle Corporation. All rights reserved 507 of 514
H
Hit
A hit refers to a request for a file by a browser. A single web site page view can involve
dozens of requests for images, styles, and other elements, so the number of hits is a
less-helpful measure of site traffic than visits or visitors.
I
Infinity Analytics
Oracle Infinity is a digital analytics platform for tracking, measuring, and optimizing the
performance and visitor behavior of enterprise websites and mobile apps. The Analytics
application in Oracle Infinity provides a set of report collections for exploring and
managing your data.
L
LibraryThe Oracle Infinity Analytics Library is an enterprise governance tool where you can seehow objects are used, when they were edited, and by whom.
Link Tracking
©2020Oracle Corporation. All rights reserved 508 of 514
The advanced link tracking plugin provides a variety of options to configure what clicks
should be tracked.
M
Measure
A measure is a value applied to dimensions, such as a count of users, time on page, and
bounce rate. Measures are often referred to as the key performance indicators (KPIs) of a
business.
Meta Tag
A <meta> tag provides metadata about a web page that is expressed as a key value pair
that can be parsed by the Oracle Infinity Tag. For example: <meta name="parameter_key" content="parameter_value">
Mutation
Mutations are simple functions that provide a way to dynamically modify the existing
event data sent to collection. They provide access to the entire message, can alter the
data payload as it passes through the event tracking pipeline, and can specify different
communication protocols and destinations.
O
Object
©2020Oracle Corporation. All rights reserved 509 of 514
In Oracle Infinity Analytics, an object typically refers to access rights for measures,
dimensions, segments, reports, and collections.
P
ParameterA parameter is a key in a key value pair used to collect, query, and displaycorresponding data. By default, standard parameters are included in Oracle InfinityAnalytics for use in dimensions, measures, and segments.
PayloadA payload contains parameters that are about to be sent. Mutations can redefine thevalues in the payload before the data is collected.
Permissions
Permissions refer to what objects a user's rights apply to, such as specific data the user
has access to. For example, you can assign data permissions to a group that restricts
access to a specific domain.
PluginPlugins are modules that can be used to customize the behavior of the Oracle InfinityTag.
R
Recency
©2020Oracle Corporation. All rights reserved 510 of 514
Recency refers to the number of days that has elapsed since a user tracked with
persistent cookies most recently visited a site. Zero recency refers to a visit in the
preceding 24 hours. Average recency is the average of the recency of all visitors during
the reporting period. If visitors did not visit the site during the report time period, their
recency is not included.
Referrer
A referrer is a web domain, site, or page that contains a link to one of your site pages that
was used by a visitor to get to your site. For details, see HTTP referer field.
Report
A report is a definition or expression for how you want to query your data. At least one
dimension and one measure are required to build a report and segments are optional.
Reports are assigned to a single category and can be assigned to multiple report
collections. Oracle Infinity Analytics includes some standard reports, which provide you
with a starting point for further ad hoc data exploration. You can also create your own
reports.
Rights
Rights refer to what you can perform in Oracle Infinity and are typically assigned to a role
that is then assigned to a group. Each feature set has a different set of available rights.
Role
A role is a set of predefined rights that you can assign to a group. Each feature set has a
different set of available rights.
©2020Oracle Corporation. All rights reserved 511 of 514
S
Scenario
A scenario is a multi-step process, such as a typical visitor path on your website used to
measure conversion or abandonment. Scenarios can be defined many ways, such as
the entire shopping process, a finite checkout process at an ecommerce site, a
registration process at a lead generation site, or a search process at an information site.
SCS
The streaming collection server (SCS) has an advanced processing engine that
analyzes and enriches your event data and makes it available to an API in JSON format,
which can be consumed by an application via a WebSockets connection and the
streams API.
Segment
A segment is a subset of your data based on rules that define a meaningful grouping,
such as by region, device, returning customer, and so on.
Session
A session is a unique visit during which an individual visits one or more web pages on
your site or mobile app over a specific interval. You can view session streams to learn
more about the visitor based on events during the current session.
Sparkline
©2020Oracle Corporation. All rights reserved 512 of 514
A sparkline is a trend line graph without axes that is designed to give a quick
representation of numerical or statistical information within a piece of text.
T
Tag ID
A tag ID allows you to assign access rights to your Oracle Infinity Tags and put them into
a hierarchical format.
Target page
A target page is the page to which the visitor is sent by a redirect page.
Tracking PipelineTracking Pipeline refers to a message bus used by the Oracle Infinity Tag to passcollected events to Oracle Infinity. Tag plugins can inject new event messages into theevent tracking pipeline or modify existing messages as they pass through.
U
UI
The Infinity user interface (UI) provides a list of icons on the left-hand side of the home
page and subsequent screens. This navigation bar is always present and the blue bar
near the top of the screen indicates your current location. At the bottom left of the screen
©2020Oracle Corporation. All rights reserved 513 of 514
is the Account menu from which you can sign out, change your profile, or switch to other
accounts you can access.
Unique visitors
Unique visitors refers to the number of unique individuals identified by a persistent
cookie who visited your site during a specified interval. If someone visits more than once
during the interval, they are counted as one unique visitor. Unique visitors may not
perfectly match the number of unique individuals visiting the site, because someone may
visit a site from more than one computer and multiple people may share the one
computer to access a site.
URI Stem
URI stem refers to the portion of a URL that appears after the host and port, but precedes
the query string. It is typically a directory that is accessed, relative to the web server's
root directory. For example, in the URL http://www.oracle.com/test.jsp?hello=y
the URI stem is /test.jsp.
V
Visitor
A visitor is a person using a device and a browser or an app to visit a digital property
during a specified interval. A person may use different devices, browsers, or apps so it is
possible for them to appear as more than one visitor. Multiple people can appear as one
visitor if they share the same device.
©2020Oracle Corporation. All rights reserved 514 of 514
W
WT
WT is a parameter prefix that stands for web tracking.