ROIVENUE Resources
  • Welcome to Roivenue
  • 🚀Roivenue Implementation
  • ❓FAQ
  • 📈Roivenue Training
    • Core Concepts
      • AI Data Driven Attribution
      • Click-based vs. Impression-based Touchpoints
    • Roivenue Features
      • Introduction
      • Model Comparison
      • Custom Dimensions
      • Configurable Dashboards
      • Performance Analysis
      • Filter Panel
      • Bookmarks
      • Dimension Breakdown
      • Budget Optimizer
      • Targets
      • Other Expenses
      • Measures
      • Users Management
    • Data Exports
      • Exports Overview
      • Export to a Google Sheet
      • Export to Azure Blob Storage
      • Export to Google Looker Studio
    • Roivenue for Chrome
    • Playbook
      • How to Identify Best Performing Channels
      • Evaluating Campaign Performance Over Time
    • Roivenue Help Center
  • 💻How To
    • Transaction Data Implementation
    • UTM Parameters
    • Sharing Acesses
    • Sharing GA4 Data through BigQuery
    • Roivenue Measurement Implementation
      • Implementation through GTM
        • Main Implementation
        • Tracking Through Own Subdomain
        • Custom Pageviews Tracking
        • Conversion tracking
      • Implementation without GTM
      • Impression Tracking
      • Implementation validation
  • 🔗Connectors
    • Connectors Overview
      • Advanced Editor
      • JSON Structure Description
    • Google Ads Customization
      • Googlue Ads - Supported Columns
    • Meta Ads Customization
      • Meta - Supported Columns
    • Special Authorization Procees
      • Árukereső
      • Compari
      • Heureka
      • Shoptet
      • Sklik
  • 📖Glossary
    • Marketing and Financial Glossary
      • Delivery Ratio
      • Gross Profit
      • Gross Margin
      • Deliveries
      • Margin Return on Marketing Investment (mROMI)
      • Cost Per Click (CPC)
      • Impressions
      • Marketing Investment Ratio (MIR)
      • Marketing Profit
      • Return on Marketing Investment (ROMI)
      • Cost Per Impression (CPI)
      • Clicks
      • Conversion Rate
      • Cost Per Thousand Impressions (CPT)
      • Cost of Goods Sold
      • Cost Per New Customer Acquisition (CPA)
      • Visits
      • Click-Through Rate (CTR)
      • Average Order Value (AOV)
      • Sales Revenue
      • Return on Investment (ROI)
Powered by GitBook
On this page
  • Prerequisites
  • Visits tracking on all pages
  • Start Tracking Events
  • Configuration of Consent and Anonymous Tracking
  • Conversions Tracking
  • User Identification
  • Additional Changes for Single Page Applications

Was this helpful?

  1. How To
  2. Roivenue Measurement Implementation

Implementation without GTM

This manual describes how to implement Roivenue Measurement in your web that does not use Google Tag Manager.

Legal Notice

The following tracking script sets cookies into the users device. It tracks data which may be used for marketing optimization, content optimization or user segmentation. In some legislations the user needs to make an explicit consent before this code can be legally executed on his or her device.

As we only act as a data processor, you are responsible for obtaining consent in accordance with applicable legislation. If our tracking script gets activated and you have not complied with the applicable rules in obtaining user consent, you may be at risk of sanctions for which we are not responsible

Prerequisites

  • Property ID - You will need this to set up your script correctly. Contact your account manager to obtain it.

Visits tracking on all pages

  1. Insert this entire code on every page inside <head> </head> element.

<!-- BEGIN Roivenue Measurement -->
<script>
  var rm_config = {
    property_id : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    api_url: "https://tr.roivenue.com", 
    autocapture: true
  };
</script>  
<script src="https://tr.roivenue.com/static/init_v2.js"></script>
<!-- END Roivenue Measurement -->
  1. Adjust the property_id - insert the ID you have from your account manager.

Start Tracking Events

  1. To start tracking events, call the startMeasurement function of the global $rm object:

$rm.startMeasurement();

Tracking events will start only after you call the startMeasurement function. This allows you to evaluate user consent with cookies first and start tracking events only after that.

Important - This is a frequently missed step When a user visits your page for the first time, he is probably presented with a cookie banner. You need to send an event immediatelly after they interact with the cookie banner! If you send a next event only after they go to next page, you lose the source of the visit forever and as a result you will not know what was the original source of a conversion when they make a purchase in the future.

When script above is included, and $rm.startMeasurement(); is called, it automatically tracks page views and page leave events. The script will automatically track traffic source information from HTTP referrer and UTM parameters, device type and other useful information.

After tracking script is initialized (by code snippet above), custom events can be then tracked by calling capture() function of $rm global object (see Conversion Tracking section for an example).

Disabling measurement

Once measurement has been started by calling $rm.startMeasurement() it is enabled and captures all events. Measurement can then be stopped by calling $rm.stopMeasurement().

$rm.stopMeasurement();

Calling this method disables measurement and no further events will be captured even when calling $rm.capture() or $rm.identify().

Configuration of Consent and Anonymous Tracking

The startMeasurement function has an optional parameter which is a configuration object.

$rm.startMeasurement({ /* options */ });

Persistence

$rm.startMeasurement({ persistence: 'localStorage+cookie' });

The persistence option allows you to specify how user data is stored in the browser. The persistence option can have one of the two values:

  • persistence: "localStorage+cookie" (default): Cookies are used in this case

  • persistence: "sessionStorage": Stores everything in sessionStorage, cookies are not used.

  1. If you have a full consent from your website visitor, we recommend using the default settings of persistence.

  2. When there is a limited consent with tracking, you should set up persistence to sessionStorage

$rm.startMeasurement({ persistence: 'sessionStorage' });
  1. To completely exclude user from tracking, the startMeasurement function should not be called at all.

When a user changes his consent with cookies at any point, this change can be passed to Roivenue Measurement using setConfig function. This function has a single parameter which is a configuration object with the same structure as in startMeasurement function.

$rm.setConfig({ /* options */ });

setConfig function can be called only after startMeasurement function has been called.

An example of calling setConfig to set the persistence to a cookie:

$rm.setConfig({ persistence: 'localStorage+cookie' });

As we only act as a data processor, you are responsible for setting up the Roivenue Measurement in line with applicable legislation in your country.

Additional Settings for Anonymous Tracking with Multiple domains

  1. You need to configure a property in the rm_config object

    • write_cross_domain_info - By default, it is set to false,change it to true

      • The session id will be inserted into the URL of the current web page and will be passed as a referrer URL to subsequent web pages.

  2. You need to insert a following meta tag for referrer policy into the source web page:

    • <meta name="referrer" content="no-referrer-when-downgrade" />

      • This step makes it possible to pass the full URL in the referrer URL.

      • The destination web page automatically reads the session id from the referrer URL.

The destination web page automatically reads the session id from the referrer URL.

Conversions Tracking

Next, we need to capture all conversions created by your customers.

  1. To do that, call capture conversion to track an e-commerce purchase event:

$rm.capture('conversion', {
  conversionType: 'purchase', //there may be a different type like 'userRegistration' etc.
  conversionId: 'XXX12346', //unique conversion ID 
  conversionValue: 123.5, //decimal number - monetary value of the conversion (optional)
  currencyCode: 'XXX' //Three letter ISO-4217 code of currency, (required if conversionValue is specified)
});

Multiple Conversions Setup

To track other conversion type events, you can easily track a ‘conversion’ event exactly the same as described above and just change the conversionType.

User Identification

This step is optional

We can use User ID to track users across devices. This ID is typically available only for users which logged in on your website.

  1. Whenever the user logs in or makes a purchase that you are able to connect with a unique user identifier, call this:

$rm.identify('[user unique id]')

The User ID should not be a personal sensitive information. For privacy protection reasons it is recommended to use an artificial identifier or a hash.

Additional Changes for Single Page Applications

Most e-commerce solutions use standard navigation between pages and you can skip this section. But if your website is a javascript single page application, then there need to be some changes.

  1. Set the rm_config.autocapture to falseon all pages.

  2. To track pageviews, call capture function after every navigation (when page location changes):

$rm.capture('pageview', {});

Tracking Other Events

Roivenue Measurement supports tracking of other on-site events as well. If you are interested in custom implementation, let us know.

PreviousConversion trackingNextImpression Tracking

Last updated 3 months ago

Was this helpful?

This section is relevant only to businesses which have a site splitted into multiple domains. It means some sort of split like: shop.example.com and then checkout.example.com and your customers are automatically redirected between those subdomains as they shop. If you are not using subdomains this way, skip this part and continue to

💻
Conversions Tracking