Analyzing Customers' Behavior with Google Analytics

This article explains how to gather various important statistics on your customers' behavior in the UX1 Panel and the UX1 Marketplace. You can use this data to adjust your marketing campaigns and discover the pain points your customers and prospects encounter in your Marketplace.

Note: This article is a work in progress. It does not cover all the available events yet. We will let our customers know whenever we update this article with new and useful information.

Configuring a Google Tag Manager Container and a Google Analytics Account

In this example configuration Google Analytics (GA) will be used to collect and store analytics data and Google Tag Manager (GTM) to integrate GA with your branded website. Complete the steps below to configure GA account and GTM container.

  1. Create a Google Analytics account for the UX1 Panel. If you use a professional services automation tool (PSA) in conjunction with CloudBlue Commerce, create a separate Google Analytics account for it. Learn how to create Google Analytics accounts here.
  2. Under each of these Google Analytics accounts, create a Property for each brand that you want to track. In the scope of CloudBlue Commerce, a brand is a custom domain name associated with a subscription. Learn how to create properties here.

  3. Obtain your unique Measurement ID to use for integration with your GTM:

    1. In your Google Analytics portal, go to Admin > Data collection and modification > Data streams and click on your stream in the table.

    2. Your measurement ID will be in the upper right area.

  4. Set data retention period to maximum for both user and event data. Currently, the maximum allowed value is 14 months.

  5. Go to Custom definitions, and select Custom dimensions.

  6. Archive all custom dimensions that are not used by your organization. To do this, open the three-dot menu and click Archive.

  7. Create all the dimensions listed below that do not exist. To create a dimension, click Create custom dimension. A form, similar to the following will open:

    The table below lists the dimensions that you need to create and the scope that you need to specify.

    Dimension name Scope
    actor_acc_level User
    action_option Event
    action_step Event
    actor_userId User
    cb_panel Event
    dimension1 Event
    dimension2 Event
    dimension3 Event
    dimension4 Event
    dimension5 Event
    dimension6 Event
    dimension7 Event
    dimension8 Event
    dimension9 Event
    dimension10 Event
    dimension11 Event
    dimension12 Event
    dimension13 Event
    dimension14 Event
    dimension15 Event
    dimension16 Event
    dimension17 Event
    dimension18 Event
    dimension19 Event
    dimension20 Event
    eventAction Event
    eventCategory Event
    eventLabel Event
    eventValue Event
    persona_acc_level User
  8. Create a Google Tag Manager account. Follow details, refer to the Google Tag Manager documentation.
  9. Create a separate GTM container for each of your brands.
  10. In the GTM panel, open AdminImport Container. This will import a CloudBlue GTM container.

  11. Use this settings file for the import.

    Choose Merge to merge the data you have in your container, or Overwrite to create a container from scratch.


  12. Go to Variables, locate the ga_measurement_id and change its value to the measurement ID obtained in step 3 of this instructions.

  13. At this stage, the following tags, triggers and user-defined variables must be configured:

    Tags

    • CloudBlue Events Tag

    • Google Tag

    Triggers

    • CloudBlue cb- Previxed Events Trigger

    • CloudBlue None cb- Previxed Events Trigger

    • ECommerce GA4 Events Trigger

    User-defined variables

    • action_option

    • action_step

    • actor_acc_level

    • actor_userId

    • cb_panel

    • CloudBlue Default Event Parameters Set

    • CloudBlue Google Tag Default Parameters Set

    • dimension1

    • dimension2

    • dimension3

    • dimension4

    • dimension5

    • dimension6

    • dimension7

    • dimension8

    • dimension9

    • dimension10

    • dimension11

    • dimension12

    • dimension13

    • dimension14

    • dimension15

    • dimension16

    • dimension17

    • dimension18

    • dimension19

    • dimension20

    • eventAction

    • eventCategory

    • eventLabel

    • eventValue

    • ga_measurement_id

    • persona_acc_level

    • userId

    Note: If there are other tags, triggers, or user-defined variables that are not used by your organization, you can delete them.

  14. In the Tag Manager panel, click Submit to publish your GTM container.

  15. To configure integration with Google Tag Manager for your brand, obtain your GTM code and add it to CloudBlue as described in this section. Only use the <head> code snippet similar to the one in the picture below.

    Note: Google Analytics has a limitation that it can take up to days to display the data after the first data from the website is received. During that period, use real-time reports or a debug view to verify that the data is being collected.

Using Multiple Google Analytics Integrations

There are two options of integrating multiple Google Analytics with your portal:

  • Configure multiple Google Analytics tags in the Google Tag Manager.

  • Use multiple Google Tag Managers. Currently, you can register up to two Google Tag Managers using the same JavaScript code provided by Google, as shown in the picture below.

