You are on page 1of 39

Adobe Marketing Cloud

ClickStream Data Feeds

Contents
Clickstream Data Feeds Help.................................................................................3
What's New...............................................................................................................4
Configuring Data Feeds..........................................................................................8
Data Feed Contents...............................................................................................11
Clickstream Data Column Reference...................................................................14
Page Event Lookup...............................................................................................................30
Hit Source Lookup.................................................................................................................31

Calculating Metrics................................................................................................32
Pre and Post Columns..........................................................................................35
Special Characters................................................................................................36
Troubleshooting.....................................................................................................38
Contact and Legal Information.............................................................................39

Last updated 8/18/2014

ClickStream Data Feeds

Clickstream Data Feeds Help

Clickstream Data Feeds Help


Important: See What's New to learn about an upcoming column expansion that impacts all data feeds
customers.
Raw clickstream data that is collected from web sites, mobile apps, or is uploaded using web service APIs or data
sources, is processed and stored in Adobe's data warehouse. This raw clickstream data forms the data set that is
used by Adobe Analytics.
As a service, Adobe can deliver this raw data to the customer in a batched manner on a recurring daily or hourly
delivery schedule. This service is called the "raw clickstream data feed", or just "data feed." Each data feed comprises
the clickstream data for a single report suite.
To get started with clickstream data feeds, see Configuring Data Feeds.
For column reference for an existing feed, see Clickstream Data Column Reference.

What's New

What's New
Cumulative release notes for Clickstream data feeds.
New OS Types Lookup File coming June 19, 2014
Clickstream data feed customers that are currently receiving the os column will automatically receive an additional
lookup file for OS types starting June 19, 2014. Before this date, ensure that your processing system is prepared to
receive this additional lookup file.
Mobile Carrier Column Now Available
Mobile carrier data is now available in clickstream data feeds (this data is currently displayed on the Visitor Profile
> Technology > Mobile Carrier report in marketing reports & analytics). Contact customer care to have this column
added.
Data Feed Column Expansion
Adobe is currently evaluating an increase to the size of many data feed fields. Before these field sizes are increased,
you need to expand the data fields in your ETL system to accommodate these new sizes. You also need to expand
the fields used to store lookup file keys, as these are increasing in size as well. Note that the column expansions
that were previously scheduled for April 2014 have been postponed, and an announcement will be included in the
release notes when these expansions are rescheduled.
Note: You can download a sample data feed with expanded columns and lookup files to test your ETL process.
We recommend all customers test processing of this sample feed to prepare for the upcoming expansion.
Lookup file key expansion
The column used to store each lookup file key value should be expanded to store a 32-bit unsigned integer.
Note that additional lookup files could be added to the data feed when additional columns added, If possible your
ETL system should be designed to accommodate the addition of new lookup files without impacting processing.
String expansion
Expand the following columns to store a 255 character string:
ip2

click_tag

click_action

page_event_var2

post_page_event_var2

pagename

post_pagename

post_pagename_no_url

channel

post_channel

user_server

t_time_info

post_t_time_info

domain

first_hit_pagename

visit_start_pagename

transactionid

post_transactionid

prop1-75

post_prop1-75

ref_domain

code_ver

geo_zip

plugins

accept_language

c_color

ct_connect_type

ip

page_type

post_ page_type

What's New

purchaseid

post_purchaseid

s_resolution

ua_color

ua_pixels

visit_keywords

post_keywords

stats_server

geo_city

geo_region

j_jscript

state

post_state

zip

post_zip

namespace

currency

post_currency

ua_os

Integer expansion
Expand the following columns to store a 32-bit unsigned integer:
browser_height

browser_width

search_engine

post_browser_height

post_browser_width

browser (Feb 20, 2014)

color

country

language

os (Feb 20, 2014)

resolution

visit_search_engine

geo_dma

post_search_engine

search_page_num

October 17, 2013


Social, Mobile, and Video solution variables are now available
You can now receive solution variables in data feeds, which currently includes Social, Mobile, and Video metrics.
To update your data feed definition to add solution variables, contact Customer Care.
Event lookup file now included in data feed download
Starting October 17, 2013, an additional event lookup file will be added to all data feeds. Your ETL might require a
modification to consider this file.
This new lookup file provides a map for all events, including shopping cart events, instance events, custom events,
mobile-specific events, social-specific events, and so on. Be aware that the map for Mobile, Social, and Video
solution event numbers are different for each report suite. The event lookup file delivered with each report suite
should be considered specific to that report suite.
May 23, 2013
Hourly Data Feeds
Hourly data feeds provide customers raw Analytics data in hourly increments instead of the normal daily increments.
By splitting the data into hourly increments, the data can be delivered in a more timely manner with less peak load
on both origination and destination servers. See Configuring Data Feeds.
February 14, 2013
Format of post_product_list column when events are present but product is empty

What's New

In post_product_list, If events are contained on the event list for a given hit but there is no product in the product
list, the post_product_list contains four semicolons:
;;;;

or in rare cases as semicolon, semicolon, zero, semicolon, zero, semicolon:


;;0;0;

If you are performing a check for an empty product list you should update your ETL to handle both formats.
January 22, 2013
Expansion of page_url and page_event_var1 Columns
These columns were expanded to store URLs that are longer that 255 characters. This change enables you to
receive the entire URL of each page and tracked link, which might contain long query strings or other values that
were previously truncated at 255 characters.
After this change, the page_url and page_event_var1 length will increase from 255 bytes to 64 kilobytes. Update
any applications or scripts that you are using to process the data feed to use a 64Kb variable to store these strings.
If you are storing the data feed in a database, make sure that the page_url and page_event_var1 columns are large
enough to contain a string up to 64Kb. Alternatively, if your systems require the truncated versions of these columns,
please make certain your ETL handles truncation appropriately.
This change does not impact the post_page_url or post_page_event_var1 columns, which remain at 255 characters.
June 21, 2012
You may now opt to receive clickstream data feed data as a once-daily package of multiple files rather than a single
large monolithic file. The multiple file package is particularly useful for report suites with very high traffic volumes
and has several advantages:
Improved delivery consistency, especially during days with traffic spikes.
Better parallel data processing. Using the multiple file package can significantly reduce the time required to
compress and extract large data sets.
The following additional optional columns are now available for inclusion in your data feed. In order to maintain
compatibility with your current ETL processes, existing data feeds will not be altered unless requested to Customer
Care through your Supported User.
post_event_list
post_ page_event
post_page_event_var1
post_page_event_var2
post_ page_type
post_page_url
post_pagename
post_pagename_no_url
post_product_list
post_channel
post_mvvar1 post_mvvar3

What's New

post_purchaseid
post_referrer
post_state
post_hier1-post_hier5
post_currency
post_partner_plugins
visit_keywords
post_transactionid
post_page_event_var3
va_instance_event
va_new_engagement
post_prop1-post_prop75
tnt_post_vista

Configuring Data Feeds

Configuring Data Feeds


