Sync Injector


The Sync Injector is a proprietary javascript module that runs alongside your website event collection SDK. It handles identity negotiation with common AdTech and MarTech vendors by utilizing cookie-based or other identifier signals present on the page. This makes vendor-specific identifiers available within the event stream for the purposes of advertising retargeting, conversion measurement and attribution, and other use cases.

Key Benefits

  • Unlocks the ability to replace a javascript tracking tags with MetaRouter event collection and server-side integrations.
  • Improves website performance by limiting the number of identity calls that are made to respective vendors
  • Provides data storage platforms like Customer Data Platforms with non-PII-based IDs, which may be utilized to aid segment addressability in certain contexts.
  • Powers Session ID setting and Advanced Consent Enforcement.

How It Works

The core use case for the Sync Injector is to facilitate the negotiation of addressable vendor identifiers and their addition to the event stream. This is conducted via the following steps:

  1. Your website is loaded on a user’s browser, which includes an event tracking SDK and the Sync Injector.
  2. The Sync Injector detects that a vendor’s browser-based identifier signal is present on the browser.
  3. The Sync Injector facilitates a “sync” that returns an addressable identifier back to the browser.
  4. The Sync Injector “injects” the addressable IDs into the first-party cookie space that MetaRouter sets.
  5. The event tracking SDK pulls all IDs within the MetaRouter cookie space into the event stream.
  6. Events produced on the browser now include addressable IDs without the inclusion of PII. These IDs can then be mapped into downstream MetaRouter integrations.
  7. The Sync Injector will move through this process again when it detects a missing ID, or if the identifier’s Time to Live setting has expired.

How the Sync Injector Negotiates Identity

The Sync Injector may utilize any of the following sync methodologies to return a vendor-specific addressable identifier to the browser. Some vendors require multiple identifiers and methodologies to fully replicate their own tag’s functionality, while others may only require one or even none, depending on what identifier signals they rely upon.

  • Utilize signals present within third-party cookies to conduct a direct sync with a vendor’s identity database.
  • Match the MetaRouter-set anonymousId with a vendor-side identifier match table. This makes the anonymousId value addressable when sent to a vendor.
  • Scraping URL, UTM, or click parameters from the website’s URL.
  • Request or deliver hashed PII.

Additional Sync Injector Use Cases

The Sync Injector is utilized to power the following use cases:

  • Set a Session ID. The Sync Injector provides logic to set, store and send a Session ID to vendors that require it, like analytics tools. See the MetaRouter Session ID doc for more information.
  • Advanced Consent Enforcement uses the Sync Injector to store consent signals within the MetaRouter-set cookie space.
  • Return user identifiers from an external database. If you call a database, such as an ID graph or your own loyalty database, it may respond to Sync Injector calls with additional user attributes, like demographic information, interests, or other information stored.

Before You Start

Ensure that your organization has included the Sync Injector within your MetaRouter contract. Reach out to your MetaRouter Customer Success Manager if you are not sure if you have access to the Sync Injector.

Configuring the Sync Injector

Configuring the Sync Injector is an important step to your overall File Build [link] process. The Sync Injector must be configured for each MetaRouter pipeline.

  1. Login to your account.
  2. In the lefthand navigation bar, select the Pipelines tab.
  3. In the pipeline card you’d like to configure, hover over the three dots symbol and select the Build AJS File option.
  4. Within the File Builder, complete steps 1 and 2 of the file builder process.
  5. Step 3 represents your Sync Injector configurations. Follow our Integration Documentation to help you configure settings for individual Identity Syncs. These will be included with the file you save and build.
  6. (Optional) Configure your Cross-Domain Identity Sync configurations.
  7. At the bottom of the File Builder, click the Save and Build button.
  8. Download your file and host it on your CDN [link].
  9. That’s it! Your new file should contain your Sync Injector configurations.

Verify That the Sync Injector Is Working

Once the Sync Injector is configured, you should confirm that it is collecting the IDs you expect and that those IDs are being properly passed into the event stream. There are three methods to verify that the Sync Injector is configured and working properly:

  1. Check the Event Payload
    • Open your browser’s developer tools and open the Network tab. In most implementations, a Page call (p) should be made upon page load. You can also trigger Track calls (t), Identify calls (i), and Group calls (g). Select one of these events and find the context.providers object. This should contain the payload for all configured syncs. If you can’t find any identifier values, move on to the next step.
  2. Check Cookie Space/Storage
    • Open your browser’s developer tools, open the Applications tab, and select “Cookies.” The Cookies tab should contain identifiers that begin with _meta , followed by the vendor name (e.g. googleGtag and identifier purpose (e.g. cid or click_id). If there are no _meta cookies on the browser, move on to the next step.
  3. Check Vendor API calls
    • If an integration requires a special API call, these API calls should be visible in the network panel. If the Payload and Storage values mentioned above aren’t populating, then any issues may be related to a misconfiguration that can be exposed in the calls made to the vendor.


You may not be able to locate an identifier because the appropriate vendor identifier has not been set for your device yet. For example, if you clear your cookies and navigate to a website, a third-party vendor may not have been able to set an identifier on your device. This would cause the sync to fail, and the vendor identifier would not appear in your event stream.

Map Sync Injector Fields in Your Integrations

Now that you have confirmed the Sync Injector is returning your vendors’ identifiers, you can map the identifier values to the integrations that should receive them. Follow our Integration Documentation to see how identifiers should be mapped.

Which Integrations Require the Sync Injector?

MetaRouter offers ID syncs with the following vendors. When implementing an integration, the accompanying Sync Injector sync should be utilized to ensure effective user matching can occur once data is sent to a vendor. If a sync is not utilized, you may see reduced user match rates, or even integration failures if required data is not provided.

Not every integration requires the SyncInjector to function properly, and not every sync is related to a specific integration. For example, MetaRouter provides a Neustar sync despite not offering an integration with Neustar. Instead, this sync provides identifiers that are valuable to integrations with other vendors.

Additional Considerations

Can the Sync Injector be used for mobile apps?

No, the Sync Injector does not work on mobile apps, as it is intended to pull necessary browser-based identifiers. Mobile apps require a separate set of Mobile Advertising IDs, which are generally tracked by mobile-specific SDKs. The Sync Injector does work on mobile web browsers.

Session Management

Sessions are user visit measurements that are generally based on elapsed time on a website and interactions with a website. Various vendors provide their own unique means for measuring session-based metrics. The Sync Injector can provide session measurement capabilities, but session data is often difficult to replicate on a per-vendor basis, as vendors may provide differing session measurement methodologies. Additionally, session definitions are often poorly documented. Please consult your MetaRouter Customer Success Manager if you have any concerns regarding session management.