Calculating and updating session cost data in the adCost and attributedAdCost fields

Note: Session cost attribution is available only in the subscription plans Growth, Professional, Reports & Attribution, and Enterprise.

OWOX BI allows assessing the effectiveness of your ad channels based on the calculated session cost. To do it, you need the following data:

To calculate the session cost, the session data tables are supplemented by the cost data from CostData_ tables automatically. And the total session cost is attributed evenly between sessions according to the UTM tags 'source', 'medium', 'campaign', 'keyword', and 'content' and written to the fields adCost and attributedAdCost.

Note:By default, Google Analytics applies the Last Non-Direct Click attribution model, in which the value of direct visits may be attributed to the last non-direct traffic source. Read more about this.

The adCost field

When all tags match, the session's cost is attributed evenly between all sessions with the corresponding tags and written to the adCost field.

The value from the adCost field will also be assigned to the attributedAdCost field for these sessions. See the example below.

The attributedAdCost field

When one or more tags are unknown, the cost is attributed evenly between the sessions according to the known tags and written to the attributedAdCost field.

If some value has already been assigned to such sessions (for example, by assigning a value from the adCost field), the new value will be added to the existing one. At the same time, the value of the adCost field will not change as there is no total match between all the tags. See the example below.

Processed cases:

  1. No 'utm_content' tag β€” costs are attributed accordingly to 'utm_source', 'utm_medium', 'utm_campaign', 'utm_term'.
  2. No 'utm_term' and 'utm_content' tags β€” costs are attributed accordingly to 'utm_source', 'utm_medium', 'utm_campaign' and 'utm_term'.
  3. Only the 'utm_source' and 'utm_medium' tags are known β€” costs are attributed accordingly to these known tags.

Note:To distribute the attributed ad cost to a session, the presence of the 'source' and 'medium' tags is required. If even one of these tags is absent, then costs won't be attributed.

Calculation examples

We know we've spent 100$ (adCost = 100) on sessions with the following tags:

  • 'utm_source' = 'google'
  • 'utm_medium' = 'cpc'
  • 'utm_campaign' = 'spring_sale'
  • 'utm_term' = 'running+shoes'
  • 'utm_content' = 'logolink'

We also know had 5 sessions total with the same values of the tags 'utm_source', 'utm_medium', utm_campaign', 'utm_term', and 'utm_content'.

Since all the tags perfectly match in all sessions, the field adCost will get the value calculated as 100$ / 5 sessions = 20$.

In this case, the costs are calculated for the attributedAdCost field in the same way:

'utm_source' 'utm_medium' 'utm_campaign' 'utm_term' 'utm_content' 'attributedAdCost' 'adCost'
'google' 'cpc' 'spring_sale' 'running+shoes' 'logolink' 20 20

Another case: Google Analytics has cost data for 100$ more with this set of tags:

  • 'utm_source' = 'google'
  • 'utm_medium' = 'cpc'
  • 'utm_campaign' = 'sale'
  • 'utm_term' = 'running+shoes'
  • 'utm_content' = 'logolink'

However, Google Analytics doesn't have data on sessions with this set of tags. In this case, the sum of costs of 'google / cpc / sale' will be attributed to all 'google / cpc' sources as (100$ + 100$) / 5 sessions = 40$. But the value in the adCost field won't change, since this time we don't gave a perfect match by tags:

 'utm_source'  'utm_medium'  'utm_campaign'  'utm_term'  'utm_content'  'attributedAdCost'  'adCost'
'google' 'cpc' 'spring_sale' 'running+shoes' 'logolink' 40 20

Data updates

Values in both the AdCost and attributedAdCost fields are updated every day during an actualization window preset for data imported from Google Analytics.

Changes in cost data, collected via the connected Ad Service β†’ Google BigQuery pipelines, will be reflected in the adCost and attributedAdCost fields in 6 hours after this data is updated in the CostData_ tables.

If you use the Ad platforms β†’ Google Analytics pipelines as a data source for the CostData_ table (see scheme GA_ONLY of the cost data import), please consider the following:
when the tags are changed in your Google Analytics account, but your ad costs remain the same, data in both the "CostData_" and "owoxbi_sessions_" tables won't be updated.
To update the tags in the OWOX BI table, contact us at

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


Please sign in to leave a comment.