Data feeds are enabled by Customer Care and delivered using FTP.
This section provides an overview of data feed options and the one-time configuration process.
FTP File Delivery
Data feed data can be delivered to an Adobe or customer hosted FTP location.
If you select to have data uploaded to your FTP server, you must provide Adobe with the appropriate username,
password, and upload path. You must implement your own process to manage disk space on the server, as Adobe
does not delete any data from the server.
Delivery Formats and Contents
Daily: Data for each day is delivered after it is processed in a single zipped file, or in multiple zipped files each
containing approximately 2 GB of uncompressed data. You receive a single delivery for each day.
Hourly: Data for each hour is delivered in a single zipped file that contains all data received during that hour. You
receive 24 separate deliveries for each day, with each file delivered after the data for that hour is processed.
Hourly Data Feeds
It is important to understand that the term hourly describes the time frame of the data that is sent with each individual
data export, and not the time frame in which the delivery occurs. Hourly data feeds are processed and delivered in
a best effort fashion. However, there are several factors that can impact the delivery time of an hourly data feed
including:
Report suite latency (i.e. unannounced spike in traffic)
Upstream processing
Peek and non-peak hours
Internet connection speeds
For hourly data feeds the expectation is that 95% of the time the feed will deliver within six hours of the close of that
hours worth of data.
Receiving an hourly data feed is different then receiving daily feed with multiple file delivery. When receiving hourly
data feeds the data for each day is split into 24 files based on the data collected during that hour, and each file is
delivered as soon as it is available. A daily feed that is delivered in multiple files is delivered once per day after the
previous day's data is processed, and is spilt into 2GB increments based on the amount of data collected.
Multiple File Delivery
You can select single file or multiple file delivery when the data feed is created. When setting up a daily feed, we
recommend selecting multiple file delivery, due to the significant performance increases gained when compressing
and uncompressing files that are larger than 2 GB. Multiple file delivery makes it easier to process data in parallel.
Data files are always split on a complete record and can be easily concatenated after extraction.

Configuring Data Feeds

One Time Configuration Process


Task

Performed By

Description

Select data columns

Customer

Review the clickstream data columns and determine


the data you would like to receive. Adobe also provides
a recommended column set that can be selected.

Select FTP location

Customer

Select an FTP location where Adobe should deliver


data feed files. Adobe can provide FTP hosting for the
files if preferred.

Contact Adobe Customer Care to


configure the data feed.

Customer

Contact Customer Care through your Supported User


and provide:
The report suite that contains the data you want in the
feed.
The columns you want in the data set.
Daily or hourly data delivery. If Daily, select single file
or multiple file delivery (multiple recommended).
FTP hostname, credentials, and path.

Delivery Process
Task

Performed By

Description

Data collection

Adobe

Server calls are collected and processed in Adobe Data


Collection servers.

Feed generation

Adobe

After data is processed for the delivery period (previous


hour or previous day), the data is exported to the data
feed. The feed is stored in delimited format and
compressed.

Delivery to customer

Adobe

The compressed data is transferred to customer-hosted


or Adobe-hosted FTP site. When complete, a manifest
file (or .fin file for older feeds) is transferred indicating
that the delivery is complete.

Data download

Customer

The customer monitors the FTP for the manifest file.


This file contains details on all files that were delivered.

Manifest file processing

Customer

The manifest file is read and each listed file is


downloaded.

Data is uncompressed and processed Customer

Downloaded files are uncompressed and processed.

Configuring Data Feeds

10

After you have configured your data feed, continue to Data Feed Contents to understand what files you will receive.

Data Feed Contents

11

Data Feed Contents


This section describes the files found in a data feed delivery.
Manifest File
The manifest file contains the following details about each file that is part of the uploaded data set:
file name
file size
MD5 hash
number of records contained in the file
The manifest file follows the same format as a Java JAR manifest file.
The manifest file is always delivered last as a separate .txt file, so that its existence indicates that the complete
data set for that request period has already been delivered. Manifest files are named according to the following:
<report_suite_id>_YYYY_MM_DD.txt

A typical manifest file contains data similar to the following:


Datafeed-Manifest-Version: 1.0
Lookup-Files: 1
Data-Files: 1
Total-Records: 611
Lookup-File: bugzilla_2012-09-09-lookup_data.tar.gz
MD5-Digest: af6de42d8b945d4ec1cf28360085308
File-Size: 63750
Data-File: 01-bugzilla_2012-09-09.tsv.gz
MD5-Digest: 9c70bf783cb3d0095a4836904b72c991
File-Size: 122534
Record-Count: 611

Every manifest file contains a header, indicating the total number of lookup files, data files, and total number of
records in all data files. This header is followed by multiple sections containing information for each file included in
the data feed delivery.
Some feeds are configured to receive a rsid_YYYY-MM-DD.fin file instead of a .txt manifest. The .fin indicates
that the upload is complete, but it contains no metadata about the upload.
Lookup Files
Lookup files do not contain hit data, these are supplemental files that provide the column headers for the hit data,
and lookup files to translate the IDs found in the data feed to actual values. For example, a value of "497" in the
browser column indicates that the hit came from "Microsoft Internet Explorer 8".
Note that the column_headers.tsv and event_list.tsv are specific to the data feed and report suite. Other files,
such as browser.tsv, are generic.
The lookup files are delivered together in a compressed zip named according to the following:
<report_suite_id>_<YYYY-mm-dd>-<HHMMSS>-lookup_data.<compression_suffix>

column_headers.tsv (customized for this data feed)


browser.tsv
browser_type.tsv
color_depth.tsv
connection_type.tsv

Data Feed Contents

12

country.tsv
javascript_version.tsv
languages.tsv
operating_systems.tsv
plugins.tsv
resolution.tsv
referrer_type.tsv
search_engines.tsv
event_lookup.tsv (customized for this data feed)
For hourly delivery, lookup files are delivered only with the data for the first hour of each day.
Hit Data Files
Hit data is provided in a hit_data.tsv file. The amount of data in this file is determined by the delivery format
(hourly or daily, and single or multiple files). This file contains only hit data. The column headers are delivered
separately with the lookup files. Each row in this file contains a single server call.
Delivery Contents
The actual files delivered by Adobe vary based on the type of data feed that you have configured. Find the configuration
that matches your data feed in the following table for a description of the delivered files.
The time (HHMMSS) indicated in a file name always indicates the beginning of the date range for the data in the
file, regardless of when the file was produced or uploaded.
Delivery Format Description
Daily, single file

After data is collected for a day, you will receive a delivery that contains the following:
a single compressed data file.
A manifest file.
The data file is delivered with the following name:
<report_suite>_<YYYY-mm-dd>.<compression_suffix>

Where <compression_suffix> is either tar.gz or zip.


When extracted, the data file contains a single hit_data.tsv file with all data for that day, as
well as the compressed lookup files described above.
The hit data file size varies greatly depending on the number of variables actively used and
amount of traffic on the report suite. However, on average, a row of data is approximately 500B
(compressed) or 2KB (uncompressed). Multiplying this by the number of server calls can provide
a rough estimate on how large a data feed file will be.
Daily, multiple file

After data is collected for a day, you will receive a delivery that contains the following:
One or more compressed data files, broken into 2 GB chunks.
A manifest file.
Each data file is delivered with the following name:
<index>-<report_suite>_<YYYY-mm-dd>.<compression_suffix>

Data Feed Contents

13

Delivery Format Description


Where <index> is an incrementing file index from 1 to n, given n files, and <compression_suffix>
is either tar.gz or zip.
When extracted, each data file contains a single hit_data.tsv that contains approximately 2
GB of uncompressed data, as well as the compressed lookup files described above.
Hourly, single file

After data is collected for an hour, you will receive a delivery that contains the following:
a single data file.
A manifest file.
The data file is delivered with the following name:
<report_suite>_<YYYY-mm-dd>-<HHMMSS>.<compression_suffix>

Where <compression_suffix> is either tar.gz or zip.


