This tutorial will help you to make the most out of the UltraCart Analytics platform. 

PLEASE NOTE: The analytics engine that drives the 'Statistics' dashboard, started collecting data in 2018. 
(Because it's an event based system, it can't go further back in time.)


Background

The UltraCart Analytics platform strives to provide near real-time insight into the performance of your business with a level of insight that most reporting platforms do not achieve.  We've helped merchants with the struggle of gaining insight into their business from end-to-end for a long time.  In the end we've always come down to three problems with external reporting tools:

UltraCart Analytics seeks to provide true answers to the questions most merchants have:

UltraCart Analytics also wants to make it easier on merchants:

Metrics

The UltraCart Analytics system provides reporting on the following metrics across three categories (basic, RTGs, and affiliates)

Understanding the Math

Profit = Revenue - Expense

Glad we got that basic business equation out of the way!  The goal of business is to make a profit and we believe that any analytics system that doesn't focus on actual profit is completely flawed.

Revenue

This is simple for UltraCart to capture since we're handling all the orders.  Other tracking system have more trouble with this because you have to fire pixels on your receipt, etc. to report the revenue.  

Expense

UltraCart Analytics tracks the following types of expenses.

Shipping

Shipping is often a non-trivial component in the expense structure of an e-commerce business.  Capturing the cost of shipping can be a challenging.

UltraShip

If you're processing your orders with UltraShip then we are automatically capturing the shipping costs reported by the different carriers for each shipment.

Fulfillment Integrations

Some fulfillment integrations automatically provide the cost of shipping each order back at the same time as the tracking numbers.  The following integrations currently support this:

If you believe that your fulfillment company can provide this information, but the integration currently doesn't support it, please contact UltraCart Support

Collecting at Time of Shipment

When you mark an order as shipped in the Shipping Department you can specify the postage cost as shown in the screenshot below:

Specifying Averages for a Distribution Center

Under the Distribution Center → Analytics you can configure the average shipment fee.  This is OK if you have a fairly predictable shipment cost per order.

Fulfillment

Similar to shipment costs, fulfillment costs can be specified.  At this time there are no integrations that provide the fulfillment pick fees in an automated fashion.  The best solution is to configure this under each distribution center as shown below.

Affiliate

There are two types of affiliate scenarios that UltraCart Analtyics can track:

Integrated Affiliate System

The integrated affiliate system will automatically track without any additional configuration.  

Affiliate Networks

If you're working with external affiliate networks such as ClickBooth, AboveAllOffers, etc. then you should be using the Affiliate Network Pixel.  When you configure your Affiliate Network Pixel, you will have the ability to specify the commission amount.  UltraCart will automatically detect when this networks pixel has fired and count that commission as an expense.


Cost of Goods Sold

The cost of the products you are selling is easy to configure on a per item basis. In the item editor click on the "COGS/MAP/MSRP..." link as shown below.

Next specify the cost of goods sold in the COGS field.

You can also specify the cost in an item import or the price update tool.


Marketing

At this point in time, UltraCart Analytics can download marketing data from Google Adwords (via Google Analytics) and FaceBook via API connection.  

Google Adwords

First make sure that you have linked your Google Adwords account to your Google Analytics account (this is recommended by Google).  Next click on StoreFronts → Conversion and Tracking → Google.  Scroll down to the Google Analytics Experiments section and populate the Account Id, Property Id and Profile ID then click Connect.  More detail on finding these values and connecting the API is found under the Performing an Experiment.  In the future this section will be renamed "Google Analytics API" as the connection does more than use the Google Analytics experiment engine.

Google Adwords campaign spend data will download daily into UltraCart once the report is considered "golden" by Google (will not change further).  So your campaign spend date for Google will typically download by noon the next day.  UltraCart is checking hourly for this data to become available.

FaceBook

UltraCart Analytics communicates with FaceBook using their Graph API.  In order to connect your FaceBook account click on StoreFronts → Conversion and Tracking → Other → Facebook Analytics.  You'll need to specify your FaceBook account ID (since any accounts can be controlled by a single FaceBook user) and then click on connect.  This FaceBook article will provide help on finding your Facebook account id.

UltraCart will download FaceBook campaign spend data hourly from FaceBook.  UltraCart will also feed Facebook your customers as a "custom audience" to assist you in retargeting customers that are similar.

Payment Processing & Reserve

UltraCart automatically knows the fee structure associated with PayPal and Amazon payments.  By default UltraCart will assume that your credit card processing rate is 2.9% and $0.30/transaction.  If you're paying more than that considered checking out UltraCart Payments!  If you need to configure different rates than the default, configure a merchant account profile and specify the rates. After configuring the merchant account profile, navigate to the payments configuration and then into the transaction gateways configuration page, then scroll down to the configured gateway and to the right of the card types checkbox fields, select the configure merchant account profile form the drop-down list, then click the save button to save the changes.

Some high risk merchant accounts also place a reserve on the funds processed.  You can also configure that under the merchant acocunt profile.


Marketplace

UltraCart automatically captures the fees associated with the eBay marketplace.  These fees include listing fees and final value fees on orders.  The fees associated with PayPal payment processing for eBay orders are also captured and reported under the Payment Processing expense automatically.


Tracking on External Websites

UltraCart Analytics tracks everything to a channel.  Each StoreFront or legacy screen branding theme is considered a channel.  So if you are using an external website connected to an UltraCart StoreFront in checkout only mode or the legacy checkout then you can place a tracking script on your external.  For example if our merchant id is SAMPL, our StoreFront is sampl.ultracartstore.com and our website is www.mysamplesite.com, then we connect the two by placing the following tracking script out on the pages of the www.mysamplesite.com website:

<script async defer src="https://d9i5ve8f04qxt.cloudfront.net/UC/62/uca/0.1.0/js/collect-g.js" data-mid="SAMPL" data-channel="sampl.ultracartstore.com"></script>

Just change the data-mid and data-channel to match your UltraCart account.

You can place this script anywhere within the web pages source.  The script is both asynchronous and deferred so it will have no impact on the performance of your site.  We load this script off the Amazon Cloudfront CDN is it will load extremely fast.  

This script will record:

This script will set a tracking cookie in order to keep track of the customer through multiple engagements with your website.

Tracking on External Websites (with Google Tag Manager)

The way Google Analytics loads scripts, it will not replicate the data tags.  To solve this problem we'll use a URL syntax instead of data attributes.  For example if our merchant id is SAMPL, our StoreFront is sampl.ultracartstore.com and our website is www.mysamplesite.com, then we connect the two by placing the following tracking script into the Google Tag Manager container for the www.mysamplesite.com website:

<script async defer src="https://d9i5ve8f04qxt.cloudfront.net/UC/62/uca/0.1.0/js/collect-g.js?mid=SAMPL&channel=sampl.ultracartstore.com"></script>

Just change the mid and channel to match your UltraCart account.

Tracking on External Websites with Different Domains

The UltraCart Analytics engine will make a best effort to track users between the landing page domain and the checkout domain when they are different.  There are no additional changes that are required when deploying the tracking script to your external site other than properly configuring the mid and channel parameters.

Firing Events on External Websites

If you have implemented a custom checkout using our REST APIs you may want to fire events when the customer adds items to their cart and initiates the checkout process to help drive the funnel information on the analytics dashboard.  Below are example of firing events when UC Analytics is loaded on the page.

Add Items

window.ucaEvent(
  {
    "event": "add items",
    "items": [
      {
        "itemId": "SKU_1",
        "quantity": 1
      },
      {
        "itemId": "SKU_2",
        "quantity": 1
      }
    ]
  }
);


Initiate Checkout

window.ucaEvent(
  {
    "event": "initiate checkout",
    "items": [
      {
        "itemId": "SKU_1",
        "quantity": 1
      },
      {
        "itemId": "SKU_2",
        "quantity": 1
      }
    ]
  }
);



Dashboard Widgets


There are currently three different types of widgets related to UltraCart Analytics that you can place on your dashboard. 

Click on the Arrange Widgets link as shown below.

Then you can drag the following widgets and arrange them in the desired order on the dashboard.

After you place the widget on your dashboard you can further customize each section by clicking on the settings icon.

Customize the dashboard to meet your own needs.

You can adjust time period for each report by clicking on the button shown below.

Tracking Campaigns

UltraCart Analytics tracks sales back to campaigns using UTM parameters.  It's important that all inbound marketing traffic to your site have the following two UTM parameters specified:

You may need to edit your Adwords campaigns or FaceBook campaigns to add these values.  You can also track more than Adwords and FaceBook campaigns though.  Any type of traffic tagged with these parameters will be tracked.

Tracking Facebook


FAQ

The analytics engine that drivers that dashboard started collecting data in 2018.  Because it's an event based system, it can't go further back in time before that.


Make sure that you configure all of your expenses as shown in the document above.  Once you configure an expense it will effect go forward data collection, but nothing historical that has already been collected.


UTM campaign hits across all sessions since customer first visited or their last order.


Analytics sessions process asynchronously several minutes after the order is placed.


Make sure that you instrument your marketing campaigns with UTM parameters so that the source and campaign name can properly match up.  If the campaigns are targeted at an external website, please see the section above about tracking on an external website for the proper script to deploy.


It is part of your UltraCart account.


Maybe.  There are a million things that can be reported on, but we are trying to keep the system very usable with minimal one time configuration requirements and produce statistics that all users can understand.


The newer dashboard system works off an event processing system which process approximately 45 minutes behind real-time.  The data will eventually be consistant with the legacy sales graph.


The analytics engine that drives that dashboard widgets uses a delayed event stream (see previous Q/A above), therefore it may differ slightly from the official order database. 
If you're doing accounting type reporting and reconciliation, it's recommended that you use either the
Reports menu or order exports for conducting a deeper analysis of your sales activity.


A repeat customer is a customer that has two or more orders in the order history.

Please note that the order retention settings can affect this metric. So, if you have your Order Retention configuration set less than "Infinite", then repeat customers may no longer be reflected as such, due to their previous order(s) being purged from the order database.


A "Referral" references traffic coming from a domain other than a search engine or social network or your own storefront.

For Example: If I had a site named: mywebsite.com and I linked to your website, then all the traffic from my site to yours would be considered referral traffic.