@barnebys/analytics-node

0.3.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>;

// 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

/@barnebys/analytics-node/

    Package Sidebar

    Install

    npm i @barnebys/analytics-node

    Weekly Downloads

    98

    Version

    0.3.0

    License

    MIT

    Unpacked Size

    6.76 kB

    Total Files

    7

    Last publish

    Collaborators

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