This is an helper for Node to build tracking URL for [Barnebys Analytics](https://github.com/barnebys/analytics) with ease.
npm install @barnebys/analytics-node

This is an helper for Node to build tracking URL for Barnebys Analytics with ease.
yarn install @barnebys/analytics-node
``
// 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 =
urlBuilder.dealType =
urlBuilder.source =
urlBuilder.medium =
urlBuilder.fpVerified =
// Get the signed tracking URL
const url = urlBuilder.createURL()
`
``
const { UrlBuilder } = require("@barnebys/analytics-node");
const urlBuilder = new UrlBuilder("analytics.mydomain.sh", "secret");
...
urlBuilder.affiliate = true;
...
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
tag.``
`
// 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
``