What is attribution

As a retail marketer, each marketing channel you use to attract visitors to make purchases will generate varying levels of returns for your invested resources.  A user might be interacting with multiple channels before making an order on your online store. And when they do, you would want to know which channels helped retain them as active customers. In order to gain insights into your various conversion-driving channels you need knowledge on the exact sources that drive customers to make that purchase. 

In the context of ecommerce marketing, attribution is the process of attributing revenue from an order onto the marketing action(s) that lead to that sale occurring.

Typically you as a marketer would look at the orders attributed per marketing channel, and compute the ROI of a single channel by taking the profit from all the sales attributed to that channel and subtracting the cost of the marketing actions taken in that channel. 

Typical channels are organic search, email, social advertising, paid search, CPC, referrals, etc. Some of which are free (other than the effort required to nurture them) and some require payment.

Given that you and your company will make large budgeting and strategy decisions based on this ‘attribution report’, there is a desire to measure attribution correctly, however as it turns out this is really difficult to do.

The model or logic used to attribute orders to the marketing actions is called an attribution model.

There is no ideal attribution model. Every model has its limitations and perks. 

This document explains Ometria’s attribution model.

What attribution means in the Ometria app

When an order is attributed to its source campaign, it means that the order:

a) is attributed to the campaign sent in the Campaign Performance report: in the Orders tab (for individual automation campaigns), and when you click on View Orders in the broadcast funnel (for individual broadcast campaigns)

b) appears in the list when you filter the Orders report by 'Order from automation campaign' / 'Order from broadcast campaign'.

We NEVER use UTM parameters for campaign attribution.

How do we attribute orders in Ometria

Ometria attributes orders in three ways. 

  1. By Visit: when orders are placed within a visit session.
  2. By (Time-)Window: when orders are placed within two hours of clicking through an Ometria campaign.
  3. By Coupon code: when orders are placed using a coupon code, that was sent via an Ometria campaign.

See this doc to find how we define visits.

Read more about each attribution method below.

1. Visit-based Attribution:

[Used for all/any visit source.]

If an order is placed in a visit session that started by clicking through a campaign email, CPC ad (Adroll, Webgains, etc), social ad, etc., the order is attributed to the respective source. 

It’s worth noting that a visit session lasts for 30 minutes after the last activity on the website.

  • So if the order is placed within the visit session
  • AND JavaScript tracking is correctly set up on your site
  • AND the “transaction” event triggers during checkout in the tracked session

The order is attributed to the visit source that led to it.

Note that this criteria assumes the user is not browsing in private mode, and has not disabled their cookies from being tracked. 

How are visit traffic sources decided

When a new visit is started, Ometria works out its source information from the URL. Traffic coming from different sources will have different forms of URLs. (Examples shown below). 

The visit source information from the URL is stored in a cookie for the duration of the visit and even after the visit has ended. So in case the visitor next visits through an ‘unknown’ visit source, Ometria can still attribute any purchases to their ‘first visit source’ that is stored in the cookie. 

Example URLs:

To work out traffic sources for visitors based on the tracking parameters contained inside the link URLs Ometria uses the 3-step process below.  

1. Check for the parameter ‘om_campaign=...’ in the URL. If it is present, assign the visit to that campaign by allocating an Ometria campaign ID on the visit.

Each link that a customer can click-through from an Ometria email has an ‘om_campaign’ parameter inside its URL. This is not customisable and has a fixed format and cannot be removed. It also has ‘om_send’ parameter which identifies the exact sent email, and is not customisable.

Ometria doesn’t use UTM parameters to assign visits /orders to campaigns. Visits are attributed by the om_campaign link parameter mentioned above.

2. If ‘om_campaign’ is not present, look for ‘utm_medium’ and ‘utm_source’ parameters and record these values for visit source and visit medium, if present. See Table 1.  

Table 1: Link tracking parameters and what they are used for


Used for


(fixed - not customisable)

This is an internal <om_campaign> parameter used for tracking and associating an order to a particular campaign/version/node ID.


Not used for tracking or attributing orders to campaigns.


Used to identify a traffic medium such as email or cost-per- click 


Used to identify a search engine, newsletter name, or another source. 

[For the default UTM parameters for different campaign types: automation, broadcast, transactional, see UTM parameters for emails. ]

If UTM parameters are not present, attempt to work them out. See step 3.

Note:  This is because if no UTM parameters are present, there is no ‘utm_campaign’ to work out as there is no ‘campaign’. The best we can hope for then is to work out and capture a value for ‘utm_medium’ and ‘utm_source’. And maybe ‘utm_terms’ if it is coming from paid search.

3. If the UTM parameters are missing from the click URL, attempt to work them out. Here’s how.

Example process of using clues to work out the values of UTM parameters:

  • Check for google adwords:

    • If URL has ‘gclid’ parameter, utm_medium=”cpc” and utm_source=”Google” 

    • If the REFERRING URL contains ‘aclk’  and ‘adurl’, utm_medium=”cpc” utm_name=”Google”

  • Check for organic search

    • If the REFERRING URL is from a particular list of domains (domains that we consider to be organic search sources), we assign utm_medium=organic and utm_name from that list. We also attempt to get utm_term from the query string parameters.