When extracted, the data file contains a single hit_data.tsv file with all data for that hour.
The compressed lookup files described above are delivered only with the data for the first hour
of each day.
Hourly, multiple
file

After data is collected for an hour, you will receive a delivery that contains the following:
One or more compressed data files, broken into 2 GB chunks.
A manifest file.
Each data file is delivered with the following name:
<index>-<report_suite>_<YYYY-mm-dd>-<HHMMSS>.tsv.<compression_suffix>

Where <index> is an incrementing file index from 1 to n, given n files, and <compression_suffix>
is either gz or zip
When extracted, each data file contains a single hit_data.tsv that contains approximately 2
GB of uncompressed data. The compressed lookup files described above are delivered only
with the data for the first hour of each day.

Clickstream Data Column Reference

14

Clickstream Data Column Reference


Table data describing the columns in the data feed.
Column name

Column description

Data type

Example lookup

accept_language

The accept language header from


the browser.

String (255 characters)

en-us, ja;q=0.62, de

browser

The browser ID (has lookup table)


actually used for the hit. See
pre_browser.

32-bit unsigned integer

See Browser Lookup and


Browser Type Lookup Key:
FK

browser_height

Height in pixels of browser window. 32-bit unsigned integer

806 Key: FK

browser_width

Width in pixels of browser window. 32-bit unsigned integer

1280

c_color

Color depth as generated from


JavaScript.

String (255 characters)

32

campaign

The campaign value passed in on


the hit. May not end up being the
value that gets passed to the
interface (see post_campaign).

String (255 characters)

1123

channel

Custom traffic variable for site


sections (channels).

String (255 characters)

[Custom]

click_action

Visitor click map information. This String (255 characters)


information is what is contained in
the address of the link the user
clicked on (URL / JS function, etc.)

http://www.adobe.com

click_action_type

Visitor click map information. The


type of link clicked on.

click_context

Visitor click map information. This String (255 characters)


is the pagename (or URL if no
pagename is declared) for the page
on which the link click occurred

homepage

click_context_type

Visitor click map information. The 8-bit unsigned integer


type of click_context (indicates
whether the pagename or URL was
used)

click_sourceid

Visitor click map information. This 32-bit unsigned integer


is the numeric ID for the location on
the page where the link is located

396

click_tag

Visitor click map information. The String (255 characters)


type of link or form element that was
clicked on.

code_ver

The version of code in the JS file


creating the image request.

String (255 characters)

G.7-pD-S

color

Color depth ID (has lookup table)


that we ended up using for the hit.
See pre_color.

32-bit unsigned integer

See Color Depth Lookup


Key: FK

8-bit unsigned integer

Clickstream Data Column Reference

15

connection_type

Connection type ID (has lookup


table).

8-bit unsigned integer

cookies

Specifies whether JavaScript


session cookie is accepted.

string (1 character)

country

Country ID (has lookup table).

32-bit unsigned integer

See Country Lookup Key:


FK

ct_connect_type

Connection type of the browsers


computer.

String (255 characters)

modem

curr_factor

How the currency rate is stored.

8-bit unsigned integer

curr_rate

Current exchange rate when the


transaction occurred.

Decimal (24 significant


digits,12 digits after the
decimal point )

currency

Type of currency for the transaction. String (255 characters)

USD

cust_hit_time_gmt

(timestamp-enabled report suites 32-bit unsigned integer


only) The timestamp sent with the
hit. This "timestamp" is in Unix time
(number of seconds since Jan 1,
1970.)

1102750716

cust_visid

A visitor ID passed in with the hit to String (255 characters)


be used as the visitor ID for the hit
(instead of using visid_high and
visid_low)

UserID123ABC

daily_visitor

A flag to determine if current hit is


a new daily visitor.

date_time

The time in readable format in Time datetime


Zone specified by Report Suite ID.
Set by Adobe servers. Adobe
servers combine
post_cust_hit_time_gmt and the
report suite's time zone to create
date_time. hit_time is in the
timezone of the report suite

YYYY-MM-DD HH:MM:SS
(this is not in Unix time.)

domain

Domain of users ISP.

String (255 characters)

example.com

duplicate_events

Lists each event that was counted


as a duplicate.

String (255 characters)

[Custom]

8-bit unsigned integer

duplicate_purchase A flag indicating that the purchase 8-bit unsigned integer


event for this hit should be ignored
because it is a duplicate.

evar1-75

Custom commerce variable 1 - 75. String (255 characters)

[Custom]

event_list

Comma separated list of numeric


IDs representing events passed in
from the customer.

For event ID to name


mapping, see the
event_lookup.tsv that is
delivered with the data feed.

text

Clickstream Data Column Reference

exclude_hit

Hit excluded by client rule.

16

8-bit unsigned integer

See Exclude Lookup Key:


FK
Hits that have a value other
than 0 for this column are
not used by Analytics
reports and should be
ignored when calculated
metrics.
Note that visit_num is not
incremented for excluded
hits

first_hit_page_url

The original entry page URL.

String (255 characters)

http://www.adobe.com

first_hit_pagename The original entry page pagename. String (255 characters)

homepage

first_hit_referrer

Original referrer - referrer of first hit String (255 characters)


ever for the visitor.

http://www.yahoo.com

first_hit_time_gmt

Timestamp of the first hit in GMT.

32-bit unsigned integer

1102750716

geo_city

City from Digital Envoy.

String (255 characters)

los angeles

geo_country

Country from Digital Envoy.

String (255 characters)

usa

geo_dma

DMA from Digital Envoy.

32-bit unsigned integer

[Custom]

geo_region

Region / State from Digital Envoy.

String (255 characters)

ca

geo_zip

Zip code based on IP-address


lookup

String (255 characters)

84103

hier1-5

Delimited list of values as passed


in on the image request. The
delimiter is chosen by the client
during implementation.

String (255 characters)

[CUSTOM],[CUSTOM],[CUSTOM]

hier3

Delimited list of values as passed


in on the image request. The
delimiter is chosen by the client
during implementation.

String (255 characters)

[CUSTOM],[CUSTOM],[CUSTOM]

hier4

Delimited list of values as passed


in on the image request. The
delimiter is chosen by the client
during implementation.

String (255 characters)

[CUSTOM],[CUSTOM],[CUSTOM]

hier5

Delimited list of values as passed


in on the image request. The
delimiter is chosen by the client
during implementation.

String (255 characters)

[CUSTOM],[CUSTOM],[CUSTOM]

hit_source

A flag for the back-end processing 8-bit unsigned integer


to know what type of hit the data is.

See Hit Source Lookup

hit_time_gmt

Set by Adobe servers, this is the


32-bit unsigned integer
timestamp used for
non-timestamped report suites.This

1096614122

Clickstream Data Column Reference

17

"timestamp" is in Unix time (number


of seconds since Jan 1, 1970.)
hitid_high

Used to uniquely identify a hit. The 64-bit unsigned integer


combination of hitid_low and
hitid_high creates a unique ID for
the row.

hitid_low

Used to uniquely identify a hit. The 64-bit unsigned integer


combination of hitid_low and
hitid_high creates a unique ID for
the row.

homepage

Homepage flag, whether or not this string (1 character)


page was the user's homepage

hourly_visitor

A flag to determine if current hit is


a new hourly visitor.

ip

IP address of user's computer, from String (255 characters)


users ISP.

ip2

A second IP address to be used by String (255 characters)


VISTA to determine validity of hits.

j_jscript

Version of JavaScript supported by String (255 characters)


browser.

java_enabled

Flag indicating whether or not java string (1 character)


