Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

better-attribution

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

better-attribution - npm Package Compare versions

Comparing version 1.0.2 to 1.0.3

12

dist/index.d.ts

@@ -1,3 +0,3 @@

declare const DefaultQueryParams: string[];
interface BetterAttribution {
declare const DefaultQueryParams: readonly ["utm_source", "utm_medium", "utm_campaign", "utm_content", "utm_name", "utm_term", "fbclid", "ad_id", "gclid", "gc_id"];
interface BetterAttribution<T extends readonly string[]> {
/**

@@ -9,3 +9,3 @@ * A list of query params to store from the url

**/
queryParams?: string[];
queryParams?: T;
/**

@@ -23,7 +23,7 @@ * A prefix to add to the cookie keys. This is useful if you want to use this library multiple times.

}
declare const betterAttribution: (opts?: BetterAttribution) => {
declare const betterAttribution: <T extends readonly string[] = readonly ["utm_source", "utm_medium", "utm_campaign", "utm_content", "utm_name", "utm_term", "fbclid", "ad_id", "gclid", "gc_id"]>(opts?: BetterAttribution<T> | undefined) => {
firstTouchKey: string;
lastTouchKey: string;
getLastTouch: () => Record<string, string>;
getFirstTouch: () => Record<string, string>;
getLastTouch: () => Record<T[number], string | undefined>;
getFirstTouch: () => Record<T[number], string | undefined>;
getCurrentParams: () => Record<string, string>;

@@ -30,0 +30,0 @@ storeAttributionValues: () => void;

@@ -45,13 +45,2 @@ "use strict";

// src/prefixObject.ts
var prefixObject = (prefix, obj) => {
return Object.entries(obj).reduce(
(acc, [key, val]) => {
acc[`${prefix}${key}`] = val;
return acc;
},
{}
);
};
// src/index.ts

@@ -84,3 +73,3 @@ var DefaultQueryParams = [

const object = f ? JSON.parse(f) : {};
return prefixObject("first_", object);
return object;
};

@@ -90,3 +79,3 @@ const getLastTouch = () => {

const object = l ? JSON.parse(l) : {};
return prefixObject("last_", object);
return object;
};

@@ -93,0 +82,0 @@ const getCurrentParams = () => {

{
"name": "better-attribution",
"version": "1.0.2",
"version": "1.0.3",
"description": "Allows you to easily tracks & store first/last touch attribution in cookies to enable multi-touch attribution. Tracks UTMs, Facebook, Google Ads, and more automatically.",

@@ -32,2 +32,3 @@ "publishConfig": {

"build": "yarn run build-fast -- --dts-resolve",
"test": "vitest",
"lint": "prettier --write .",

@@ -40,2 +41,3 @@ "prepublishOnly": "yarn run build",

"@types/js-cookie": "^3.0.3",
"jsdom": "^22.1.0",
"prettier": "3.0.3",

@@ -49,2 +51,2 @@ "tsup": "7.2.0",

}
}
}

@@ -21,3 +21,3 @@ # better-attribution

const firstParams = attr.getFirstTouch();
console.log(lastParams); // {utm_term: 'first-visit-term', referrer: 'google.com'}
console.log(firstParams); // {utm_term: 'first-visit-term', referrer: 'google.com'}
```

@@ -53,3 +53,3 @@

// allows tracking of additional (or fewer) query params
queryParams: [...DefaultQueryParams, "custom_known_query_param"],
queryParams: [...DefaultQueryParams, "custom_known_query_param"] as const,
// allows prefixing the cookie w a custom string

@@ -60,2 +60,3 @@ cookiePrefix: "custom_prefix",

});
attr.getFirstTouch().custom_known_query_param // undefined | string
```

@@ -62,0 +63,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc