Web Tracking provides the final component required to give the email marketer a 360-degree view of the customer. The Number One purpose of promotional email marketing campaigns is to drive traffic to websites where products are purchased, content is viewed, and whitepapers are downloaded (to name a few uses). As its name implies, web tracking tracks pages on the website that the contact views after clicking to the site from the email. The website activity is then used to drive email marketing campaigns which in turn drive traffic back to the website.

Maropost Marketing Cloud’s web tracking is used for simple activities as tracking recency and frequency of page views. It is also used for more advanced capabilities as attributing e-commerce product purchases to email campaigns, tracking web funnels for completions, abandonment, and conversions, and displaying personalized content within emails based upon machine-learned content preferences.

In order to utilize the web tracking features into Maropost, please follow these steps:

1. Hover your cursor over the Maropost logo and click on ‘Web’.

Screen Shot 2015-09-14 at 10.30.03 PM

2. Now, on the page opened hover over Web Tracking and click on ‘New Website’.

Screen Shot 2015-09-15 at 7.18.18 PM

3. Enter the domain of the website that you will be tracking and then press [Save].  If you have multiple web properties, then create separate websites for each property.


4. The Web Tracking list screen will now show the domain of the website that you’ve just created.  Click on the domain name to open the web tracking details screen.

5. Click the Integration tab as shown below:


The screen will now show you the web tracking script that you will copy and paste into your web pages along with the values that you will dynamically set in the page.   You can place it anywhere on the web page — either at the top or at the bottom — it’s your choice.  The Javascript function works in asynchronous fashion so that it has no impact at all on your page load time.

Basic Web Tracking

The absolute minimum you need to add to your web pages is the following lines of code:


When a contact clicks a tracked link included in an email sent from the Maropost Marketing Cloud, the contact ID and the campaign ID will be automatically set as cookies in the contact’s browser.  The web tracking script automatically reads those cookies in order to attribute the page views to the contact and to the campaign.

Advanced Web Tracking

The web tracking script provides additional variables that you can pass into the platform.  Let’s examine each of them separately.

Contact Information


The _maro_contact variable allows you to pass in optional attributes that can either be static values or ones that your web developer dynamically sets when the page is rendered in the contact’s browser.

  • email – Normally you would not include this optional attribute because the contact’s ID is automatically read from the browser cookie that was set when the contact clicked through to the landing page from the email.  Even if you provide the email address, the tracking script will ignore it as long as the contact ID is present in the cookie.A typical scenario in which passing in the email address is appropriate is the one of a shopping cart process in which an anonymous site visitor enters an email address during the shopping process to receive the purchase confirmation email, and then checks the option to “also receive promotional emails.”  In this case, there will not be a contact ID set in the browser cookie so the email address becomes the lookup key.  If the email address exists, then the page view will be attributed to that contact.  If the email address does not exist, then a new contact record will be created and the page view attributed to the new contact.
  • URL – By default, the web tracking script records the page URL excluding the query string parameters. The exclusion allows you to aggregate page views of all your contacts without being affected by user-specific custom query string parameter values.You can override the default URL and provide your own here.  This option is especially helpful if you are using personalized URLs in the path and you want to aggregate all page views under a single URL.
  • title – By default, the web tracking script records the page title which is available for segmentation.  If your page titles are too generic to be of practical use in segmentation, consider overriding the default with on that is more useable.
  • add_tags – You can provide one or more Contact Tags here.
  • remove_tags – You can also remove one or more Contact Tags.
  • referring_url – The web tracking script will automatically record the referring URL.  You have the option to override it if you wish.
  • campaign_id – The web tracking script normally reads the campaign ID that is set in the contact’s browser cookies when clicking through to the landing page from the email.  You can override it here if you wish.
  • first_name – Helpful if you are creating a new contact record for the first time.
  • last_name – Helpful if you are creating a new contact record for the first time.
  • [custom fields]  – You can pass in values for any custom fields that you have created in the Contacts database.

Web Funnels

The web tracking script is used to track a contact’s web page views in which the sequence of pages is pre-defined.  This pre-defined sequence is known as a “web funnel.”

A web funnel in this context is different than the usual web funnels defined by the web analytic reporting tools. Here, web funnels are very short, comprising typically of two page views:  the page at the entrance of the funnel and the page at the exit of the funnel.  An example of this type of web funnel is where the entrance is the shopping cart order review page where the products are all in the basket, the shipping, and billing information has already been entered and all the visitor has to do is click the [Submit] button to place the order.  The exit of the web funnel is the “Thank You” page that immediately follows.

Shopping carts are only one type of web funnel. Another example of a web funnel would be a contact filling out a multi-page profile form for a financial investment company, or a membership form for an online social site.


The _maro_funnel variable allows you to define a web funnel and to track a contact’s journey through the funnel.

  • name (required) – You must provide a unique name for the web funnel. The name of the funnel will be what you select when using the Funnel Abandonment workflow trigger.
  • status (required) – There are three possible values for the status
    • started – use this value on the page that is the entrance to the web funnel.
    • completed – use this as the default value on the page that is the exit of the web funnel.
    • recovered – dynamically set this as the value on the page that is the exit of the web funnel when a contact has re-entered the web funnel in response to an abandoned funnel remarketing email.
  • time_out (optional) – Maropost Marketing Cloud tracks the number of minutes elapsed since a contact has entered a web funnel in the specific user session.  If the contact has not exited the web funnel within a certain number of minutes (i.e. funnel status changed from “started” to either “completed” or “recovered”, then the status of the web funnel will be automatically changed to “abandoned”.By default, a contact’s journey through a web funnel needs to be completed within 30 minutes of the last page viewed in the funnel.  You have the option to either shorten or lengthen the allowed elapsed time.
  • line_items (optional) – Dynamically set the item(s) when the page is rendered in the contact’s browser.  Passing line items here enable you to display them in personalized abandoned cart recovery emails.  Studies have shown that abandoned funnel remarketing emails that display some specific details about the abandoned funnel (i.e. items left in the shopping cart, last page of answers in a multi-page profile form) produce a higher recovery rate than those that don’t.

Campaign Conversions

You can now attribute online purchases to your contacts who have clicked through from your email campaign to the website.


If you’ve used the Product/Revenue API before, you’ll notice that data structure for the_maro_order variable is very familiar.  You’ll typically include this variable on the shopping cart “Thank You” page with the attributes dynamically provided at runtime when displaying the page in the contact’s browser.

  • order_unique (optional)
  • list_ids (optional) – The comma-separated values of List IDs allows you to subscribe the contact to the specific lists in your account. You will be using this attribute when you provide the optional email attribute as discussed above.
  • order_date (required) – Provide the date in YYYY-MM-DD HH:MM format.
  • order_status (required) – You can provide any value here. It will be available for use in segmentation.
  • original_order_id (required)
  • grand_total (required) – Used for lifetime value segmentation.
  • order_items (required) – An array of purchased items
    • item_id (required) – This can be any alphanumeric string of characters.  Typically this would be your SKU identifier or any other identifier that uniquely defines the item purchased.  It will be displayed as a selection option in segmentation.
    • price (required)
    • quantity (optional)
    • description (required) – The product description will be displayed in segmentation together with the item_id.
    • category (optional) – This option will allow you to segment your contacts by products purchased based on product category.  Since your products will be classified by product categories and sub-categories nested [n] layers deep, use the category that makes the best sense to you for segmentation.