is enabled.

javascript

Version of Javascript.

8-bit unsigned integer

See Javascript Version


Lookup Key: FK

language

Language ID (has lookup table).

32-bit unsigned integer

See Languages Lookup


Key: FK

last_hit_time_gmt

Timestamp of the previous hit in


GMT

32-bit unsigned integer

1102751965

32-bit unsigned integer

last_purchase_time_gmt The time of the previous purchase. 32-bit unsigned integer

last_purchase_num The purchase number of the


previous purchase.

8-bit unsigned integer

1. 14988E+15 Key: PRI

1. 50367E+16 Key: PRI

1. 112.89.14

1. 3

mcvisid

Marketing Cloud Visitor ID The


String (255 characters)
Marketing Cloud Visitor ID is a
128-bit number that consists of 2
signed, positive, 64-bit numbers in
base 10, both padded to 19 zeros,
and then concatenated.

mobile*
post_mobile*

Mobile solution variables. See


Mobile Solution Variables

mobile_id

The ID of the mobile device which


passed the hit into marketing
reports.

32-bit unsigned integer

23

monthly_visitor

A flag to determine if current hit is


a new monthly visitor.

8-bit unsigned integer

1. 64983E+37

Clickstream Data Column Reference

18

mvvar1-3

Mvvars are multi-value fields


provided to allow customers to
implement custom multi-value
projects. Also known as "list
variables" in Adobe Marketing
Reports & Analytics.

text

namespace

Not currently populated; reserved


for future release.

String (255 characters)

new_visit

A flag that determines if the current 8-bit unsigned integer


hit is a new visit.

os

Operating system ID (has lookup


table).

32-bit unsigned integer

See Operating Systems


Lookup Key: FK

p_plugins

List of plugins available to the


browser.

text

page_event

Page event ID, the type of hit that


is sent in the request. Look-ups
provided for type of event
(normal,download, exit, custom)

8-bit unsigned integer

page_event_var1

Related to the page_event column. text


It is the URL of the download link,
exit link or custom link clicked.

http://www.adobe.com

page_event_var2

If you have individually named your String (255 characters)


link, this column contains the link
name.

homepage_buy

page_event_var3

Used for both Survey and Media


text
module, and serves as the
pre-version for both modules. (This
column contains the value passed
in on the hit for the page event.)

page_type

page type variable (only used for


error page).

page_url

The URL of the pageview. The


text
address of the page in the address
bar of the browser.

htp:/www.adobe.com/search/search_results.htm

pagename

The name of the page (if set).

search_results

paid_search

A (1/0) flag that determines if the hit 8-bit unsigned integer


was used for paid search tracking.

partner_plugins

Not usable by customers. This is a String (255 characters)


comma-separated list of plungin_ids
(usually about 5 characters each)
for plugins that partners have
registered with us.

persistent_cookie

A flag indicating if 3rd party cookies string (1 character)


and/or persistent cookies are
enabled.

String (255 characters)

String (255 characters)

0 See Page Event Lookup

errorPage

Clickstream Data Column Reference

19

plugins

List of plugin IDs available to the


browser (has lookup table) This is
the post value.

String (255 characters)

See Plugins Lookup Key:


FK

post_ page_event

Page event ID, the type of hit that


is sent in the request.

8-bit unsigned integer

0 See Page Event Lookup

post_ page_type

page type variable (only used for


error page).

String (255 characters)

errorPage

post_browser_height Height in pixels of the browser


window.

32-bit unsigned integer

600

post_browser_width Width in pixels of the browser


window.

32-bit unsigned integer

868

post_campaign

Persisting value of campaign.

String (255 characters)

[Custom]

post_channel

Custom traffic variable for site


sections (channels).

String (255 characters)

[Custom]

post_cookies

Specifies whether JavaScript


session cookie is accepted.

string (1 character)

post_currency

Type of currency for the transaction. String (255 characters)

post_cust_hit_time_gmt Timestamp actually used for the hit, 32-bit unsigned integer
this is cust_hit_time_gmt for
timestamp-enabled report suites, or
hit_time_gmt otherwise.

USD
1102750716

post_cust_visid

Post version of the cust_visid field. 8-bit unsigned integer


What we ended up using for the hit.

post_evar1-75

Persisting value of evar1-75.

String (255 characters)

[Custom]

post_event_list

Comma separated list of numeric


IDs representing events passed in
from the customer.

text

For event ID to name


mapping, see the
event_lookup.tsv that is
delivered with the data feed.
Key: FK

post_hier1-5

Delimited list of values as passed


in on the image request. The
delimiter is chosen by the client
during implementation.

String (255 characters)

[CUSTOM],[CUSTOM],[CUSTOM]

post_java_enabled Flag indicating whether or not java string (1 character)


is enabled.

post_keywords

The keywords that were actually


used for the hit.

my keyword

post_mvvar1-3

Post-processed mvvars. "What we text


ended up using for the hit."

String (255 characters)

post_page_event_var1 Related to the page_event column. String (255 characters)


It is the URL of the download link,
exit link or custom link clicked.

http://www.adobe.com

post_page_event_var2 If you have individually named your String (255 characters)


link, this column contains the link
name.

homepage_buy

Clickstream Data Column Reference

20

post_page_event_var3 Used for both Survey and Media


text
module, and serves as the
pre-version for both modules. (This
column contains the value passed
in on the hit for the page event.)
post_page_url

The URL of the pageview. The


String (255 characters)
address of the page in the address
bar of the browser.

htp:/www.adobe.com/search/search_results.htm

post_pagename

The name of the page (if set). If no String (255 characters)


page is specified the URL is placed
in this value.

search_results

post_pagename_no_url The name of the page (if set). If no String (255 characters)
page is specified this value is left
empty.

search_results

post_partner_plugins List of partner plugins available to


the browser (has lookup table).

String (255 characters)

post_persistent_cookie Flag indicating if 3rd party cookies string (1 character)


and/or persistent cookies are
enabled.

post_product_list

Format is comma separated


list of: category; product;
quantity; cost;
custEventsDecValues;
merchandisingValues

The product list as passed in


through the JavaScript.

text

Computers;HP
Pavillion;1;1000;200|201,Office
Supplies
post_prop1-75

Custom traffic variables 1 - 75.

String (255 characters)

post_purchaseid

Unique identifer for a purchase.


String (255 characters)
Identifies a duplicate purchase (see
duplicate_purchase).

post_referrer

Page prior to the current page.

[Custom]
1584A9646G

String (255 characters)

post_search_engine The numeric ID of the search engine 32-bit unsigned integer


that was actually used and stored.

Search Engine Lookup

post_state

Geographical region (i.e. Arizona,


Utah, Saxony [German Region])
passed in on JavaScrip. Normally
only set on a purchase page.

String (255 characters)

AZ

post_survey

Post column for the marketing


reports and Survey integration.
Processed based on
page_event_var3.

text

3826-0-0--**--3826-1-1--**--3826-2-0

post_t_time_info

Raw time info from JavaScript.

String (255 characters)

12/11/2004 4:23:31 1 +420

post_tnt

Post column for Analytics and


Target integration.

text

Clickstream Data Column Reference

21

post_tnt_action

Post column for Analytics and


Target integration.

text

post_transactionid

A unique identifier where various


data points can be uploaded later
via Data Sources.

String (255 characters)

post_visid_high

The visid_high value that we ended 64-bit unsigned integer


up using for the hit.

post_visid_low

The visid_low value that we ended 64-bit unsigned integer


