@barnebys/analytics-node

0.4.0 • Public • Published

Latest Stable Version Build Status

Barnebys Analytics

This is an helper for Node to build tracking URL for Barnebys Analytics with ease.

Install

yarn install @barnebys/analytics-node

Track clicks

// Create the URL Builder with your tracking domain & secret
const { UrlBuilder } = require("@barnebys/analytics-node");
const urlBuilder = new UrlBuilder("analytics.mydomain.sh", "secret");

urlBuilder.programId = "123";
urlBuilder.kind = "click";
urlBuilder.url = "http://www.barnebys.com/";
urlBuilder.dimension1 = "a";
urlBuilder.dimension2 = "b";
urlBuilder.dimension3 = "c";

urlBuilder.isSponsored = <boolean>;
urlBuilder.dealType = <string>;
urlBuilder.source = <string>; // e.g. "searchalert", "widget", "facebook", "google"
urlBuilder.medium = <string>; // e.g. "paid_social", "email" To be discussed, just a suggestion and not used yet

// Get the signed tracking URL
const url = urlBuilder.createURL()

Track leads

const { UrlBuilder } = require("@barnebys/analytics-node");
const urlBuilder = new UrlBuilder("analytics.mydomain.sh", "secret");
...
urlBuilder.affiliate = true;
...

Impressions

Generate the URL from PHP and use a lazy loader that loads the tracking pixel when visible in the browser window. If you do not have a compatible lazy loader we recommend using this lazy loader which is written in vanilla js.

For most compatibility - place the script below before your </body> tag.

<script type="text/javascript">
    (function(w, d){
        var b = d.getElementsByTagName('body')[0];
        var s = d.createElement("script"); s.async = true;
        var v = !("IntersectionObserver" in w) ? "8.5.2" : "10.3.5";
        s.src = "https://cdnjs.cloudflare.com/ajax/libs/vanilla-lazyload/" + v + "/lazyload.min.js";
        w.lazyLoadOptions = {
            threshold: 0
        };
        b.appendChild(s);
    }(window, document));
</script>

Generating impression URL

// Create the URL Builder with your tracking domain & secret
const { UrlBuilder } = require("analytics-node");
const urlBuilder = new UrlBuilder("analytics.mydomain.sh", "secret");

// Create the impression passing on UrlBuilder, program id and optional dimensions 1-3
const impression = new Impression(
    urlBuilder,
    "123",
    "a",
    "b",
    "c",
    "d",
    "e"
);


// Get the URL for the tracking pixel
const url = impression.url

// Or output image tag for lazy load
const tag = impression.image

Readme

Keywords

none

Package Sidebar

Install

npm i @barnebys/analytics-node

Weekly Downloads

3

Version

0.4.0

License

MIT

Unpacked Size

7.11 kB

Total Files

7

Last publish

Collaborators

  • nikhilunnivp
  • matteocinti
  • aronj
  • sony.sebastian
  • johaneriksson
  • willeeklund
  • barnebys-tech
  • mackeemackee