For example if the referring domain is 360.cn and the referring url contains ?q=<something> we will assign utm_medium=organic, utm_source=360.cn and utm_term=<something>.

If the above 3 steps can’t find out the visit source, meaning if in the URL, there is 

  1. no ‘om_campaign’ parameter,
  2. no UTM parameters for source and medium.
  3. and these UTM parameters can't be worked out,

then the visit is attributed to an ‘unknown’/blank or ’direct’ source. 

(‘unknown’ and blank fields mean the same thing)

Note on unknowns or blanks in the orders report:

The order source campaign filter and grouping option in the Orders Report do use UTM parameters for order reporting. However, these may label and filter out a high number of orders with ‘unknown’ or blank source campaigns if either

  1. Not all order source campaigns in the selected time frame had UTM parameters. 
  2. Not all orders were made within the visit that started via a campaign link 
  3. In this case it’s better to recheck stats by filtering by ‘order from automation/ broadcast campaign 

2. Time-Window Attribution:

[Used for attributing orders to Ometria campaigns only and not applicable to other sources]

Ometria assigns orders to the original campaign email, if the email was clicked-through in the two-hours time-window before placing the order. 

If a contact places an order on your website we look back two hours and check if there was a click event (from our Sparkpost data) from one of our emails sent to that customer in that time window. If there is a click event, then the order is attributed to that campaign.

Unlike visit attribution no link tracking parameters are used, however the purchase is still attributed to the right order. This is why window attribution is very useful for when

  • orders are not made in the original visit session but in a later revisit, 
  • or if the order source is missing any link tracking parameters,
  • or JavaScript tracking failed, etc.

In these cases the time-window model makes sure that the original campaign bringing the user to your web page is attributed to the order. Meaning that, for revisits within 2 hours, the time-window based attribution trumps the visit-based attribution model. Read more in Updates to visit sources in case of revisits

Attributing purchases across multiple devices

Since window attribution is based on the contact’s activity and not their cookies it applies across multiple devices as well. 

So if a person clicks through an email to your website using their phone, abandons browse and an hour later buys a product via another device, e.g., their computer, that order will be attributed to the same source campaign the user clicked through on their phone. 

3. Coupon code attribution

[Used for attributing orders to Ometria campaigns only and not applicable to other sources]

In automation campaigns, there is the ability to specify a coupon code/code pool when setting up the email send. When a purchase is made using a coupon code that was sent to a contact by an Ometria campaign email, the purchase is attributed to that campaign email.  

Specifying a coupon code during the transaction will trump all other attribution methods, and the purchase will be attributed to the source campaign that sent the coupon code in the first place.

However there are a few edge cases that need to be considered. 

Coupon Code attribution edge cases

1. If the coupon code was used by a friend of the recipient, one who has not gone through the Ometria campaign, their order won’t be attributed to the campaign.

Once an order is placed we check that:

  1. The order uses the coupon code sent to a contact
  2. The contact ID of the order and of the coupon code recipient, match

Thus, forwarding a coupon code to a friend should NOT attribute their order to the original campaign..

[However, other attribution models (e.g. visit-based) are used as normal in this case.]

2. If the coupon code was used, a long time after receiving the email, e.g., after 6 months, the order will not be attributed to the original campaign the coupon code was sent in.

The time limit is 31 days from the coupon code being sent to the order being placed. Coupon code used after 31 days won’t attribute orders to the campaign.

3. If the coupon code was not used initially but after being retargeted by Facebook ads, the coupon code was used to make the purchase, the order will be attributed to the original campaign.

If there is a coupon code sent to the contact who placed the order within 31 days, that order will definitely be attributed to the campaign. The channels used in the meantime have no effect.

4. If the coupon code was used after the customer unsubscribed/opted out it would still be attributed to the original campaign. (provided it was within 31 days of receiving the coupon code)

Subscription status makes no difference. Again we only check if the coupon was used and who that was sent to.

Coupon code attribution is independent of what device was used to make the order.

Again, there is no connection to any cookies, JavaScript tracking or anything similar in this model. Its purely dependant to the coupon code in the order and if that coupon was sent to the user. Devices and cookies are not involved at all.

Updates to visit sources in case of revisits   

In case of revisits within a visit session:

Fig 1: Updates to visit source in case of revisiting within 30 minutes after your last activity.

Whether the original visit source is an Ometria campaign, Facebook Ads, PPC or any source, any order made when a visit session is still active will be attributed to the visit source.

If when a visit is still active, the user revisits through a campaign or another medium, the order will be attributed to the campaign / source that started the visit.

So if Jane had first visited your online store through a Facebook ad, browsed around, left your site, and revisited 20 minutes later through an email campaign to make a purchase, then based on the visit-based rule her visit source for the order will not be updated and remain attributed to Facebook ads.

Read more about Visits in Visits to your website.

