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.
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:
Purpose | URL |
---|---|
Decision and reporting |
|
Cacheable content | https://sb.monetate.net/tenant/{retailer.shortname} |
Scripts | https://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.
- Click the settings icon in the top navigation of the platform and then select Integration.
- Click the First-Party Proxy tab.
- Input into Decision and Reporting Proxy the URL for decision and reporting.
- Input into Cacheable Content Proxy the URL for cacheable content.
- Input into Script Proxy the URL for scripts.
- If necessary, correct any URLs that failed validation. See Validation Errors in this documentation for more information.
- Click SAVE.
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.
Refer to Installing the Tag in the Monetate Developer Hub 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}
For example, calls to engine-global.monetate.net/api/engine/v1/decide/fifthlevelfashion
are replaced with fifthlevelfashion.com/personalization/api/engine/v1/decide/fifthlevelfashion
.
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.