Meta data

Introduction

The fact that we track an event does not tell us much.

For example, when a pageview is triggered, we only know a pageviews is triggered, but we don’t know thinks like:

  • What page was viewed?
  • Which user viewed the page?
  • When did the user view the page?
  • What language was the page?

This information is what we call meta data. The data about the actual event.

Since there can be many different variables, we have chosen to categorize these variables in the following categories. We call these categories variable groups.

Entity/ Web component Variable group
User userData
Session sessionData
Event eventData
Page pageData
Funnelstep funnelData
Promotion promotionData
Product productData
Content contenData

Besides these variable groups that are linked to an entity or components, we have two other variable groups.

  • consentData
  • debugData

Default variables

In the next section we discuss each variable group. For each variable group you will also find the default variables. Default variables fall into two categories:

  • System defined - This means that Harvest Collect itself retrieves the information.
  • User defined - This means that Harvest Collect knows the variable, but the user has to provide it in the datalayer.

For more information about what the datalayer is, read our datalayer documentation.

userData

This variable group contains information about the current user.

Variable name Type Parameter Description
userID System   A unique ID to identify a visitor anonymously.
crossUserIDs System   This is a list of userIDs from other domains.
email User   The email address of the user.
hashedEmail System harvest_he The SHA256 hash of the provided email.
userType User   The type of user. For example consumer of business
userStart System   The timestamp of the moment the user did it’s first event.
hasAdBlock System   This variables tells us is if the user has AdBlock (0 or 1). Works based on one of our tools.
sessionCount System   The count of sessions the user has done.
gaClientID System   When using Google Analytics, we will obtain the client id and populate this variable.

Some of these variables are saved in the harvest user cookie.

For more information on how Harvest Collect handles users, can be found in the user management documentation.

For more information about cross domain tracking, read our cross domain tracking documentation.

sessionData

This variable group contains information about the current session.

Variable name Type Parameter Description
sessionUtmSource System utm_source The value of the url parameter utm_source in the url.
sessionUtmMedium System utm_medium The value of the url parameter utm_medium in the url.
sessionUtmCampaign System utm_campaign The value of the url parameter utm_campaign in the url.
sessionUtmContent System utm_content The value of the url parameter utm_content in the url.
sessionUtmTerm System utm_term The value of the url parameter utm_term in the url.
sessionGclid System gclid The value of the url parameter gclid in the url.
sessionID System   The unique ID to identify a session.
sessionReferrer System   The value of the referrer that resulted in the session.
totalEventCount System   The count of all events the user did in the session.
pageviewEventCount System   The count of pageviews the user did in the session.
interactionEventCount System   The count of all interaction events the user did in the session.
medium System   The parsed medium by Harvest Collect ruling. See for more information session management.
source System   The parsed source by Harvest Collect ruling. See for more information session management.
channel System   The parsed channel by Harvest Collect ruling. See for more information session management.
campaign System   Same value as sessionUtmCampaign.
sourceMedium System   Concatenation of source and medium. For example google / search_paid.
referrerIsExcluded System   Indication whether the referrer was excluded by referral exclusion. Can be 0 or 1.
rawReferrer System   Holds the original referrer when a new session referrer was affected by referral exclusion.
isValidReferrerVariables System   Indication whether correct referrer variables where used.
sourceMedium System   Concatenation of source and medium. For example google / search_paid.
sessionStart System   The timestamp of the moment the current session started.
adID System harvest_ad_id Part of the harvest_ad_data parameter or harvest_ad_id parameter.
adCampaignID System harvest_campaign_id Part of the harvest_ad_data parameter or harvest_ad_id parameter.
adGroupID System harvest_adgroup_id Part of the harvest_ad_data parameter or harvest_ad_id parameter.
adKeywordID System harvest_keyword_id Part of the harvest_ad_data parameter or harvest_ad_id parameter.
adCreativeID System harvest_creative_id Part of the harvest_ad_data parameter or harvest_ad_id parameter.
adRandomNumber System harvest_ad_random Part of the harvest_ad_data parameter or harvest_ad_id parameter.
adData System harvest_ad_data The value of the parameter harvest_ad_data.

The harvest_ad_data parameter contains several elements related to ads. It has the following structure:

<channel>:<medium>:<source>:<adID>:<adGroupID>:<adCampaignID>:<adCreativeID>:<adKeywordID>:<adRandomNumber>

When we receive the adData, we will split the variable and set the data of the related variables.

Some of these variables are saved in the harvest session cookie.

For more information on how Harvest Collect handles sessions, can be found in the session management documentation.

eventData

This variable group contains information about the current event.

Variable name Type Description
eventID System A unique ID to identify the event. Useful for debugging.
event User The type of event that occured.
isInteraction System 1 if the event is an interaction event.
isPageview System 1 if the event is a pageview event.
isClick System 1 if the event is a click event.
isContentClick System 1 if the event is a click event with clickType contentClick.
isProductListClick System 1 if the event is a click event with clickType productListClick.
isPromotionClick System 1 if the event is a click event with clickType promotionClick.
isProductAddToCart System 1 if the event is a click event with clickType productAddToCart.
isProductRemoveFromCart System 1 if the event is a click event with clickType productRemoveFromCart.
isProductAddToWishlist System 1 if the event is a click event with clickType productAddToWishlist.
isContentViewEvent User 1 if the event is a contentview event.
isContentView System 1 if the event is a contentview event with contentInteractionName Content view.
isProductListView System 1 if the event is a contentview event with contentInteractionName Product list view.
isProductDetailView System 1 if the event is a contentview event with contentInteractionName Product detail view.
isPromotionView System 1 if the event is a contentview event with contentInteractionName Promotion view.
isChange System 1 if the event is a change event.
isFunnelStepView System 1 if the event is a funnelstepview event.
isDataView System 1 if the event is a dataview event.
isVideoLoaded System 1 if the event is a dataview event with contentInteractionName Video loaded.
isVideoAdStarted System 1 if the event is a dataview event with contentInteractionName Video ad started.
isVideoAdEnded System 1 if the event is a dataview event with contentInteractionName Video ad ended.
isVideoStarted System 1 if the event is a dataview event with contentInteractionName Video started.
isVideoPlayed System 1 if the event is a dataview event with contentInteractionName Video played.
isVideoPaused System 1 if the event is a dataview event with contentInteractionName Video paused.
isVideoEnded System 1 if the event is a dataview event with contentInteractionName Video ended.
isVideoPercentageViewed System 1 if the event is a dataview event with contentInteractionName Video percentage viewed.
videoAdPosition User The position of the video ad in the playback. Usually, “pre-roll” or “post-roll”.
videoType User The type of video.
videoPercentage User The percentage of how far a video is viewed.
videoDuration User The total duration of the video.
videoCurrentTime User The current passed time of the video.
videoPlayer User The video player publisher. For example Vimeo or Youtube.
videoID User The ID of the video.
videoTitle User The title of the video.
videoAuthor User The author of the video.
videoPlayer User The video player publisher. For example Vimeo or Youtube.
isSearch System 1 if the event is a dataview event with dataType search.
isConsentChange System 1 if the event is a dataview event with dataType consentChange.
isCheckoutOption System 1 if the event is a dataview event with dataType checkoutOption.
eventCategory System The category of the event. Usually used for Google Analytics.
eventAction System The “action” of the event. Usually used for Google Analytics.
eventLabel System The “label” of the event. Usually used for Google Analytics.
eventValue System The “value” of the event. Usually used for Google Analytics.
isNonInteraction System 1 if the event is not an interaction event. Used for Google Analytics.
timeStamp System Timestamp of the event in ISO 8601 format.
searchTerm User The search term that was used in the search.
searchCategory User The category of the search term or search functionality.
experimentData System This variable holds a list of the experiments and variables active for the user.
daisyconCallbackData System This variable holds information about the callback from Daisycon.
lastClickedPromotion System This variable holds the last clicked promotion during this session.
lastClickedProductList System This variable holds the last clicked product list during this session.
lastSearch System This variable holds the last search during this session.
conversions System This variable holds all triggered conversions.
harvestVersion System The version of Harvest Collect.
harvestDebugging System 1 if Harvest is in debug mode.
elementValue User The value of the input form after the input has changed.
variableName User The variable to which we should set the elementValue.
lastSearch System This variable holds the last used searchTerm and timestamp of the search per searchCategory.
isTrackDirect System A boolean that whether a contentiew, pageview or funnelstepview was triggered data-track-direct.
viewDuration System The number of seconds the element was in the viewport before the contentview was triggered.

pageData

This variable group contains all information about the current page the user is interacting on and with. It is possible to create custom variables that will become part of pageData, but there are also some default variables.