up using for the hit.

post_visid_type

Post version of the visid_type


column. What we ended up using
for the hit.

8-bit unsigned integer

A1B2C3D4

0=Custom VisitorID (A
custom visitor ID was set in
the code using s.visitorID)
1=IP&UA fallback (cookies
were rejected by browser)
2=Wireless (HTTP Mobile
Subscriber Header
identified as mobile carrier)
3=Adobe (server generated,
stored in s_vi on client)
Default method.
4=Fallback cookie (new
fallback ID, JavaScript
generated, stored in s_fid
on client, added in H25.3)
5=Visitor ID Service
See Identifying Unique
Visitors.

post_zip

Post version of the zip field. What


we use for the hit.

String (255 characters)

prev_page

The page id of the previous page. 32-bit unsigned integer


This is an internal identifier and not
useful to the customer.

product_list

The product list as passed in


through the JavaScript.

text

Format is comma separated


list of: category; product;
quantity; cost;
custEventsDecValues;
merchandisingValues
Computers;HP
Pavillion;1;1000;200|201,Office
Supplies

Clickstream Data Column Reference

22

product_merchandising Replaced by post_product_list as


of April 2011. Contains data for
Merchandising evars as they relate
to products.
prop1-75

Custom traffic variables 1 - 75.

String (255 characters)

[Custom]

purchaseid

Unique identifier for a purchase.


String (255 characters)
Identifies a duplicate purchase (see
duplicate_purchase).

1584A9646G

quarterly_visitor

A flag to determine if current hit is


a new quarterly visitor.

8-bit unsigned integer

[Custom]

ref_domain

The referring domain of the hit


(based on referrer).

String (255 characters)

ref_type

Integer representing the type of


referral for the hit. Lookup values
can be obtained from
referrer_type.csv lookup table.

8-bit unsigned integer

referrer

Page prior to the current page.

String (255 characters)

resolution

Resolution id (has lookup table).

32-bit unsigned integer

s_resolution

Screen resolution as passed in from String (255 characters)


JavaScript.

1024x768

sampled_hit

A (Y/N) field if the hit was used


string (1 character)
(sampled) or not for ad hoc analysis.

search_engine

Search engine ID, has lookup table 32-bit unsigned integer

See Search Engine Lookup


Key: FK

See Resolution Lookup


Key: FK

search_page_num The page number of search results 32-bit unsigned integer


that the keywords were on from the
search engine.

secondary_hit

Used to track secondary hits.


8-bit unsigned integer
Secondary hits are charged at a rate
of 50% of the normal costs.

service

Deprecated. pe or ss - type of hit


String (2 characters)
coming through. The page_event
column gives the same information
but in more detail.

ss

social*

Social solution variables. See Social


Solution Variables

post_social*
sourceid

Adobe proprietary column


information

32-bit unsigned integer

state

Geographical region (i.e. Arizona,


Utah, Saxony [German Region])
passed in on JavaScript. Normally
only set on a purchase page.

String (255 characters)

AZ

Clickstream Data Column Reference

23

stats_server

Adobe internal server that


processed the hit.

String (255 characters)

www263.omniture.com

t_time_info

Raw time information from


JavaScript.

String (255 characters)

26/11/2013 4:23:31 1 420

tnt

Pre column for Analytics and Target text


integration.

tnt_action

Pre column for Analytics and Target text


integration.

transactionid

A unique identifier where various


data points can be uploaded later
via Data Sources.

truncated_hit

A (Y/N) field that determines if the string (1 character)


query string of the hit was truncated
or not. i.e.

ua_color

Screen color depth. Stands for User String (255 characters)


Agent Color. From HTTP header
sent by older browsers.

ua_os

Screen color depth. Stands for User String (255 characters)


Agent Operating System. From
HTTP header sent by older
browsers.

ua_pixels

Screen color depth. Stands for User String (255 characters)


Agent Pixels. From HTTP header
sent by older browsers.

user_agent

User agent as found in the HTTP


header sent from the browser.

text

user_hash

The hash on the report suite ID.

32-bit unsigned integer

user_server

Custom traffic variable for servers. String (255 characters)

[Custom]

userid

The numeric ID for the report suite 32-bit unsigned integer


ID (normally seen in the name of
DW files).

644614

username

The report suite ID.

String (255 characters)

adobe

va_closer_detail

Detail for last-touch value in


Marketing Channels reports.

String (255 characters)

va_closer_id

ID for last-touch value in Marketing 8-bit unsigned integer


Channels reports.

va_finder_detail

Detail for first-touch value in the


Marketing Channels Report.

va_finder_id

ID for first-touch value in Marketing 8-bit unsigned integer


Channels reports

String (255 characters)

String (255 characters)

va_instance_event Instance event for first-touch value 8-bit unsigned integer


in Marketing Channels reports
va_new_engagement New engagement for first-touch
8-bit unsigned integer
value in Marketing Channels reports

A1B2C3D4

3757249664

Clickstream Data Column Reference

video*
post_video*

24

Video solution variables. See Video


Solution Variables

visid_high

Part 1 of the visitorID. The


combination of two visitor IDs
(visid_high and visid_low) creates
a unique visitor ID.

64-bit unsigned integer

visid_low

Part 2 of the visitorID. The


combination of two visitor IDs
(visid_high and visid_low) creates
a unique visitor ID.

64-bit unsigned integer

visid_new

Indicates whether this is a


string (1 character)
newly-generated visitorID. Only
available if visid_type=3 (Example:
a new s_vi cookie was generated).

visid_timestamp

If the visitorID was generated by us 32-bit unsigned integer


(visid_type=3), this is the timestamp
for when the ID was originally
created.

visid_type

Integer that specifies how the


8-bit unsigned integer
visitorID was calculated (based on
a lookup).

1. 70E+18

1. 21E+17

0=Custom VisitorID (A
custom visitor ID was set in
the code using s.visitorID)
1=IP&UA fallback (cookies
were rejected by browser)
2=Wireless (HTTP Mobile
Subscriber Header
identified as mobile carrier)
3=Adobe (server generated,
stored in s_vi on client)
Default method.
4=Fallback cookie (new
fallback ID, JavaScript
generated, stored in s_fid
on client, added in H25.3)
5=Visitor ID Service
See Identifying Unique
Visitors.

visit_keywords

Keywords used to find the site.

String (255 characters)

my keyword

visit_num

The number of the current visit


(Incremented each time a visitor
returns to the site).

32-bit unsigned integer

1
Note that visit_num is not
incremented for excluded
hits (hits where
exclude_hit column > 0).

Clickstream Data Column Reference

25

visit_page_num

The page sequence number in the 32-bit unsigned integer


current visit.

17

visit_referrer

The referrer to the visit.

http://www.google.com

String (255 characters)

visit_search_engine The search engine used to find the 32-bit unsigned integer
site.

visit_start_page_url The start page for the visit.

http://www.adobe.com

String (255 characters)

visit_start_pagename The pagename the visit started on. String (255 characters)

homepage

visit_start_time_gmt The GMT timestamp of the first


pageview in this visit.

32-bit unsigned integer

1102750716

weekly_visitor

A flag to determine if current hit is


a new weekly visitor.

8-bit unsigned integer

[Custom]

yearly_visitor

A flag to determine if current hit is


a new yearly visitor.

8-bit unsigned integer

zip

Zip code (i.e. 84604,85381) passed String (255 characters)


in by JavaScript, or populated by
GeoSegmentation data.

84604

App Store Solution Variables


