Data schema for hit tables ("streaming")

Tables

Streamed data is separated into tables by days, according to a time zone of a view selected during the streaming setup.

The table naming is 'streaming_YYYYMMDD'.

Hit data is available for processing within 2-5 minutes after sending.

A new table for collecting hits is created 24 hours before the start of a new day. For example, on April 1 at 00:00, the 'streaming_20220402' table is created to collect the hits that will be sent on April 2 between 00:00 and 23:59. This logic ensures a smooth collection of hits without loss.

Note! Never delete a new table for the next day.

Rows

Each hit is written in a separate row.

Columns

Tables contain all the fields that are sent using The Enhanced Ecommerce plug-in in Google Analytics.

Google BigQuery alias Google BigQuery data type Google Analytics dimension or metric
hitId STRING Hit identifier represented as UUID (version 4)
userId STRING User ID
userPhone STRING available only in Streaming, use parameter &tel=%2B1234567890
userEmail STRING available only in Streaming, use parameter &email=mail%40example.com
userOwoxId STRING Additional user identifier that lets you track audience overlapping across domains without sending the Client ID parameter. Read more
clientId STRING Client ID
trackingId STRING Tracking ID / Web Property ID
date STRING Date
traffic RECORD  
traffic.referralPath STRING Referral Path
traffic.campaign STRING Campaign
traffic.source STRING Source
traffic.medium STRING Medium
traffic.keyword STRING Keyword
traffic.adContent STRING Ad Content
traffic.campaignId STRING Campaign ID
traffic.gclid STRING Google Ads ID
traffic.dclid STRING Google Display Ads ID
device RECORD  
device.ip STRING IP Override
device.userAgent STRING User Agent Override
device.flashVersion STRING Flash Version
device.javaEnabled BOOLEAN Java Support
device.language STRING Language
device.screenColors STRING Screen Colors
device.screenResolution STRING Screen Resolution
geo RECORD  
geo.id STRING Geographical Override
geoNetwork RECORD This section contains information about the geography of the user.
geoNetwork.country STRING The users' country, derived from their IP addresses.
geoNetwork.countryIsoCode STRING The user's country code. Example: US.
geoNetwork.region STRING  The users' region, derived from their IP addresses.
geoNetwork.regionIsoCode STRING  The region code in the user's country. Example: USUT.
geoNetwork.city STRING  The users' city, derived from their IP addresses.
geoNetwork.latitude FLOAT  The approximate latitude of the user's city. Derived from IP address. Locations north of the equator are represented by positive values and locations south of the equator by negative values.
geoNetwork.longitude FLOAT  The approximate longitude of the user's city. Derived from IP address. Locations east of the prime meridian are represented by positive values and locations west of the prime meridian by negative values.
customDimensions RECORD  
customDimensions.index INTEGER Custom Dimension XX
customDimensions.value STRING Custom Dimension XX
customMetrics RECORD  
customMetrics.index INTEGER Custom Metric XX Value
customMetrics.value FLOAT Custom Metric XX Value
customGroups RECORD  
customGroups.index INTEGER Page Group XX
customGroups.value STRING Page Group XX
hour INTEGER Hour
minute INTEGER Minute
time INTEGER

The time on the server according to the time zone when the hit occurred (in seconds).

 

Note:

If hits.queueTime not empty, then hits.time will contain the result of calculating the formula: (hits.timestamp - hits.queueTime) / 1000 in seconds.

For example, if you send hits from the call tracking system, then hits.queueTime will save the time in the queue, and hits.timestamp will save the time when the operator accepted the call. Therefore hits.time will get the time when the user made a call (calculated by the formula).

timestamp INTEGER Time, when OWOX BI access point receives the hit. Measured in milliseconds passed since January 1, 1970.
queueTime INTEGER

Queue Time

Used to collect offline / latent hits.

isSecure BOOLEAN hits.isSecure
isInteraction BOOLEAN Non-Interaction Hit
currency STRING Currency Code
referer STRING Full Referrer
dataSource STRING Data Source
social RECORD  
social.socialInteractionAction STRING Social Action
social.socialInteractionNetwork STRING Social Source
social.socialInteractionTarget STRING Social Entity
type STRING The type of hit
page RECORD  
page.pagePath STRING Page
page.hostname STRING Hostname
page.pageTitle STRING Page Title
eCommerceAction RECORD  
eCommerceAction.action_type STRING Product Action
eCommerceAction.option STRING Checkout Options
eCommerceAction.step INTEGER Checkout Step
eCommerceAction.list STRING Product Action List.
A list where action on product occurred (product.isImpression=FALSE).
experiment RECORD

