Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
@barnebys/analytics-node
Advanced tools
[![Latest Stable Version](https://poser.pugx.org/barnebys/analytics-node/v/stable)](https://packagist.org/packages/barnebys/analytics-node) [![Build Status](https://travis-ci.org/barnebys/analytics-node.svg?branch=master)](https://travis-ci.org/barnebys/a
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 = <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()
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 </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>
// 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
FAQs
[![Latest Stable Version](https://poser.pugx.org/barnebys/analytics-node/v/stable)](https://packagist.org/packages/barnebys/analytics-node) [![Build Status](https://travis-ci.org/barnebys/analytics-node.svg?branch=master)](https://travis-ci.org/barnebys/a
We found that @barnebys/analytics-node demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.