The Data Sent by UX1 Panels

The Main Account

Custom Definitions

Custom dimensions and metrics are set under Admin > Data Display > Custom Definitions in your Analytics account. For more information, refer to the Google Analytics documentation: About custom dimensions and metrics.

UX1 Marketplace Events for Building a Sales Funnel

Use Enhanced eCommerce & Custom Events capabilities for tracking sales (new orders placed in the Marketplace) and subscription management scenarios. It is important to filter out products list values to obtain clear data for analysis.

Products lists containing Subscriptions are related to subscription and order management. Other products lists are related to sales.

The following eCommerce data are sent by the UX1 Panels.

Dimension in GA Meaning
Category

The category to which the product belongs. For example, Apparel. Use / as a delimiter to specify up to five levels of hierarchy. For example, Apparel/Men/T-Shirts.

For a Sales Category shown as a Product: empty value.

For a Sales Category level 2 shown as a Product: Sales Category level 1

For a Service Plan: Sales Category level 1/Sales Category level 2

For a Resource: Sales Category level 1/Sales Category level 2/Service Plan

list Marketplace, Search service, Promo
position The position on the screen. The first in the list is 1, the second is 2, and so on.
Price Price per unit. The price that is calculated for the Order total, with all discounts applied. The UX1 Panel sends prices in the local currency and reflects their USD values in reports. The conversion of currency from local to USD is made on the Google side.
Product (name) The sales category, service plan, or resource name in English, even if it is displayed on the screen in another language.
Product ID A SKU, if it is specified. If a SKU is not specified, then the following parameters are concatenated and returned as a SKU: Service Plan APS GUID & Period ID & Resource ID
Quantity A quantity added to a cart, at checkout, or purchased.
Variant A period. 1 month, 1 year, and so on.
Product Impressions

A product impression is an event that is sent every time a product is displayed in the Marketplace.

It is important to know where the product was located when it was shown to a reseller or a customer: which section (promo, search results, the main products catalog, and so on) is sent as a products list.

Event tracking data:

  • event: Impressions
  • eventCategory: eCommerce
  • eventAction: Impressions saved
  • eventLabel

eCommerce data:

  • Product Name - The sales category, service plan, or resource name in English, even if it is displayed on the screen in another language.
  • Product ID
  • Category
  • List
  • Position (in a list)


Items displayed Data sent


Product Detail Views

A product detail view is an event that is sent every time a reseller or a customer views service plan details, service plan options, included resources, different subscription periods, and prices.

It is important to know where the product was located when it was shown to a reseller or a customer: which section (promo, search results, the main product catalog) is sent as a products list.

Event tracking data:

  • event: detail
  • eventCategory: eCommerce
  • eventAction: Product detail views
  • eventLabel

eCommerce data:

  • Product Name - The sales category, service plan, or resource name in English, even if it is displayed on the screen in another language.
  • Product ID
  • Price (per 1 unit) - The UX1 Panel sends prices in the local currency and reflects their USD values in reports. The conversion of currency from local to USD is made on the Google side. More details
  • Category
  • Variant
  • Quantity
  • Dimension7 - The initial price without discounts.
  • List

A variant is an important attribute. Data for each service and resource is sent in two parts (the included amount and additional amount) for every charge type: setup and recurring.


Items displayed Data sent

If a user switches to a tiled view, the product detail view event is sent once again.


When a user adds something to the shopping cart and then goes to the shopping cart for viewing its contents, a complete list of service plan options and additional resources is displayed. In this case, the product detail view event is sent including all information about all products in the cart, their additional resources, and service plan options.

The same will happen if the user enters a previously abandoned cart with saved quantities.



Product Clicks

This is an event that is sent every time a reseller or customer clicks any product in the Marketplace.

It is important to know where the product was located when it was shown to a reseller or a customer: which section (promo, search results, or the main products catalog) is sent as a products list.

Event tracking data:

  • event: productClick
  • eventCategory: eCommerce
  • eventAction: Product Click
  • eventLabel

eCommerce data:

  • Product Name - The sales category, service plan, or resource name in English, even if it is displayed on the screen in another language.
  • Product ID
  • Category
  • List
  • Position (in a list)



The following is an example of what the Panel sent as a product click event when a user clicked a sales category:


Addition to the Cart

This event occurs when a reseller or a customer clicks Add to Cart or changes the quantity in the shopping cart and then goes to the next checkout step.

It is important to know where the product was located at the very beginning: which section (promo, search results, the main product catalog) is sent as a products list.

Event tracking data:

  • event: addToCart
  • eventCategory: eCommerce
  • eventAction: Addition to Cart
  • eventLabel

eCommerce data:

  • Product Name - The sales category, service plan, or resource name in English, even if it is displayed on the screen in another language.
  • Product ID
  • Price (per 1 unit) - The UX1 Panel sends prices in the local currency and reflects their USD values in reports. The conversion of currency from local to USD is made on the Google side. More details
  • Category
  • Variant
  • Quantity
  • Dimension 7 - The initial price without discounts.
  • List


A variant is an important attribute. Data for each service and resource is sent in two parts (the included amount and additional amount) for every charge type: setup and recurring.


Items displayed

Data sent

The event is sent directly after clicking ADD TO CART.

The user is in the shopping cart.

The user removed a product from the shopping cart and then added it back.

The event is sent directly after clicking ADD IT BACK.

The user is in the shopping cart.

The user changed the quantity of additional resources or service plan options, or did not change them but only clicked NEXT.


The event with quantities is sent directly after clicking NEXT.

Removing Products from the Cart

An event is sent every time a reseller or customer clicks REMOVE while in the shopping cart.

It is important to know where the product was located at the very beginning: which section (promo, search results, the main product catalog) is sent as a products list.

Event tracking data:

  • event: removeFromCart
  • eventCategory: eCommerce
  • eventAction: removeFromCart
  • eventLabel

eCommerce data:

  • Product Name - The sales category, service plan, or resource name in English, even if it is displayed on the screen in another language.
  • Product ID
  • Price (per 1 unit) - The UX1 Panel sends prices in the local currency and reflects their USD values in reports. The conversion of currency from local to USD is made on the Google side. More details
  • Category
  • Variant
  • Quantity
  • Dimension 7 - The initial price without discounts.
  • List


A variant is an important attribute. Data for each service and resource is sent in two parts (the included amount and additional amount) for every charge type: setup and recurring.


Items displayed

Data sent

Case 1: A reseller changed the quantity (increased it) and then went to the next screen. On the next screen, they clicked BACK and returned to the shopping cart.

They reduced the quantity and then clicked NEXT again.

Information about the reduction in quantity from the cart is not sent. Instead, the addToCart event with the actual quantity is sent at checkout.



Checkout step 1

This event is sent every time a reseller or customer enters their shopping cart and they are on the Place an Order screen where they can see a full list of added products (service plans), change the quantity, and remove products.

While the user is in the shopping cart, the following events are sent:

  • The checkout - step 1 event for the service plans that the user previously added to the cart in the Products Catalog.
  • The detail event for the products that the user sees for the first time.

When a reseller clicks NEXT in the shopping cart, the addToCart event is sent for the included and additional services, and the checkout step 1 event is sent immediately after the addition to the shopping cart.

Step of the sales wizard Action Events sent
Shopping Cart (Place an Order screen)

The user opens the shopping cart:

  • after clicking PROCEED TO CHECKOUT
  • after clicking BACK in the sales wizard
  1. The checkout step 1 event for the main products (service plans) in the shopping cart.
  2. The detail event for all included and additional services and resources.
Shopping Cart (Place an Order screen)

The user clicks NEXT to go to the next screen of the sales wizard.

(The data is sent directly after the click.)

  1. The addToCart event for included and additional services and resources.
  2. The checkout step 1 for included and additional services and resources.

It is important to know where the product was located at the very beginning: which section (promo, search results, or the main products catalog) is sent as the products list.

Event tracking data:

  • event: Checkout
  • eventCategory: eCommerce
  • eventAction: Checkout
  • eventLabel

eCommerce data:

  • Product Name - The sales category, service plan, or resource name in English, even if it is displayed on the screen in another language.
  • Product ID
  • Price (per 1 unit) - The UX1 Panel sends prices in the local currency and reflects their USD values in reports. The conversion of currency from local to USD is made on the Google side. More details
  • Category
  • Variant
  • Quantity
  • Dimension 7 - The initial price without discounts.
  • List

A variant is an important attribute. Data for each service and resource is sent in two parts (the included amount and additional amount) for every charge type: setup and recurring.

Examples:

Items displayed Data sent

Checkout step 2

This event is sent every time a reseller or customer is on the user account selection screen.

It is important to know where the product was located at the very beginning: which section (promo, search results, or the main products catalog) is sent as the products list.

Event tracking data:

  • event: Checkout
  • eventCategory: eCommerce
  • eventAction: Checkout
  • eventLabel

