Build Your Own (BYO) Syncs

Overview

Build Your Own Syncs (BYO Syncs) is a flexible and customizable solution within the MetaRouter platform that allows users to sync third-party IDs with MetaRouter using various sync methods. These methods include Fetch, matchPixel, urlParams, localStorage, and First Party cookie. BYO Syncs enable customers to connect to homegrown identity services or create identity syncs into downstream tools that MetaRouter does not currently support, providing a versatile technical solution for identity synchronization.


Prerequisites

To effectively use BYO Syncs, ensure you have:

  • Access to the MetaRouter platform and Sync Injector settings.
  • Basic understanding of the identity synchronization requirements and the systems involved.
  • Necessary credentials and access to the third-party systems and homegrown services for identity sync.
  • Are solid understand of the parameters required for each method and the downstream tooling you are trying to sync with.

Configuring BYO Syncs

With the necessary information and access, you can begin leveraging BYO Syncs to streamline your identity synchronization setup:


BYO Syncs Workflow

  1. Navigate to the Sync Injector Configuration
    • Access the MetaRouter platform and navigate to the Sync Injector configuration settings when building a new file (or editing an existing file).
  2. Select Sync Methods
    • Select the sync method that is required to collect the IDs from the downstream too. (Fetch, matchPixel, urlParams, localStorage, and First Party cookie)
  3. Define Sync Methods
    • Create and configure the selected sync method using the JSON input box. The details on each methods required parameters is detailed below.
  4. Save and Deploy New File
    • Once saved, make sure you download and deploy the new file so the Sync Injector will perform the sync activities you have outlined in the configuration steps above.

Sync Configurations

1. URL Params

Collects multiple URL parameters from the page URL and sends them to the server. Each URL parameter can be stored for a specified amount of time.

JSON Request

jsonCopy code
{
   "urlParameters": {
     "anyParamName": "string"
   }
}

UI Fields - URL Parameters

An array of URL parameters, each with the following fields:

  • Parameter: The name of the URL parameter to be collected.
  • Time to Live: The time to live of the URL parameter.

Example:

jsonCopy code
{
  "urlParameters": [
    {
      "parameter": "cid",
      "timeToLive": 10
    }
  ]
}

2. Fetch

Fetch syncs are used to fetch data from a URL and extract data from the response. The data can be extracted using JSONPath or from the response headers and then stored in the browser's local storage.

JSON Request

jsonCopy code
{
   "fetchSync": {
     "fetchName_identityName": "data"
   }
}

UI Fields - Fetch Settings

An array of fetch settings, each with the following fields:

  • name: The name of the fetch sync.
  • cookieSuccessAge: The time in milliseconds that the cookie will be stored for if the fetch is successful.
  • cookieFailureAge: The time in milliseconds that the cookie will be stored for if the fetch fails.
  • url: The URL to fetch the data from.
  • method: The HTTP method to use.
  • maxTimeout: The maximum time in milliseconds to wait for the fetch to complete.
  • jsonPathIdentities: An array of strings representing the path to the data in the JSON response.
  • headerIdentities: The name of the header to extract.

Example:

jsonCopy code
{
  "name": "myIdentityVendor",
  "fetchSettings": {
    "cookieSuccessAge": 1000,
    "cookieFailureAge": 1,
    "url": "https://api.identity.com/idsync/ex/?partner_id=abc",
    "method": "GET",
    "maxTimeout": 1000
  },
  "jsonPathIdentities": [
    {
      "jsonPath": [
        "cookies",
        "id",
        "value"
      ],
      "name": "id",
      "required": true}
  ],
  "headerIdentities": []
}

3. matchPixel

Fires multiple match pixels, each with a unique URL and a macro. The match ID macro is replaced with the ajsID. This sync is used to create a match table in a third-party system.

JSON Request

jsonCopy code
{
   "matchPixel": {
     "p1": "timestamp",
     "p2": "timestamp"
   }
}

UI Fields - Match Pixels

An array of match pixels, each with the following fields:

  • URL: The URL of the match pixel.
  • Match ID Macro: The macro that will be replaced with the ajsID.
  • Time to Live: The time to live of the match pixel.

Example:

jsonCopy code
{
  "matchPixels": [
    {
      "url": "https://example.com?matchID=__MATCH_ID__",
      "matchIDMacro": "__MATCH_ID__",
      "timeToLive": 10
    }
  ]
}

4. localStorage

This sync injector syncs local storage keys from any domain where the tag is placed. Multiple keys can be configured by passing an array of key names.

JSON Request

jsonCopy code
{
   "ls": {
     "example": "value from the local storage key 'example'"
   }
}

UI Build Settings

  • Key Names: The names of the keys that are saved in local storage.

5. First Party Cookie

This sync injector syncs first party cookies from any domain where the tag is placed. Multiple cookies can be configured by passing an array of cookie names.

JSON Request

jsonCopy code
{
   "fpc": {
     "cookieName": "value from first party cookie"
   }
}

UI Build Settings

  • Cookie Names: The names of the cookies that will be synced.

How BYO Syncs Works

BYO Syncs allows users to create custom syncs tailored to their specific needs by utilizing various sync methods. These methods enable precise control over the synchronization process, ensuring accurate and reliable data integration.

Diverse Sync Methods:

  • Fetch: Fetch data from a URL and extract information using JSONPath or response headers.
  • matchPixel: Fire match pixels to create match tables in third-party systems.
  • urlParams: Collect and store URL parameters from the page URL.
  • localStorage: Sync local storage keys from any domain.
  • First Party Cookie: Sync first party cookies from any domain.

Benefits of BYO Syncs

BYO Syncs addresses several critical issues in identity synchronization:

  • Enhanced Flexibility: Multiple sync methods accommodate diverse needs and ensure compatibility with various systems.
  • Customizable Integration: Users can create and manage custom identity syncs for both homegrown services and third-party tools.
  • Improved Data Accuracy: Precise control over synchronization ensures accurate and reliable data integration.
  • Efficiency: Tailored sync methods reduce time and effort needed for integration, streamlining the data synchronization process.