Variable/Event
AppStore Downloads
AppStore Purchases
AppStore Rank

Description

Type

The number of mobile application downloads.

Contained in event_list

The number of in app purchases.

Contained in event_list

Used to calculate the average app ranking. This Contained in event_list


calculated metric is defined using the following
formula:
[AppStore Rank] / [AppStore Rank
(divisor)]

AppStore Rank Divisor

Used to calculate the average app ranking. This Contained in event_list


calculated metric is defined using the following
formula:
[AppStore Rank] / [AppStore Rank
(divisor)]

AppStore In-App Revenue


AppStore One-off Revenue

AppStore In-App Royalties

The amount of in app revenue.

Contained in event_list

The amount of revenue associated with the


purchase of an app.

Contained in event_list

The amount of in app revenue minus amount


retained by app store.

Contained in event_list

Clickstream Data Column Reference

AppStore One-off Royalties

AppStore Rating

The amount of one off revenue minus amount


retained by app store.

26

Contained in event_list

Used to calculate the average app ranking. This Contained in event_list


calculated metric is defined using the following
formula:
[AppStore Rating] / [AppStore Rating
(divisor)]

AppStore Rating Divisor

Used to calculate the average app ranking. This Contained in event_list


calculated metric is defined using the following
formula:
[AppStore Rating] / [AppStore Rating
(divisor)]

Video Solution Variables


Note that pre* and post* versions of these variables are available. The post versions are prepended with "post_".
Variable/Event

Description

Type

video

Video name

videoad

Ad name

videosegment

Segment

videocontenttype

Content Type. Content type is set to "Video"


automatically for all video views.

videoadpod

Ad Pod

videoadinpod

Ad in Pod position

videoplayername

Player Name

videochannel

Channel

videoadplayername

Ad Player Name

videotime

Video Time Viewed. Total time spent viewing


the video.

videostart

Video Views. Indicates that a visitor has viewed


some portion of a video. However, it does not Contained in event_list
provide any information about how much, or
what part, of a video the visitor viewed.

string (255 characters)


string (255 characters)
string (255 characters)
string (255 characters)
string (255 characters)
string (255 characters)
string (255 characters)
string (255 characters)
string (255 characters)
Contained in event_list

Clickstream Data Column Reference

27

videocomplete

Video Completes. Indicates that a user has


viewed a complete video or ad.

videosegmentviews

Video Segment Views. Sent on all close events,


Contained in event_list
which occur on video complete or when the
users stops viewing at some point before the
complete occurs.

videoadstart

Ad Views. Indicates that a visitor has viewed


some portion of an ad. However, it does not
provide any information about how much, or
what part, of a video the visitor viewed.

videoadcomplete

Ad Completes. Indicates that a user has viewed


Contained in event_list
a complete video or ad.

videoadtime

Ad Time Viewed. Total time spent viewing the


ad.

Contained in event_list

Contained in event_list

Contained in event_list

Mobile Solution Variables


Note that pre* and post* versions of these variables are available. The post versions are prepended with "post_".
Variable/Event

Description

Type

mobileinstalldate

First Launch Date. Date of first launch after


installation. MM/DD/YYYY

string (255 characters)

mobileappid

App Id. Stores the Application name and


version in the following format:

string (255 characters)

[AppName] [BundleVersion]

For example, myapp 1.1


mobilelaunchnumber

mobiledayssincefirstuse

mobiledayssincelastuse

mobilehourofday

mobiledayofweek

Launch Number. Number of times the


string (255 characters)
application was launched or brought out of the
background.
Days Since First Use. Number of days since
first run.

string (255 characters)

Days Since Last Use. Number of days since


last use.

string (255 characters)

Hour of Day. Measures the hour the app was string (255 characters)
launched. 24 hour numerical format. Used for
time parting to determine peak usage times.
Day of Week. Number of the week day the app string (255 characters)
was launched.

Clickstream Data Column Reference

mobiledevice

28

Device Name. Stores the device name.

string (255 characters)

On iOS, this is a comma-separated 2 digit


string that Identifies the iOS device. The first
number typically represents the device
generation, and the second number typically
versions different members of the device
family.
mobileosversion
mobileresolution

Operating System Version.

Resolution. Width x Height in actual pixels.

string (255 characters)


string (255 characters)

mobilecampaignsource

Mobile Campaign Source

mobilecampaignmedium

Mobile Campaign Medium

mobilecampaignterm

Mobile Campaign Term

mobilecampaigncontent

Mobile Campaign Content

mobilecampaignname

Mobile Campaign Name

pointofinterest

Point of Interest Name

pointofinterestdistance

Distance to Point of Interest Center

mobileltv

Lifetime Value (evar)

mobileinstalls

First Launches. Triggered on first run after


installation (or re-installation).

mobileupgrades

Upgrades. Triggered on first run after upgrade


Contained in event_list
(anytime the version number changes).

mobilelaunches

Launches. Triggered on any run that is not an


install or an upgrade. This also triggers when Contained in event_list
the application is brought out of the
background.

mobilecrashes

Crashes. Triggered when the application does


not exit gracefully. Event is sent on application Contained in event_list
start after crash (the application is considered
to crash if quit is not called).

mobileprevsessionlength

Previous Session Length. Aggregated total


Previous Session Length.

mobileactiontotaltime

Action Time Total

string (255 characters)


string (255 characters)
string (255 characters)
string (255 characters)
string (255 characters)
counter
counter
string (255 characters)
Contained in event_list

Contained in event_list
Contained in event_list

Clickstream Data Column Reference

29

mobileactioninapptime

Action Time In App

mobileltvtotal

Lifetime Value (event)

Contained in event_list
Contained in event_list

Social Solution Variables


Note that pre* and post* versions of these variables are available. The post versions are prepended with "post_".
Variable/Event

Description

socialcontentprovider

Social Platforms / Properties.

socialauthor

Authors.

sociallanguage

Language.

sociallatlong

Latitude / Longitude.

socialmentions

Mention.

socialpubsubscribers

Followers.

socialtotalsentiment

Sentiment.

sociallikeadds

Like Adds.

socialpageviews

Social Property Views.

socialpostviews

Post Views.

socialfbstorytellers

People Talking About This.

socialfbstories

Facebook Interactions.

socialpubrecommends

Recommends.

socialpubcomments

Comments.

socialpubsubscribers

Subscribers.

socialpubposts

Posts.

Type
text
text
text
text
text
Contained in event_list
Contained in event_list
Contained in event_list
Contained in event_list
Contained in event_list
Contained in event_list
Contained in event_list
Contained in event_list
Contained in event_list
Contained in event_list
Contained in event_list

Clickstream Data Column Reference

30

Page Event Lookup


Lookup table to determine the type of a hit based on the page_event value.
Hit type

page_event value

Page views

same as post

post_page_event value
0 for all page views (s.t() calls)
0 for trackState calls from the mobile SDKs.

Link tracking

10 for "other link"

100 for "other link"

10 for trackAction and lifecycle calls 100 for trackAction and lifecycle calls from the
from the Mobile SDKs.
Mobile SDKs.

Milestone Video

11 for "download link"

101 for "download link"

12 for "external or exit link"

102 for "external or exit link"

31 Media start event

76 - Media start event

32 Media update only event (doesnt 77 - Media update only event (doesn't perform any
perform any eVar or any other variable eVar or any other variable processing)
processing)
78 - Media + other variable update event (includes
33 Media + other variable update
eVar and other variable processing)
event (includes eVar and other
variable processing)
Heartbeat Video