eCommerce data:

  • Product Name - The sales category, service plan, or resource name in English, even if it is displayed on the screen in another language.
  • Product ID
  • Price (per 1 unit) - The UX1 Panel sends prices in the local currency and reflects their USD values in reports. The conversion of currency from local to USD is made on the Google side. More details
  • Category
  • Variant
  • Quantity
  • Dimension 7 - This is optional for this event. It implies the initial price without discounts.
  • List


A variant is an important attribute. Data for each service and resource is sent in two parts (the included amount and additional amount) for every charge type: setup and recurring.


Items displayed Data sent




Checkout option

This event is sent every time a reseller or a customer selects the type of user account for whom to purchase (Existing or New) and clicks NEXT to go to the Review Order screen.

Event tracking data:

  • event: checkoutOption
  • eventCategory: eCommerce
  • eventAction: checkoutOption
  • eventLabel

eCommerce data is not applicable to this event.

Items displayed Data sent

If New Customer is selected.
Checkout step 3

This event is sent every time a reseller or a customer is on the Review Order screen.

It is important to know where the product was located at the very beginning: which section (promo, search results, or the main products catalog) is sent as the products list.

Event tracking data:

  • event: Checkout
  • eventCategory: eCommerce
  • eventAction: Checkout
  • eventLabel:

eCommerce data:

  • Product Name - The sales category, service plan, or resource name in English, even if it is displayed on the screen in another language.
  • Product ID
  • Price (per 1 unit) - The UX1 Panel sends prices in the local currency and reflects their USD values in reports. The conversion of currency from local to USD is made on the Google side. More details
  • Category
  • Variant
  • Quantity
  • Dimension 7 - This is optional for this event. It implies the initial price without discounts.
  • List

A variant is an important attribute. Data for each service and resource is sent in two parts (the included amount and additional amount) for every charge type: setup and recurring.


Items displayed Data sent


Two events are sent for different lists.


With eCommerce information that is sent to Google Analytics, you can create your own sales funnels, analyze the number of drop offs and determine bottlenecks, calculate the conversion rate and cart abandonment rate. Please use the GA Query Explorer and the GA API to export the tables if the standard Google Analytics interface does not work for you.

To build something similar to the following examples, you need to export a table with the following dimensions and metrics:

  • ga:date
  • ga:shoppingStage
  • ga:sessions

 

Be sure to use filtering by Product List Name (ga:productListName) to retrieve only new sales activity on the Marketplace without the Subscriptions & Orders Management data.

A Product List Name must not contain "Subscriptions" or "Orders".

The conversion rate can be calculated as the number of all visits with orders placed (the shopping stage is TRANSACTION), divided by the number of all visits (the shopping stage is ALL_VISITS).

The cart abandonment rate can be calculated as the number of all visits with orders placed (the shopping stage is TRANSACTION), divided by the number of all visits with checkout started (the shopping stage is CHECKOUT) minus 1.

You can build separate funnels for the Reseller Panel and the Customer Panel. The following is an example of the report on Marketplace activities inside the UX1 Panel for Customers. In this example, we used the custom dimension5 (Actor) to show the number of orders that were placed by customers (not resellers acting on behalf of customers).

Additionally, you can obtain even more details on the performance of your products. For this purpose, explore the data available in the eCommerce section of the Google Analytics reports interface.

Be sure to use filters by Product List Name to separate new sales activities from Subscriptions and Orders Management data.

Here are a few tips for Subscription and Order Management analysis. Here you can also build funnels to analyze this flow.

Be sure to use filtering by Product List Name (ga:productListName) to retrieve only Subscriptions and Orders Management data and exclude new sales activities on the Marketplace. A Product List Name must contain "Subscriptions" or "Orders".

Here is an example of the report that you can build using exported eCommerce data and Custom Events data (can be found in the BehaviourEvents section of Google Analytics reports) that we described in detail for the tracking of Subscription and Order Management functionality.

You can also determine how popular certain functionality is among your resellers. You can export the total number of visitors to UX1 for Resellers (ga:users) and additionally create a custom segment for the users who viewed Subscription and Order management screens using ga:page as a filter for that custom segment. The following is an example of a report that describes the use of a functionality.

Adjusting Prices

This section explains which data can be gathered when the provider or a reseller adjusts prices while purchasing on behalf of a customer.

Action Items displayed Data sent
Clicking the Adjust Prices button.

event: adjust_prices

eventCategory: adjust_prices

eventAction: Adjust Prices

eventLabel: review-order

cb_panel: UX1 Panel

gtm.uniqueEventId: 72

 

Clicking the Reset button.

event: adjust_prices

eventCategory: reset_discount

eventAction: Reset

eventLabel: review-order

cb_panel: UX1 Panel

gtm.uniqueEventId: 72

Editing customer prices. This event is sent only if the original customer prices are changed, after users click Buy.

event: adjust_prices

eventCategory: customer_prices_edit

eventAction: Customer prices edit

eventLabel: review-order

Selecting the Keep adjusted prices after subscription renewal checkbox. This event is sent when users select the checkbox.

event: adjust_prices

eventCategory: keep_checkbox

eventAction: <ON or OFF>

eventLabel: review-order

Clicking the Reset Prices button.

event: adjust_prices

eventCategory: reset_prices

eventAction: Reset Prices

eventLabel: review-order

cb_panel: UX1 Panel

gtm.uniqueEventId: 78

 

Creating Quotes

This section explains which data can be gathered when the provider or a reseller prepares a quote for a customer.

Action Items displayed Data sent
Clicking the Purchase or the Quote tile. This event is sent when users click a radio button.

event: order_checkbox

eventCategory: order_checkbox

eventAction: <Purchase or Quote>

Checkout: the Review an offer step.

eventCategory: eCommerce

event: Checkout

eventAction: Checkout

eventLabel: CreateQuote

Checkout: the Provide a customer step.

eventCategory: eCommerce

event: Checkout

eventAction: Checkout

eventLabel: CreateQuote

Checkout: the Provide a customer step.

eventCategory: eCommerce

event: checkoutOption

eventAction: checkoutOption

eventLabel: CreateQuote

Checkout: the Review quote step.

eventCategory: eCommerce

event: Checkout

eventAction: Checkout

eventLabel: CreateQuote

Clicking Preview PDF. This event is sent when users click the Preview PDF button.

event: quote_preview

eventCategory: quote_preview

eventAction: <quote name>

eventLabel: <quote description>

Setting quote attributes.

event: quote_attributes

eventCategory: Quote Attributes

eventAction: Set the quote validity period

eventLabel: <ON or OFF>

Changing quote contents. This event is sent when users click the Create a quote button.

event: quote_contents

eventCategory: Quote Contents

eventAction: <true or false> (shows if there is a quote #)

eventLabel: <true or false> (shows if there is a link to an image)

Checkout: the Create a quote step.

eventCategory: eCommerce

event: Checkout

eventAction: Checkout

eventLabel: CreateQuote

Clicking the View Quotes button.

event: ShareQuote

eventCategory: ShareQuote

eventAction: View_all_quotes

Subscription and order management

Be sure to filter out eCommerce events by the contents of the products list variable. The value of the variable must contain the word Subscriptions.

Approve or Cancel an Order

event: subs_manage

eventCategory: Subscription Management

eventLabel: <order id>; <order number>

eventAction: Approve order or Cancel order


Track an Order

event: subs_manage

eventCategory: Subscription Management

eventLabel: <order id>; <order number>

eventAction: Track order


Cancel a Subscription

event: subs_manage

eventCategory: Subscription Management

eventLabel: <order id>; <reason>

eventAction: Cancel subscription


Change a Subscription

event: subs_manage

eventCategory: Subscription Management

eventLabel: <subscription parameters>

eventAction: Change_subscription


Check a subscription

event: subs_manage

eventCategory: Subscription Management

eventLabel: <order id>; <order number>

eventAction: Check subscription


Switching back to the previous plan

event: subs_manage

eventCategory: Subscription Management

eventLabel: <subscription parameters>

eventAction: Back_current_plan_subscription


Continue shopping

event: subs_manage

eventCategory: Subscription Management

eventLabel: <user id>; <order number>

eventAction: Continue Shopping


Renew a subscription

event: subs_manage

eventCategory: Subscription Management

eventLabel: <subscription parameters>

eventAction: Renew_subscription


Disable / Enable auto-renewal of a subscription

event: subs_manage

eventCategory: Subscription Management

eventLabel: <subscription parameters>

eventAction: <Disable_AutoRenew_subscription or Enable_AutoRenew_subscription>


Disable / Enable Full Screen view of a subscription

event: subs_manage

eventCategory: Subscription Management

eventLabel: <subscription parameters>

eventAction: <Disable_FullScreen_subscription or Enable_FullScreen_subscription>


Enable the adjustment of subscription prices

event: subs_manage

eventCategory: Subscription Management

eventLabel: <subscription parameters>

eventAction: Enable_AdjustPrices_subscription


Switch a subscription's plan

event: subs_manage

eventCategory: Subscription Management

eventLabel: <subscription parameters>

eventAction: Switch_plan_subscription


CloudBlue, an Ingram Micro business, uses cookies to improve the usability of our site. By continuing to use this site and/or logging in you are accepting the use of these cookies. For more information, visit our Privacy Policy.