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

@oddcamp/pdx-dol

Package Overview
Dependencies
Maintainers
6
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@oddcamp/pdx-dol

## Local development

  • 0.0.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
6
Weekly downloads
 
Created
Source

Local development

  1. yarn install
  2. yarn develop
  3. http://localhost:3000/example.html

Testing the build

  1. yarn serve
  2. http://localhost:5000/example.html

Usage in production

Install yarn install @oddcamp/pdx-dol and

  import PdxDol from "@oddcamp/pdx-dol"

  const pdxdol = new PdxDol()
  pdxdol.start()

By default it tracks these parameters:

  utm_source
  utm_medium
  utm_campaign
  utm_term
  utm_content

Options

PdxDol function accepts an object of the following global options (some of them have the default values set):

  excludeSelector: `.js--pdxdol-exclude`
  includeSelector: ``
  params: {}

How it works

PdxDol intercepts link clicks and adds the configured parameters to URL of an outbound link.

You can set the global parameters that are appended to all outbound links, e.g.:

  PdxDol({
    params: {
      utmSource: `source`,
      utmMedium: `medium`,
      utmCampaign: `campaign`,
      utmTerm: `term`,
      utmContent: `content`,
    },
  })

However, the parameters set via PdxDol may be overriden by window.location parameters that are stored in sessionStorage and used throughout the session.

You can alter a global parameter for a specific link by using data-* attribute(s) e.g.:

  <a href="https://www.google.com" data-utm-medium="another-medium">Link</a>

The user is then redirected to:

  https://www.google.com?utm_source=source&utm_medium=another-medium

You can exclude an outbound link or multiple links from being intercepted by using excludeSelector attribute. Let's use the default one, e.g.:

  <a href="https://www.google.com" class="js--pdxdol-exclude">Excluded</a>

  <p class="js--pdxdol-exclude">
    <a href="https://www.google.com">Excluded</a>
    <a href="https://www.google.com">Excluded</a>
  </p>

Or you can change the utility behaviour from include-all to exclude all by by using includeSelector that only tracks the matching link clicks. If both are set includeSelector supersedes excludeSelector.

As mentioned above, the utility tracks UTM parameters by default. But you can also append a custom trackable parameters, e.g.:

  PdxDol({
    params: {
      customParam1: ``,
      customParam2: `has-a-value`,
    },
  })

Methods

  start()
  pause()
  resume()
  isPaused()

Browser support

The utility depends on URL Web API. If you need this to be supported on IE then url-polyfill will help you out in most of the cases.

FAQs

Package last updated on 11 May 2021

Did you know?

Socket

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.

Install

Related posts

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