In case of revisits within a 2-hour time-window:

For revisits within 2 hours, the time-window based attribution trumps the visit-based attribution.

Fig 2: Updates to visit source in case of revisiting within 2 hours

Suppose Jane initially clicked through an Ometria campaign to come to the website and one hour later, Jane revisits through a Facebook ad and makes a purchase. Jane’s order will be attributed to the initial Ometria email campaign because Jane’s second visit was within two hours of the first original one. The original visit source, the Ometria email campaign, is given preference for attribution, and is retained.

This method of attributing orders and revenue to campaigns is called ‘time-window’ attribution. 

This attribution model is applied only for Ometria campaigns. Meaning a non-Ometria visit source that is 2 hours old from the time of order, will not be attributed to the campaign.

All orders made outside the 2-hour time window, are attributed to their visit source by visit-based method, if the user orders IN their visit session. 

Revisiting through Direct:

A ‘direct’ visit is when Jane types the address of your store website in her search bar, clicked a bookmark, directly searched your brand/product name, or some other undefinable source.

‘Direct’ as a campaign source, never overrides an existing known campaign source.

This means that if the user visits through a campaign or an identified traffic source, but later (any time) revisits from a direct source and places an order, Ometria will attribute the order to original campaign source as Direct as a traffic source never overrides an existing source. 

What happens if a payment page redirects? 

E.g. at the point of checkout if your website is redirected to Paypal, Sage, Gumroad, etc. is the order placed still attributed to the correct visit traffic source?

Ometria still receives the order even if your payment page redirects, as it's sent via backend, and counts the value in the revenue. For attribution, Ometria uses the time-window-based or coupon pool-based attribution for these orders, which are meant to make sure the order is attributed to the original source.

However, it is possible that this order will be incorrectly attributed. For example, if the user is on site.com, clicks pay via PayPal, then goes to paypal.com and comes back to site.com, it is possible that the visit is attributed to paypal.com based on visit-based-attribution, as that's the last source of a visit. This issue is actually more likely to occur on Google Analytics than Ometria, but still it’s a difference.

Discrepancies between Google Analytics and Ometria in reported campaign revenue and orders 

Different ecommerce reporting platforms use different data attribution logic. And since rarely do two different reporting sources have the same attribution logic, they end up reporting different revenue, number of orders and visits.

Our data has shown that 15-20% difference between the revenue reported by GA/other reporting software and Ometria is expected. This could possibly be high depending on your setup. To clarify, here’s a simplistic example for a tool that uses last-click attribution model. Consider a user who:

Fig 3: Example: Order attribution by a last-click attribution model

Their orders are attributed to the source last clicked by end-user to come to the website, and so a high amount of orders would be attributed to direct/google search. This amount would be quite different from another tool that uses first-click attribution model to attribute orders to their driving sources. Hence, in this case the difference between the revenue reported by these two tools could be higher than 20%.

When Ometria might report lower campaign revenue than GA

  • JavaScript is not implemented correctly. JavaScript tracking on the client website tracks the sessions and activity of the customers of the client. If the JavaScript is not implemented correctly, this will cause the reporting stats to be incorrect.
  • You could also have a possible data integration error, where some orders are not being sent through the importer
  • Or the JavaScript is being called for orders that are not fully valid, and therefore those should not be sent.
  • Any recent changes on your website, example addition of pop-ups, footers, new web pages might not have the JavaScript tracker implemented correctly.

If any of the above is the case, contact support or your CSMs to inform them, so they can guide you what to do to avoid any reporting gaps.

  • Comparison with other platforms on revenue last year (pre-April 2018) vs this year. This is the time after which GDPR practices were implemented completely and around 20% difference before and after GDPR is expected. This is more obvious for automation sends that operate on strict opt-in mode only. 

If any visit, order or revenue metrics seems a lot higher or lower than usual, the best action would be to contact support so they can tell you exactly what’s wrong and how to fix it.

When Ometria might report higher campaign revenue than GA

  • UTM tags are not being populated across the website.

UTM tags are Google Analytics tags added to links in the email. When a user clicks on a link, GA can identify that user as coming from a particular traffic source channel (Email) from a specific campaign (Ometria_Newsletter X). If the UTM tags are not populated throughout the users journey on the website, e.g., tracking parameters are stripped off while reloading or navigating to another page, certain GA attribution models (there’s a variety) no longer attribute any transaction to that email. Whereas since Ometria doesn’t use UTM parameters for tracking, Ometria will continue to track it.

  • Orders made through Paypal or third parties are not tracked by GA

For the same reason mentioned above, if the payment page on your website redirects to Paypal or a third party payment page where the link tracking parameters are stripped off, then GA will not be able to track that transaction however Ometria will continue to track that order as Ometria doesn’t use UTM parameters to track.

  • GA does not report on revenue made in amazon or eBay stores or other offline channels, Ometria can report on these stores so a discrepancy in revenue should be expected between GA and Ometria in these cases.

Note: Ometria only reports on these orders IF eBay and Amazon is configured to send those orders back to the clients ecommerce platform