Manage First-Party Proxies

You must have the Administrator or Experience Manager role in the Monetate platform to access the First-Party Proxy tab.

As ad-blocking browser extensions, such as Adblock Plus and Ghostery, and browsers' native ad-blocking functions continue to improve, Monetate has become an accidental victim in the efforts to block cross-site cookies and suppress malicious advertising. These extensions and browser settings limit the use of third-party cookies and block network requests made to specific domains. Although Monetate isn't serving up advertising or cross-site analytics tracking technology, it's blocked by several ad blockers.

To ensure that Monetate's services work even when a visitor to your site uses ad-blocking software, you can set up first-party proxies. You configure a mapping within your content delivery network (CDN) between a dedicated path on your site and a Monetate service so that all network requests to Monetate are made to first-party URLs on your domain so that ad-blocking tools cannot block Monetate's services.

You cannot use CNAME records or another method instead of first-party proxies with your CDN. Monetate determined that the use of CNAME records is not a viable option because this method doesn't permit restriction by a full path, which is how Monetate handles client accounts. Furthermore, using CNAME records would require Monetate to host clients' SSL certificates, which it is not prepared to do.

For Tag Integrations

If you use the Monetate tag on your site to run Monetate services and want to use the first-party proxies function in the platform, then you must set up and map a subpath for each of three Monetate origin servers:

PurposeURL
Decision and reporting
  • US-based clients: https://d.monetate.net/tenant/{retailer.shortname}
  • Clients outside the US: https://f.monetate.net/tenant/{retailer.shortname}
Cacheable contenthttps://sb.monetate.net/tenant/{retailer.shortname}
Scriptshttps://se.monetate.net/tenant/{retailer.shortname}

Consider this example. Fifth Level Fashion is a UK-based client that uses the Monetate tag. Its IT administrator sets up /personalization/f as the subpath for first-party proxy decision and reporting requests. Therefore, the administrator maps fifthlevelfashion.com/personalization/f/* to f.monetate.net/tenant/fifthlevelfashion/* in its CDN.

The subpath set up for first-party proxy cacheable content is /personalization/sb, so the administrator maps fifthlevelfashion.com/personalization/sb/* to sb.monetate.net/tenant/fifthlevelfashion/* in the retailer's CDN.

For first-party proxy script requests, the IT administrator sets up /personalization/se as the subpath. In its CDN they map fifthlevelfashion.com/personalization/se/* to se.monetate.net/tenant/fifthlevelfashion/*.

In addition to configuring your CDN to map paths to Monetate's origin servers, you must also take the following actions:

  • Remove the cookie header from the requests forwarded to those servers in your CDN
  • Pass the True-Client-IP header for geolocation for the decision and reporting server
  • Pass the User-Agent header for device detection for the decision and reporting server
  • Pass query string arguments for the decision and reporting server
  • Respect a response-caching header and a cache key by full URL for the cacheable content server and scripts server (Monetate's decision and reporting server never caches)

Registering the First-Party Proxies

Follow these steps to register the first-party proxies you've created in your CDN.

  1. Click the settings icon in the top navigation of the platform and then select Integration.

    Callout of the settings icon and the Integration option

  2. Click the First-Party Proxy tab.

    Callout of the 'First-Party Proxy' tab on the Integration page

  3. Input into Decision and Reporting Proxy the URL for decision and reporting.

    Callout of the 'Decision and Reporting Proxy' field on the 'First-Party Proxy' tab

  4. Input into Cacheable Content Proxy the URL for cacheable content.

    Callout of the 'Cacheable Content Proxy' field on the 'First-Party Proxy' tab

  5. Input into Script Proxy the URL for scripts.

    Callout of the 'Script Proxy' field on the 'First-Party Proxy' tab

  6. If necessary, correct any URLs that failed validation. See Validation Errors in this documentation for more information.

    The 'First-Party Proxy' tab with the message 'Invalid - Check your hostname/path!' indicating the URL input into the 'Script Proxy' field hasn't been enabled on the client's system.

  7. Click SAVE.

    Callout of the SAVE button on the 'First-Party Proxy' tab

After you save the validated first-party proxy URLs, you must then update the Monetate tag installed on your site.

Validation Errors

There are two validation error messages that can appear on the First-Party Proxy tab:

  • Invalid — Check your hostname/path.
  • Please ensure the origin is configured correctly in your CDN.

The first error message appears when a client hasn't enabled the proxy on its system.

The second error message appears when some part of the mapping is configured incorrectly in the CDN. Often, the validation fails because the client forgot to include its account short name in the origin URL. While the proxy is successfully exposed, the origin isn't configured correctly.

Updating the Monetate Tag

The Monetate tag code on the Tag tab of the Integration page automatically updates to include the first-party proxy URLs. Copy and paste this updated code into the first line of the <head> element on every page of your site.

You should implement the updated Monetate tag in your development environment first and then test it to ensure it works correctly before deploying it to your production environment. See Testing the Mappings for more information.

Refer to The Monetate Tag for more information.

For Engine API Integrations

If you use the Engine API, you don't have to set up proxies for server-side requests because those requests don't travel through a browser. However, you should use proxies for in-browser requests, which include decision requests as well as record requests for managed impressions, page events, endcap impressions, or endcap clicks.

The endpoint URL for a first-party proxy is structured as follows:

{first-party-path}/api/engine/v1/decide/{retailer-shortname}

Contact your dedicated Customer Success Manager (CSM) to request a URL mapping.

For example, calls to engine-global.monetate.net/api/engine/v1/decide/fifthlevelfashion are replaced with fifthlevelfashion.com/personalization/api/engine/v1/decide/fifthlevelfashion.

Ensure that you update all in-browser requests to work with the proxy URL.

For Hybrid Integrations

If you have a hybrid integration of Monetate, then you must complete the fields on the First-Party Proxy tab of the Integration page and obtain a URL mapping from your dedicated CSM to update in-browser requests.

Testing the Mappings

To confirm that the first-party proxy mappings are working correctly, ensure that you test your site and Monetate on browsers when native privacy settings and add-on ad-blocking software are first disabled and then enabled.

  • Ensure that Monetate continues to work as expected. Confirm that the various Builders (Action Builder, Event Builder, Target Builder) and preview functions within the platform as well as the Monetate Inspector tool operate.
  • Review the network requests to ensure that all requests are made to the approved URL.
  • Ensure that all cookies that Monetate sets are set as first-party cookies.