Analytics Data Dictionary

The following database tables are available from Monetate Analytics Cloud.

Experience Configuration Data

These tables contain metadata about experiences, how they're configured, and the rules that define them.

Experience Metadata

The METADATA_EXPERIENCE table contains all configuration metadata for experiences. It's the base table to join against for information about experiences.

Column Description
EXPERIENCE_ID The experience's identifier
EXPERIENCE_NAME The experience's name
EXPERIENCE_TYPE The experience's type
STATUS The experience's status
ARCHIVED Indicates if an experience is archived
INTEGRATION_TYPE The account's Monetate integration, with the possible value of js-tag, engine-api, or email
CREATE_TIME The time the experience was created
START_TIME The time the experience started as determined by its WHEN settings or when the client-user clicked ACTIVATE without setting a start date and time
END_TIME The time the experience ended as determined by its WHEN settings

Note: The value is NULL if the WHEN settings don't include an end time.

Page Event Metadata

The METADATA_PAGE_EVENT table contains all the metadata information for page events.

Column Description
PAGE_EVENT_ID The page event's identifier
TITLE The page event's title
DESCRIPTION The page event's description
CREATE_TIME The time the page event was created
ARCHIVED Indicates if a page event is archived
CATEGORY The page event's type, with the possible value of API, Interaction, Impression, Other, or URL
SUBCATEGORY The secondary level of the page event's type as established when the event was created in Event Builder or modified in the Event Quickview modal of the Events list page
UNIQUE_KEY An alphanumeric string set when you created the event that represents it when you use it in Engine API requests

Experience–Page Event Metadata

The METADATA_PAGE_EVENT table links experiences to page events. You can query this table to obtain a list of which page event IDs are associated with an experience.

Column Description
PAGE_EVENT_ID The page event's identifier
EXPERIENCE_ID The experience's identifier

Experience Tag Metadata

The METADATA_EXPERIENCE_TAG table contains metadata about any tags an experience has.

Column Description
EXPERIENCE_ID The experience's identifier
TAG_NAME The tag attached to the experience

Experience Splits Metadata

The METADATA_SPLIT table contains metadata about an experience's splits.

Column Description
SPLIT_ID The split's identifier
SPLIT_LABEL The Monetate-assigned discriminator for the different splits (for example, A, B, C, Control, Experiment)
SPLIT_DESCRIPTION The name you gave the split when you configured the variant in the experience
EXPERIENCE_ID The identifier of the experience to which the split belongs

Experience Variants Metadata

The METADATA_VARIANT table contains metadata about variants of a split. For ease of use, it includes the experience ID so that you can directly query what experience a variant is attached to. Keep in mind, though, that the hierarchy is still experience > split > variant.

This table is the anchor between the session tables and the other metadata tables. Specifically, you can use VARIANT_ID in the SESSION_FIRST_OFFER table to join against this variants table. From there, you can access any of the session tables via MONETATE_ID, or you can access any of the metadata tables by joining against the METADATA_EXPERIENCE table.

Column Description
VARIANT_ID The variant's identifier
VARIANT_LABEL The variant's label as it appears in the Monetate platform
VARIANT_DESCRIPTION A combination of the variant label and description, if any
SPLIT_ID The identifier of the split with which the variant is associated
EXPERIENCE_ID The experience's identifier

Session and Interaction Data

These tables contain information about visitor sessions, their interactions, and conversion events.

Session Summary

The SESSION_SUMMARY table contains metadata about individual sessions. It includes all single-value dimensions and measures for each session. You can calculate aggregate metrics—such as conversion rate, add-to-cart rate, bounce rate, and revenue per session—by using the provided measures.

This table is the anchor for all other joins of session-based data.

Column Description
ACCOUNT_ID The ID of the Monetate account to which the session belongs
MONETATE_ID The session's Monetate ID
START_TIME The session's start time

Note: The START_TIME value together with the ACCOUNT_ID value and the MONETATE_ID value form the session's key.
END_TIME The time of the session's last recorded fact
CUSTOMER_ID The last-seen customer ID associated with the session, if available
PRODUCT_VIEWS The total product detail views recorded in the session
HAS_CART Whether the customer placed any items in the cart during the session
HAS_PURCHASE Whether the customer completed any purchases during the session
HAS_NEW_CUSTOMER Whether the Monetate ID associated with the session has previous sessions
HAS_STEALTH Whether the session was part of a configured Stealth Group
CITY The primary English-language name for the settlement as defined in the GeoNames database that's associated with the session's IP address
REGION The ISO-3166-2 code for the most specific subdivision available that's associated with the session's IP address
DMA_CODE The numeric code for the DMA region as defined by The Nielsen Company that's associated with the session's IP address

