The Mapp Intelligence plugin provides basic tracking for WordPress and advanced e-commerce tracking for WooCommerce.
The plugin provides the following features:
- loading the tiLoader, which is needed to start tracking page and action requests.
- providing a data layer in a window._ti object
- in WooCommerce, the plugin also fires trackrequests when adding an item to the cart.
If you want to use Google Tag Manager instead of Tag Integration, you can find all infos here: Google Tag Manager in conjunction with Wordpress / Woocommerce
Learn how to install the Mapp Intelligence plugin in your Wordpress instance.
Installation via the WordPress UI
Log in to Wordpress as admin and go to your dashboard. Then click "Plugins" and "Add New" and search for "Mapp Intelligence". Once found, click the "Install Now" button.
Manually Uploading the WordPress Plugin
Download the plugin from the WordPress plugin website and unzip its content in your WordPress plugin directory, e.g. wp-content/plugins.
Then, log in to WordPress as an admin, go to Plugins in the main menu and click "activate" under the Mapp Intelligence entry in Installed Plugins.
After activating the Mapp Intelligence plugin in WordPress, you find the entry "Mapp Intelligence" under "Plugins" in the main menu of your dashboard.
|Mapp Intelligence Pixel Version||Chose between V5 pixel (Tag Integration) and Smartpixel. Right now only V5 is available.|
|Tag Integration ID||The Tag Integration ID is provided by Mapp.|
|Tag Integration Domain||For better data quality, you can book a custom responder domain. If you use the default responder, keep "responder.wt-safetag.com".|
|Exclude users||Activate this checkbox if you do not want to track users who are logged in to the admin panel of your WordPress installation (e.g. to edit blog posts or product information). Traffic in the WordPress admin panel is never tracked. However, when previewing a page from there, tracking is activated by default.|
The Mapp Intelligence Plugin creates an object called "_ti" in global context. In Tag Integration, you can map the keys in the parameter section.
For example, _ti.pageName stores the URL of the current page. To map this key as the name of the page, create a parameter like so:
Then, in your Mapp Intelligence plugin, map it under "Page → Page name" like so:
Now all trackrequests will receive the name of the page from the _ti datalayer object.
The plugin automatically creates the following keys in the datalayer object.
General Wordpress data
|pageName||URL without the http(s) protocol URL parameters|
|pageTitle||Title of the page.|
|contentCategory||Values can be: page, post, product etc.|
|contentSubcategory||Values can be: single-page, single-post, category-post etc.|
|orderBy||On archive pages only. "default" if no particular order is set.|
|pageNumber||On archive pages only.|
|internalSearch||On search result pages only: search term.|
|numberSearchResults||On search result pages only: amount of search result as a string.|
|taxonomies||Object with taxonomies. By default, Wordpress comes with two taxonomies: category and tags. Categories are sorted from lowest to highest level, so if you'd want to map the lowest category level, you'd use "_ti.taxonomies.category". If you'd want to map the second tag, you would use "_ti.taxonomies.post_tag". Plugins and Themes might add additional taxonomies that will show up here if there are values available for the current post / page.|
|customerId||In case the user is logged in, here is the md5 hash of the email address.|
|userRoles||Array of user roles names.|
|customFields||This key is blacklisted by default. Here you can find data from your plugins and themes, and some of them might contain personnel data. That's why this key should only be whitelisted if you really need certain data from your plugins / themes in your datalayer.|
Woocommerce product tracking
|productName||Human-readable title of the product.|
|productCost||Cost of the product.|
|productId||Woocommerce ID of the product.|
|currency||Currency code (ISO 4217).|
|productQuantity||Amount of products - only during order.|
|shoppingCartStatus||"view" on single product page, and right before adding a product to basket from product lists. "add" when adding to basket, and "conf" after order.|
|productSoldOut||'1' in case product is sold out.|
|productCategory||Highest level of product categories.|
|productSubCategory||2nd level of product categories.|
|productCategories||Array with all product category levels - in case you have more than two levels, you can use this. For example, if you want to map a level 3 category, you can do this with "_ti['productCategories']". The Index is always one value lower than the level of the category.|
|Only for product variations: object with product variation data.|
|products||Array with all products from product lists. Each object hast the keys like a normal product (productName, productCost etc.).|
|pageRequestType||Populated with value 'virtual' when adding a product to basket via AJAX (product lists, related products...). The first one is a product view, the second one the add-to-basket. This way you never have products added to basket without being viewed. Use this parameter to filter out views that have no 'real' view and just exist for the sake of data consistency.|
Woocommerce order tracking
|orderId||Woocommerce Order ID.|
|totalOrderValue||Order value, incl. tax and shipping.|
|subtotalOrderValue||Order value without tax and shipping.|
|taxValue||Tax of order.|
|couponValue||Value of a coupon, if available.|
|shippingMethod||Name of the shipping provider.|
|shippingCost||Shipping cost for the order.|
|paymentMethod||Name of the payment provider.|