Implementation of Owlcure Analytics

Owlcure Analytics analyze customer’s behavior on websites. It recognizes which products are viewed by visitors, added to carts or purchased. If there is the unknown user, stats are saved with anonymizing COOKIE. When the analytics recognize the identity of the visitor, anonymize COOKIE is changed into COOKIE with hash connected to current visitor. Owlcure Analytics also evaluate the results of campaigns.

For setting Owlcure analytics, you need to add these lines with javascript code as close to the opening <head>

<!-- Owlcure script -->
<script>
window.owlFly = window.owlFly || function() {
(window.owlFly.query = window.owlFly.query || []).push(arguments);
};
owlFly('hum', '$CLIENT_HASH$');
var s = document.getElementsByTagName('script')[0];
var b = document.createElement('script');
b.type = "text/javascript";
b.async = true;
b.src = 'https://owlcure.eu/js/oa_v2.js';
s.parentNode.insertBefore(b, s);
</script>
<!-- End Owlcure script -->

$CLIENT_HASH$ is client identification given by Owlcure.

Visit tracking

Owlcure Analytics tracks visit of websites by themselves. It tracks which products are seen for each user. If you have proper links for products in your product feed, you don’t need to provide any more information.

Events tracking

Owlcure Analytics can track several type of events. It uses owlFly function. In the first parameter you specify type of event and in the second object with data.

owlFly(actionName, Object{})

Product Identification

For faster and more accurate product identification, you can add this script on your product page. %PRODUCT_ID% should be id from import product feed. Otherwise, product visits are matched by URL addresses.

<script>
  window.dataLayer = window.dataLayer || [];
  window.dataLayer.push({owl_pagetype: 'product', owl_product_id: '%PRODUCT_ID%'});
</script>

Order purchase tracking

For tracking orders, you need to call our order:purchase event on your thank you for order page or on click on the last button in purchase journey. Data object has required parameters order_id and price.

owlFly('order:purchase',
  {
    order_id: 256,
    price: 24.90
  });

Abandoned Carts

You have two options for tracking abandoned carts by owlcure analytics. The one you choose depends on your current cart implementation.

a) Your website already stores carts into the database

In this case, you can create cart feed from import https://www.owlcure.com/import . Then you will use the event for cart identification for letting owlcure analytics recognize carts from known users who are not logged in.

owlFly('cart:identify',
  {
    order_id: 123,
  });

b) Your website doesn’t store carts

In this case, you will use owlcure analytics for tracking during the cart process. You need to call our cart:add event on click for adding item to cart. There are also other events cart:remove, cart:changeqty and cart:clear for managing items which are already in cart. Data object has required parameters item_id and quantity.

owlFly('cart:add',
  {
    item_id: 55,
    quantity: 5
  });

owlFly('cart:remove',
  {
    item_id: 55
  });

owlFly('cart:changeqty',
  {
    item_id: 55,
    quantity: 3
  });

owlFly('cart:clear');

Cart using

For letting Owlcure system to add items into customers cart, the best way is to create a GET parameter cart, which is doing so.

http://www.myshop.com?cart=2112_2-1523_3
Should add two items with id 2112 and three items with id 1523 to cart.

Add user to newsletter

Generally, users are imported to the Owlcure system by users XML feed or owlcure popup forms. If you want to add the user to newsletter list on other parts of the website, you can fire event newsletter:add. In data object, there is required parameter email.

owlFly('newsletter:add',
  {
    email: "john.doe@gmail.com"
  });

Identify user

If you want to help to Owlcure Analytics to identify the user for tracking its behavior, you can fire event user:identify. It can be used on the login page for example. It has data object parameter email.

owlFly('user:identify',
  {
    email: "john.doe@gmail.com"
  });