Note: The value of DMA_CODE corresponds to the metro_code attribute in newer versions of MaxMind's GeoIP database.
COUNTRY_CODE The ISO-3166-1 alpha-2 code for the country associated with the session's IP address
POSTAL_CODE The postal code close to the location associated with the session's IP address
TIMEZONE The Internet Assigned Numbers Authority (IANA) time zone associated with the session's IP address
USER_AGENT The user agent string of the customer's device associated with the session
BROWSER The Web browser used during the session as identified by the user agent string of the customer's device
BROWSER_VERSION The version of the Web browser used during the session as identified by the user agent string of the customer's device
OS The operating system used during the session as identified by the user agent string of the customer's device
OS_VERSION The version of the operating system used during the session as identified by the user agent string of the customer's device
SCREEN_HEIGHT The height in pixels of the customer's device used during the session
SCREEN_WIDTH The width in pixels of the customer's device used during the session
DEVICE_TYPE The type of device the customer used during the session, the value limited to Mobile Phone, Desktop, or Tablet
PURCHASE_COUNT The total purchase transactions made in the session
SESSION_VALUE The total value of all purchases made in the session
PURCHASE_UNIT_COUNT The total units of products purchased in the session

For more information about how geolocation-related data is determined, refer to MaxMind's GeoIP2 documentation. See the DeviceAtlas documention for additional information about technographics-related data.

Variants Assigned to Sessions

The SESSION_FIRST_OFFER table contains metadata about the variants that a session was assigned, or offered, for each of the experiences it saw. Keep in mind the following points about sessions and variants:

  • A single session is assigned to only one variant of any eligible experience.
  • Variant assignments don't change during a session.
  • Variant assignment may change between sessions if the experience's split configuration changes, or if the variant assigned to a customer ID differs from the variant assigned to the session's Monetate ID.

For each experience Monetate only records an offer if any page view in the session was eligible for an action in any of the splits in the experience. To be eligible for an action, the page view must meet all action conditions configured for the action. A variant is assigned after this eligibility check, which means that a session isn't assigned to the control variant of a split unless it could have been eligible to display an action had it been assigned to the experiment variant instead.

Join this table with the METADATA_VARIANT table to associate metadata for each assigned variant.

Column Description
ACCOUNT_ID The ID of the Monetate account to which the session belongs
MONETATE_ID The session's Monetate ID
SESSION_START_TIME The session's start time

Note: The START_TIME value together with the ACCOUNT_ID value and the MONETATE_ID value form the session's key.
SESSION_END_TIME The time of the session's last recorded fact
VARIANT_ID The variant's identifier that consists of a two-part ID describing the split and test group

Note: This column corresponds to VARIANT_ID in the METADATA_VARIANT table.

Page Events in Sessions

The SESSION_FIRST_PAGE_EVENT table contains metadata about the set of distinct page events seen by a session.

Join this table with the METADATA_PAGE_EVENT table to associate metadata for individual page event IDs.

Column Description
ACCOUNT_ID The ID of the Monetate account to which the session belongs
MONETATE_ID The session's Monetate ID
SESSION_START_TIME The session's start time

Note: The START_TIME value together with the ACCOUNT_ID value and the MONETATE_ID value form the session's key.
SESSION_END_TIME The time of the session's last recorded fact
PAGE_EVENT_ID The page event's identifier

Note: This column corresponds to PAGE_EVENT_ID in the METADATA_PAGE_EVENT table.

Page Types in Sessions

The SESSION_DISTINCT_PAGE_TYPE table contains metadata about the distinct page types the customer saw in a session.

Column Description
ACCOUNT_ID The ID of the Monetate account to which the session belongs
MONETATE_ID The session's Monetate ID
SESSION_START_TIME The session's start time

Note: The START_TIME value together with the ACCOUNT_ID value and the MONETATE_ID value form the session's key.
SESSION_END_TIME The time of the session's last recorded fact
PAGE_TYPE The type of page (for example, main, product, cart) the customer saw in the session as passed to Monetate by the setPageType method in Monetate JavaScript API implementations or by the pageType key-value pair of the monetate:context:PageView event in Engine API implementations

Purchases in Sessions

The PURCHASE_FACT table contains metadata about the individual line items of purchases the customer made in a session.

Column Description
ACCOUNT_ID The ID of the Monetate account to which the session belongs
MONETATE_ID The session's Monetate ID
SESSION_START_TIME The session's start time

Note: The START_TIME value together with the ACCOUNT_ID value and the MONETATE_ID value form the session's key.
SESSION_END_TIME The time of the session's last recorded fact
PURCHASE_ID The purchase's ID as passed to Monetate in the purchaseId key-value pair in the addPurchaseRows method in Monetate JavaScript API implementations or by the purchaseId key-value pair of the monetate:context:Purchase event in Engine API implementations
LINE The number of the purchase line in an order
PRODUCT_ID The product ID (item_group_id in Monetate's product catalog specification) of a purchased product as passed to Monetate in the productId key-value pair in the addPurchaseRows method in Monetate JavaScript API implementations or in the pid key-value pair in the purchaseLines array of the monetate:context:Purchase event in Engine API implementations
SKU The SKU (id in Monetate's product catalog specification) of a purchased product as passed to Monetate in the sku key-value pair in the addPurchaseRows method in Monetate JavaScript API implementations or in the sku key-value pair in the purchaseLines array of the monetate:context:Purchase event in Engine API implementations
QUANTITY The quantity of the product that the customer bought
CURRENCY The currency of the purchase in the ISO 4217 code
CURRENCY_UNIT_PRICE The per-unit price of the purchased product

Query Examples

You can use the following query examples to extract values from the database tables.

List Variants

The following query lists all variants and the splits to which they belong across all experiences.

SELECT
  me.experience_id,
  ms.split_id,
  mv.variant_id 
FROM
  public.dt_metadata_experience me 
  JOIN
    public.dt_metadata_split ms 
    ON ms.experience_id = me.experience_id 
  JOIN
    public.dt_metadata_variant mv 
    ON mv.split_id = ms.split_id;

List Sessions in a Variant

The following query lists all sessions that qualified for a specified variant.

SELECT
  * 
FROM
  public.dt_metadata_variant mv 
  JOIN
    public.dt_session_first_offer sfo 
    ON sfo.variant_id = mv.variant_id 
  JOIN
    public.dt_session_summary ss 
    ON ss.monetate_id = sfo.monetate_id 
    AND ss.start_time = sfo.session_start_time 
WHERE
  mv.variant_id = '12345-0'

Filter Experiences by Integration Type

The following query lists only experiences deployed using the Engine API. To view a lit of experiences deploying using the Monetate JavaScript API, replace engine-api with js-tag.

SELECT
  * 
FROM
  public.dt_metadata_experience 
WHERE
  integration_type = 'engine-api';

List Page Events by Experience

The following query lists all page events associated with an experience.

SELECT
  * 
FROM
  public.dt_metadata_experience_page_event mepe 
  JOIN
    public.dt_metadata_page_event mpe 
    ON mepe.page_event_id = mpe.page_event_id 
WHERE
  mepe.experience_id = 1234;

Filter and List Distinct Tags

The following query lists distinct tags for all experiences that started in a specified time period.

SELECT DISTINCT
(met.tag_name) 
FROM
  public.dt_metadata_experience_tag met 
  JOIN
    public.dt_metadata_experience me 
    ON met.experience_id = me.experience_id 
WHERE
  me.start_time >= '2023-11-01 00:00:00' 
  AND me.start_time < '2023-12-01 00:00:00';

Count Sessions by Experience Tag

By joining through the SESSION_FIRST_OFFER table, the following query lists for each specified tag the number of sessions that qualified for experiences over a specified period of time.

SELECT
  met.tag_name,
  COUNT(*) 
FROM
  public.dt_metadata_experience_tag met 
  JOIN
    public.dt_metadata_experience me 
    ON me.experience_id = met.experience_id 
  JOIN
    public.dt_metadata_variant mv 
    ON me.experience_id = mv.experience_id 
  JOIN
    public.dt_session_first_offer sfo 
    ON mv.variant_id = sfo.variant_id 
WHERE
  sfo.session_start_time >= '2023-11-01 00:00:00' 
  AND sfo.session_start_time < '2023-12-01 00:00:00' 
GROUP BY
  met.tag_name;
Table of Contents