javascriptgoogle-chromegoogle-chrome-extensionsegment-io

Using Segment IO in Chrome Extension


I can't seem to get Segment to work despite following these instructions: https://segment.com/docs/platforms/chrome-extension/

When I run analytics.track, I don't see any network requests for the tracking pixels but I don't see any error either. The analytics object exists, but it doesn't seem to do anything.

It's important to note here that I'd like to run Segment from the context of the page. My extension injects new DOM elements and CSS styles into the webpage and I want to track the user's interactions with these elements. So Segment is not running in the context of the extension at all. It's injected into the page's head as a script.


Solution

  • Steven here from Segment. We recommend loading analytics.js on a background page, so as not to interfere with the analytics tools that have already been loaded onto the page. In either case, you would do the following:

    1. Create a file called snippet.js with the analytics.js snippet inside it.

    2. Inject the file onto the current page:

      chrome.tabs.executeScript(null, {file: 'snippet.js'});