Variable name Type Description
hostname System The hostname of the current page.
port System The port of the current page.
topLevelDomain System The top level domain, for example com in harvest.graindata.com.
secondLevelDomain System The second level domain, for example graindata in harvest.graindata.com.
thirdLevelDomain System The third level domain, for example harvest in harvest.graindata.com.
pathname System The pathname of the current page.
urlWithoutParameters System The protocol + hostname + pathname (no query string parameters and hash)
protocol System The protocol of the current page.
urlHash System The part of the url after the # sign.
urlHref System The complete url of the page.
pageCategory User The category of the page. Hierarchy can be sent like: level1/level2/level3/level4/level5
pageLanguage User The language of the page. Recommended format is ISO 639-1
isLoggedIn User This variable tells us whether the user is logged in or not. Recommended values: 0 or 1.
postID User The ID of the page / post.
postPublishDate User The date time when the page / post is published. Recommended format is ISO 8601
postCategories User List of categories the page / post is in. Object of name and ID. Used by Wordpress.
postCategoriesNames User List of the names of the categories the page / post is in. Used by Wordpress.
postCategoriesIDs User List of the IDs of the categories the page / post is in. Used by Wordpress.
postTags User List of tags the page / post is in. Object of name and ID. Used by Wordpress.
postTagNames User List of the names of the tags the page / post is in. Used by Wordpress.
postTagIDs User List of the IDs of the tags the page / post is in. Used by Wordpress.
pageCategoryLevel1 System When pageCategory is provided, this variable holds the value of level 1.
pageCategoryLevel2 System When pageCategory is provided, this variable holds the value of level 2.
pageCategoryLevel3 System When pageCategory is provided, this variable holds the value of level 3.
pageCategoryLevel4 System When pageCategory is provided, this variable holds the value of level 4.
pageCategoryLevel5 System When pageCategory is provided, this variable holds the value of level 5.

Post related variables

Some variables are related to posts. Not all pageviews are post, so the variables related to a post should only be sent when the page actually is a post.

We determine the fact that a page is a post based on the existence of the postID.

If no postID exists, we will discard the following variables:

  • postTags
  • postCategories
  • postAuthorID
  • postTagsIDs
  • postTagsNames
  • postCategoriesIDs
  • postCategoriesNames
  • postPublishDate

The postPublishDate is required for events that contain the postID. If this variable is not provided, the event will result in an error.

postPublishDate

The post publish date should always be formatted according the ISO 8601 format. For more information: https://www.w3.org/TR/NOTE-datetime. If you do not use this format, the event in which the postPublishDate is sent, will result in an error.

funnelData

This variable group contains all information about the current funnelstep. This is relevant for the funnelstepview event and also in some cases for the dataview event.

Variable name Type Description
funnelName User The name of the funnel the step is part of.
funnelStep User The name of the step that is triggered.
funnelStepIndex System The index of the step in the funnel. For example 1 for the first step.
isStartFunnelStep System 1 if this is the first step in the funnel, otherwise 0.
isLastFunnelStep System 1 if this is the last step in the funnel, otherwise 0.
funnelStepType System The type of funnelStep.
transactionRevenue User The total revenue of a transaction. This includes VAT and shipping.
transactionID User The ID of the transaction.
transactionTax User The tax of the transaction.
transactionShipping User The shipping costs of the transaction.
transactionDiscount User The amount of discount of the transaction.
transactionVoucher User The voucher that is used for discount with the transaction.
transactionAffiliation User This can be used to see which part of the company did the transaction.
checkoutOption User The option the user used during a checkout step.
checkoutOptionValue User The value of the option the used used during a checkout step.
cartValue System The value of the cart during checkout steps.
cartNumItems System The number of items in the cart during checkout steps.
funnelVariant User The variant of the funnel the user was in.
transactionStartDateTime User The timestamp of when the purchased good starts, for example when a show starts. ISO 8601.
transactionEndDateTime User The timestamp of when the purchased good starts, for example when a show ends. ISO 8601.
previousStepSession System The previous funnelstep the user interacted with in this session with this funnel.
previousStepUser System The previous funnelstep the user interacted with this funnel.
isCheckout System Metric to indicate whether the step was part of checkout.
isPurchase System Metric to indicate whether the step was a purchase.
transactionActions User Array of actions related to the transaction. For example: Placement, Payment and Refund.
paymentMethod User The method used to do the transaction Payment.
isTransactionPlacement System Metric to indicate whether the transaction action was placement.
isTransactionPayment System Metric to indicate whether the transaction action was payment.
isTransactionRefund System Metric to indicate whether the transaction action was refund.
isTransactionCancellation System Metric to indicate whether the transaction action was cancellation.
paymentValue User The total value of the payment.
refundValue User The total value of the refund.
cancellationValue User The total value of the cancellation.