same as post

50 = (non-Primetime) Media Stream Start


51 = (non-Primetime) Media Stream Close
(Complete/Finish)
52 = (non-Primetime) Media Stream Scrubbing
53 = (non-Primetime) Media Stream Keep Alive
(internal only, will not appear in data feed)
54 = (non-Primetime) Media Stream Ad Start
55 = (non-Primetime) Media Stream Ad Close
(Complete/Finish)
56 = (non-Primetime) Media Stream Ad Scrubbing
60 = Primetime Media Stream Start
61 = Primetime Media Stream Close
(Complete/Finish)
62 = Primetime Media Stream Scrubbing
63 = Primetime Media Stream Keep Alive (internal
only, will not appear in data feed)

Clickstream Data Column Reference

Hit type

page_event value

31

post_page_event value
64 = Primetime Media Stream Ad Start
65 = Primetime Media Stream Ad Close
(Complete/Finish)
66 = Primetime Media Stream Ad Scrubbing

Survey

40

80

Hit Source Lookup


Lookup table to determine the source of a hit based on the page_event value.
ID

Hit source

Page view or tracked link with no timestamp passed in (non-timestamped report suites)

Page view or tracked link with timestamp passed in (timestamped report suites)

Live log file (not historical log file) with hit timestamps

not used

"generic" (sometimes known as ecommerce) data source (like current data source)

full (historical) log file (not live log file)

transactionid/customerid data source file

SCM (SearchCenter+) data sources

Adobe Social summary metrics

Calculating Metrics

32

Calculating Metrics
Describes how to calculate common metrics using clickstream data feeds.
Pre vs. Post column
Bots
Bots are excluded from data feeds according to the bot rules defined for your report suite.
Date filtering
Include rows from the date range you want included by filtering the date_time field. The date_time field is human
readable (for example, YYYY-MM-DD HH:MM:SS) and is adjusted to the time zone of the report suite. For example,
date_time starts with "2013-12" includes hits from December 2013.
Event string
The event string in event_list and post_event_list contains a comma-delimited list of events, which may have
a value and/or a unique ID. We recommend doing all processing on the post_event_list because it is de-duplicated
and has already applied logic to remove duplicate events with the same ID (see Event Serialization).
For event ID to name mapping, see the event lookup delivered with your data feed.
For more information on events, see Events.
Formulas for common metrics
The following table contains instructions to calculate several common metrics.
Metric
Page Views

How to calculate
1. Exclude all rows where exclude_hit > 0.
2. Exclude all rows with hit_source = 5,8,9. These are summary rows uploaded using data
sources. See Hit Source Lookup.
3. Sum the remaining rows that have post_page_event = 0, which indicates a normal page
view. See Page Event Lookup.
You can use similar logic to count custom links:
post_page_event = 100 to count custom links.
post_page_event = 101 to count download links.
post_page_event = 102 to count exit links.

Visits

Visitors

1. Exclude all rows where exclude_hit > 0.


2. Exclude all rows with hit_source = 5,7,8,9. 5, 8, and 9 are summary rows uploaded using
data sources. 7 represents transaction ID data source uploads that should not be included
in visit and visitor counts. See Hit Source Lookup.
3. Combine post_visid_high, post_visid_low, and visit_num. Count unique number of
combinations.
1. Exclude all rows where exclude_hit > 0.

Calculating Metrics

Metric

33

How to calculate
2. Exclude all rows with hit_source = 5,7,8,9. 5, 8, and 9 are summary rows uploaded using
data sources. 7 represents transaction ID data source uploads that should not be included
in visit and visitor counts. See Hit Source Lookup
3. Combine post_visid_high with post_visid_low. Count unique number of combinations.

Event instances

When an event is set on a hit, post_event_list contains the event. The post_event_list is
de-duplicated and is recommended to determine event instances.
For example:
post_event_list = 1,200

Indicates an instance of purchase and event1.


1. Exclude all rows where exclude_hit > 0.
2. Exclude all rows with hit_source = 5,8,9. These are summary rows uploaded using data
sources. See Hit Source Lookup.
3. Count the number of times the event lookup value appears in post_event_list.
eVar instances

When an eVar is set on a hit, event_list contains an instance of that eVar.


For example:
post_event_list = 100,101,106

Indicates an instance of eVar1, eVar2, and eVar7. This means that a value for these three eVars
was set on the hit.
To calculate instances for eVars, use the same logic explained in Event instances above, but
count the number of times the eVar lookup appears in the post_event_list.
Time Spent

To calculate time spent, you must group hits by visit, then order them according to the hit number
within the visit.
1.
2.
3.
4.
5.

Exclude all rows where exclude_hit > 0.


Group hits for a visit by concatenating visid_high, visid_low, and visit_num.
Order hits for each visit by visit_page_num.
Using page_event, filter the types of hits you want.
Find hits where the value you want to track time spent is set. For example:
hit 1: post_prop1=red
hit 2: post_prop1=blue

6. Subtract the post_cust_hit_time for hit 1 from the post_cust_hit_time for hit 2 to
determine the seconds between these two hits. The result is the time spent for
post_prop1=red. If this results in a negative number, it indicates that the hit was received
out-of-order and the calculation should be discarded.
This logic can be extended to calculate time spent for other values. When calculating time spent,
Analytics calculates time spent based on the time the value was set in a track (page_event=0)
or trackLink (page_event=10|11|12) call, to the time of the next page view (track call).
When reporting time spent for a specific period, marketing reports & analytics and ad hoc analysis
evaluate hits beyond the reporting period to determine time spent for values within the reporting

Calculating Metrics

Metric

34

How to calculate
period, except when the start and/or end date of the time period is on a monthly boundary. Due
to the complexity of these calculations, it might be difficult to match the time spent metrics
exactly. Data warehouse does not evaluate hits beyond the reporting period.

Revenue, orders,
Currency conversion is applied to the post_product_list according to the settings for the
units
report suite, so using that column is recommended.
1. Exclude all rows where exclude_hit > 0.
2. Exclude all rows with hit_source = 5,8,9. 5-9 represent summary rows uploaded using
data sources. See Hit Source Lookup.
3. Ignore purchase data for rows where duplicate_purchase = 1. This flag indicates that the
purchase is a duplicate (meaning that a hit with the same purchaseID was already recorded).
4. The post_product_list uses the same syntax as s.products, so you can parse this string
to calculate metrics. For example:
;Cross Trainers;1;69.95,;Athletic Socks;10;29.99

By parsing this string, you can determine that 1 pair of cross trainers were purchased for
$69.95, and that total revenue from this purchase was $99.94.
Note: Analytics allows currency events that contain product revenue to be passed in
through the events string, so you might need to account for revenue that is not in the
products string. See Numeric/Currency Events in s.events.

Pre and Post Columns

35

Pre and Post Columns