Content experiments. The value can be submitted in several ways:

  • using parameter exp, where the experiment id and variation id are defined and separated with a dot (exp=4KxxxFg.1);
  • using parameters expid and expvar, where the experiment id and variation id are defined (expid=4KxxxFg&expvar=1);
  • using parameters xid and xvar, where the experiment id and variation id are defined (xid=4KxxxFg&xvar=1);
  • using parameter utm_expid in URL, where the experiment id is defined (https:/site.com/xxx/?utm_expid=4KxxxFg);
  • using parameter utm_expid in URL, where the experiment id and variation id are defined (https:/site.com/xxx/?utm_expid=.4KxxxFg.1, where 4KxxxFg is experiment id and 1 is variation id). Applied automatically in Google Optimize.
experiment.experimentId STRING Experiment ID
experiment.experimentVariant STRING Experiment variant
product RECORD  
product.isImpression BOOLEAN hits.product.isImpression
product.impressionList STRING Product List Name.
A list where a product was shown (product.isImpression=TRUE).
product.productBrand STRING Product Brand
product.productPrice FLOAT Product Revenue
product.productQuantity INTEGER Quantity
product.productSku STRING Product SKU
product.productVariant STRING Product Variant
product.productCategory STRING Product Category
product.productName STRING Product
product.position INTEGER Product List Position
product.coupon STRING Product Coupon Code
product.customDimensions RECORD  
product.customDimensions.index INTEGER Product Custom Dimension
product.customDimensions.value STRING Product Custom Dimension
product.customMetrics RECORD  
product.customMetrics.index INTEGER Product Custom Metric
product.customMetrics.value STRING Product Custom Metric
promotion RECORD  
promotion.promoCreative STRING Internal Promotion Creative
promotion.promoId STRING Internal Promotion ID
promotion.promoName STRING Internal Promotion Name
promotion.promoPosition STRING Internal Promotion Position
promotionActionInfo STRING Promotion Action
transaction RECORD  
transaction.transactionId STRING Transaction ID
transaction.transactionRevenue FLOAT Revenue
transaction.transactionTax FLOAT Tax
transaction.transactionShipping FLOAT Shipping
transaction.transactionCoupon STRING Order Coupon Code
transaction.affiliation STRING Affiliation
contentInfo RECORD  
contentInfo.contentDescription STRING Screen Name
appInfo RECORD  
appInfo.name STRING App Name
appInfo.version STRING App Version
appInfo.id STRING App ID
appInfo.installerId STRING App Installer ID
exceptionInfo RECORD  
exceptionInfo.description STRING Exception Description
exceptionInfo.isFatal BOOLEAN Is Exception Fatal?
eventInfo RECORD  
eventInfo.eventCategory STRING Event Category
eventInfo.eventAction STRING Event Action
eventInfo.eventLabel STRING Event Label
eventInfo.eventValue STRING Event Value
timingInfo RECORD  
timingInfo.timingCategory STRING

Timing Category

The field is automatically filled in for the hit types 'timing' and 'adtiming'.

timingInfo.timingVariable STRING

Timing Variable

The field is automatically filled in for the hit types 'timing' and 'adtiming'.

timingInfo.timingLabel STRING

Timing Label

The field is automatically filled in for the hit types 'timing' and 'adtiming'.

timingInfo.timingValue INTEGER

User Timing

The field is automatically filled in for the hit types 'timing' and 'adtiming'.

timingInfo.pageLoad INTEGER

Page Load Time

The field is automatically filled in for the hit types 'timing' and 'adtiming'.

timingInfo.DNS INTEGER

Domain Lookup Time

The field is automatically filled in for the hit types 'timing' and 'adtiming'.

timingInfo.pageDownload INTEGER

Page Download Time

The field is automatically filled in for the hit types 'timing' and 'adtiming'.

timingInfo.redirectResponse INTEGER

Redirection Time

The field is automatically filled in for the hit types 'timing' and 'adtiming'.

timingInfo.TCPConnect INTEGER

Server Connection Time

The field is automatically filled in for the hit types 'timing' and 'adtiming'.

timingInfo.serverResponse INTEGER

Server Response Time

The field is automatically filled in for the hit types 'timing' and 'adtiming'.

timingInfo.DOMInteractive INTEGER

Document Interactive Time

The field is automatically filled in for the hit types 'timing' and 'adtiming'.

timingInfo.contentLoad INTEGER

Document Content Loaded Time

The field is automatically filled in for the hit types 'timing' and 'adtiming'.

privacy_info RECORD Added: October 4, 2022. Read more in the changelog.
privacy_info.ads_storage STRING

Whether ad targeting is enabled for a user. Possible values: Yes, No, null.

privacy_info.analytics_storage STRING

Whether Analytics storage is enabled for a user. Possible values: Yes, No, null.

privacy_info.uses_transient_token STRING

Whether a web user has denied Analytics storage and the developer has enabled measurement without cookies based on transient tokens in server data. Possible values: Yes, No, null.

 Tables contain repeated records. When selecting data, tables will be flattened over nested fields.

Was this article helpful?
2 out of 2 found this helpful
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.