Required variables

Both the funnelName and funnelStep are mandatory.

When tracking a transaction, the transactionID is mandatory.

More information about funnelsteps can be found in the funnelstep documentation.

productData

When tracking a contentview or click for a product. We will track the array of products the contentview and click is relevant for. For more information about which type of click and contentview are related to products, read our content related interactions documentation.

Products are also related to funnelsteps that are related to checkout or purchase. For more information, read the funnelstep type documentation.

The products have the following variables:

Variable name Type Description
id User The id of the product.
name User The name of the product.
price User The price of the product.
category User The category of the product. Hierarchy can be filled in. Each level divided by a “/”.
quantity User The quantity of the product.
variant User The variant of the product.
brand User The brand of the product.
voucher User The voucher that is used for the product.
discount User The discount of the product.
position User The position of the product in the product list.
list User The name of the list the product was viewed or clicked in.
tax User The total value of tax for the product.
refundValue User The total value that was refunded.
cancellationValue User The total value that was cancelled.
subscriptionID User The ID of the subscription.
subscriptionIntervals User The amount of base intervals the subscription takes.
subscriptionIntervalValue User The total value that was cancelled.
paymentValue User The value that was paid for the subscription.
paymentMethod User The payment method used to do the payment.
subscriptionActions User The actions in the event related to the subscription.
isSubscriptionRequest System This variable tells us whether this event was a subscription request.
isSubscriptionPayment System This variable tells us whether this event was a subscription payment.
isSubscriptionRejection System This variable tells us whether this event was a subscription rejection.
isSubscriptionCancellation System This variable tells us whether this event was a subscription cancellation.
isSubscriptionChange System This variable tells us whether this event was a subscription change.
isSubscriptionAcceptation System This variable tells us whether this event was a subscription acceptation.
isSubscriptionProlongation System This variable tells us whether this event was a subscription prolongation.

Required variables

Either the id or name is required.

For more information on how to use these variables, read the products, promotions and contents documentation.

promotionData

We use promotionData when tracking promotions. We will track the array of promotions the contentview and click is relevant for. For more information about which type of click and contentview are related to promotions, read our content related interactions documentation.

The promotions have the following variables:

Variable name Type Description
id User The id of the promotion.
name User The name of the promotion.
creative User The creative in the promotion element.
position User The position of the promotion in for example a list. The value is numerical index.

Required variables

Either the id or name is required.

For more information on how to use these variables, read the products, promotions and contents documentation.

contentData

When tracking a contentview or click for a content element (not a product or promotion). We will track the array of contents the contentview and click is relevant for. For more information about which type of click and contentview are related to contents, read our content related interactions documentation.

The content elements have the following variables:

Variable name Type Description
id User The id of the content element.
name User The name of the content element.
type User The type of the content element.
variant User The variant of the content element.
position User The position of the content element in for example a list. The value is numerical index.

Required variables

Either the id or name is required.

For more information on how to use these variables, read the products, promotions and contents documentation.

consentData

This variable group contains the information about the (cookie) consent a user has given.

Variable name Type Description
ID System The ID of the given consent.
isSensitive System A “1” when we are on a sensitive page and “0” if we are not.
createdAt System The timestamp of the moment the consent was created. ISO 8601.
cookiePresent System A “1” when the consent cookie was present and “0” if we are not.
permissions System The object that contains the permissions the user has given.
defaultPermissions System The object that contains the default permissions. Used when we are on a sensitive page.

For more information about consent data, read our cookie consent documentation.

debugData

This variable group contains information about the user’s device and other information that is relevant for debugging purposes.

We have divided debugData in two types of debugData.

userAgentData

User agent data contains all information about the user agent.

Variable name Type Description
browser System An object with information about the browser. name, major version, detailed version.
device System The type of device the user is on. Tablet, mobile or desktop.
language System The language of the browser.
os System An object with information about the operating system. name and version.
ua System The complete user agent string.

screenData

Screen data contains information about the screen of the user.

Variable name Type Description
height System The height of the screen.
width System The width of the screen.
viewPortTop System The amount of pixels the viewport is from the top of the page.
viewPortWidth System The width of the current browser screen.
viewPortHeight System The height of the current browser screen.
isTouchDevice System “1” if it is a touch screen. “0” if not.