The pre column contains the data as it was sent to data collection.The post column contains the value after processing.
For example, variable persistence, processing rules, VISTA rules, and currency conversion might change the final
value recorded for a variable that appears in the post column. For most calculations you want to use the post column
unless you are applying custom business logic (for example, applying a custom formula to determine attribution).
If a column does not contain a pre or a post version (for example, visit_num), then the column can be considered
a post column. Columns prefixed with "pre_" typically contain data that was populated by Adobe and not sent by
your implementation. For example, pre_browser is populated by Adobe, but evar1 is populated by your
implementation. Both of these columns have a "post_" column (post_browser, post_evar1), which contains the
value used by reporting.
Case Sensitivity in Values
Most Analytics variables are considered as case-insensitive for reporting purposes, meaning different case variations
are considered to be the same value ("snow", "Snow", "SNOW", and "sNow" are all considered to be the same
value). However, for display purposes, case sensitivity is preserved since most customers prefer to be able to send
in mixed case characters to display in reports.
When processing the data feed, you can lowercase values for comparison purposes, though you'll likely want to
preserve case for display purposes.
If you see different case variations of the same value between the pre and post columns (for example, "snow" in the
pre column, and "Snow" in the post column), it indicates that you are passing in both uppercase and lowercase
versions of the same value across your site. The case variation in the post column was previously passed in and is
stored in the virtual cookie, or was processed around the same time for that report suite. For example:
Hit 1: s.list1="Tabby,Persian,Siamese;
Hit 2: s.list1=tabby,persian,siamese;
When hit 2 is reported in the data feed, the pre column will contain the exact casing passed in (tabby,persian,siamese),
but the value from hit 1 is likely persisted for that visit and will be reported in the post column (which will be
Tabby,Persian,Siamese) since hit 1 and 2 contain the exact same value when a case-insensitive comparison is
performed.

Special Characters

36

Special Characters
Information about special characters used in the Clickstream data feed.
Special characters in the hit_data file
Special characters in multi-valued variables (events_list, products_list, mvvars)
Sample workflow
Special characters in the hit_data file
The following characters have a special meaning in the hit_data file:
Character

Meaning

\t (tab character)

End of column

\n (newline character)

End of row

\ (backslash character)

Escape character

Description
Marks the end of a data field.
Marks the end of a data row.
Escapes tab, newline, and backslash when the character
was part of the value sent during data collection.

When any of the special characters are preceded by a backslash, they represent a literal character.
Character

Meaning

\\t

Tab

\\n

Newline

\\

Backslash

Description
Literal tab character. This character was part of the value
sent in during data collection.
Literal newline. This character was part of the value sent in
during data collection.
Literal backslash character. This character was part of the
value sent in during data collection.

Special characters in multi-valued variables (events_list, products_list, mvvars)


The following characters have a special meaning in multi-valued variables:
Character

Meaning

Description

, (comma character)

End of value

; (semicolon character)

End of sub-value
within an individual Separates values associated with an individual product in
the product_list.
product value

= (equals character)

Value assignment

Separates product strings, event IDs, or other values in


multi-valued variables.

Assigns a value to an event in the event_list.

When any of the special characters are preceded by a caret, they represent a literal character.

Special Characters

37

Character

Meaning

^,

Comma

^;

Semicolon

^=

Equals

^^

Caret

Description
Literal comma character. This character was part of the value
sent in during data collection.
Literal semicolon character. This character was part of the
value sent in during data collection.
Literal equals character. This character was part of the value
sent in during data collection.
Literal caret character. This character was part of the value
sent in during data collection.

Sample workflow
If some of the columns in your data feed contain user-submitted data, you should check for special characters before
separating the data by column or row using split or readLine, or similar.
Consider the following data:
Browser Width

Browser Height

eVar1

prop1

1680

1050

search\nstring

en

800

600

search\tstring

en

During export, the newline and tab characters in the eVar1 values are escaped. The data feed for these rows appears
as follows:
1680\t1050\tsearch\\nstring\ten\n
800\t600\tsearch\\tstring\ten\n

Calling readLine() on the first row returns the following partial string:
800\t600\tsearch\

Calling split("\t") on the second row returns the following string array:
800
600
search\
string
en

To avoid this, use a solution similar to the following:


1. Starting at the beginning of the file, read until you locate a tab, newline, backslash or caret character.
2. Perform an action based on the special character encountered:
Tab - insert the string up that point into a data store cell and continue.
Newline - complete the data store row.
Backslash - read the next character, insert the appropriate string literal, and continue.
Caret - read the next character, insert the appropriate string literal, and continue.

Troubleshooting

38

Troubleshooting
Transfer Failures
In the event of an FTP transfer failure (login denied, lost connection, out of quota, etc), Adobe attempts to automatically
connect and send the data up to three separate times. If the failures persist, the feed is marked as failed and an
email notification is sent.
Resend Options
If you need data for a delivery period resent, contact Customer Care. Adobe stores the generated data feed files for
the previous 7 days, so if the request is made within this period data feed files can be resent without being regenerated.
Daylight Savings impact on Hourly Data Feeds
For certain time zones the time will change twice a year due to daylight saving time (DST) definitions. Data feeds
honor the time zone for which the report suite is configured. If the time zone for the report suite is one that does not
use DST, file delivery will continue normally like any other day. If the time zone of the report suite is one that does
use DST, file delivery will be altered for the hour in which the time change occurs (usually 2:00 am).
When making STD -> DST time transitions (Spring Forward), the customer will only get 23 files. The hour that is
skipped in the DST transition is simply omitted. For example, if the transition occurs at 2 AM, theyll get a file for the
1:00 hour, and will get a file for the 3:00 hour. There will be no 2:00 file, since at 2:00 STD, it becomes 3:00 DST.
When making DST -> STD transitions, (Fall Back), the customer will get 24 files. However, the hour of transition
will actually include 2 hours worth of data. For example, if the transition occurs at 2:00 am, the file for 1:00 will be
delayed by one hour, but will contain data for two hours. It will contain data from 1:00 DST to 2:00 STD (which would
have been 3:00 DST). The next file will begin at 2:00 STD.
No Data for a Time Period
You can optionally configure a data feed to deliver a manifest file if no data is collected for a specific period. If you
enable this option, you'll receive a manifest file similar to the following:
Datafeed-Manifest-Version: 1.0
Lookup-Files: 0
Data-Files: 0
Total-Records: 0

Data Processing Overview


Before processing hourly or daily data, data feeds waits until all the hits that entered data collection within the
timeframe (day or hour) have been written out to data warehouse. After that occurs, data feeds collects the data
with timestamps that fall within the timeframe, compresses it, and sends it via FTP. For hourly feeds, files are typically
written out to data warehouse within 15-30 min after the hour, but there is no set time period. If there was no data
with timestamps that fall within the timeframe, then the process tries again the next timeframe. The current data
feed process uses the date_time field to determine which hits belong to the hour. This field is based on the time
zone of the report suite.

Contact and Legal Information

39

Contact and Legal Information


Information to help you contact Adobe and to understand the legal issues concerning your use of this product and
documentation.
Help & Technical Support
The Adobe Marketing Cloud Customer Care team is here to assist you and provides a number of mechanisms by
which they can be engaged:
Check the Marketing Cloud help pages for advice, tips, and FAQs
Ask us a quick question on Twitter @AdobeMktgCare
Log an incident in our customer portal
Contact the Customer Care team directly
Check availability and status of Marketing Cloud Solutions
Service, Capability & Billing
Dependent on your solution configuration, some options described in this documentation might not be available to
you. As each account is unique, please refer to your contract for pricing, due dates, terms, and conditions. If you
would like to add to or otherwise change your service level, or if you have questions regarding your current service,
please contact your Account Manager.
Feedback
We welcome any suggestions or feedback regarding this solution. Enhancement ideas and suggestions for Adobe
Analytics can be added to our Customer Idea Exchange.
Legal

2014 Adobe Systems Incorporated. All Rights Reserved.


Published by Adobe Systems Incorporated.
Terms of Use | Privacy Center
Adobe and the Adobe logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the
United States and/or other countries.
All third-party trademarks are the property of their respective owners.

You might also like