For the complete documentation index, see llms.txt. This page is also available as Markdown.

Banner X previewer

Epsilon Retail Media's documentation is now centralized with our knowledgebase!

For up to date guides, please view this page in the new Integration APIs space of our documentation.

This document outlines the process for retailers to integrate a banner X previewer into their workflow. This allows for complete control over the preview rendering, ensuring it matches the live website experience.

This is an integration requirement

This previewer integration ensures your Banner X creative is rendered correctly when creating and reviewing campaigns, it creates confidence both by advertisers as well as retailers when managing campaigns.

Benefits of a previewer

A previewer offers several advantages:

  • Advertisers can preview their banner’s appearance before launching and managing their campaign to ensure it meets expectations and standards..

  • Retailers can review and approve banners before they appear live on their website, ensuring consistency and quality control.

  • Any changes to your live site (that do not impact creative dimensions) can be made with no dependency on Epsilon Retail Media.

How it works

To give advertisers a real-time preview of how banners will appear on your site, we connect directly to your hosted previewer. This ensures banners render exactly as they would on your site. As you update your site, the previewer updates automatically, eliminating reliance on Epsilon and keeping banner rendering fully aligned with your latest changes.

Retailer-hosted integration

You can integrate your banner previewer into our platform by hosting it on your site. This ensures that the previewer is embedded in the platform window using an iframe.

  • Host requirements: You must host the previewer on a URL or link that you own and manage. This approach provides full flexibility to update and manage it as your site and design evolve, eliminating any dependency on our platform for changes.

  • Hosting recommendation: We recommend hosting the previewer at a hidden URL, such as retailer.com/banner-previewer. However, you have the discretion to choose an appropriate location.

    • This location may be an externalised hosted location that is not under your main domain if necessary, such as an externally accessible storage bucket or hosted solution (that is still under your maintenance).

  • Live site updates: You can update how images and text are rendered on your live site. Any changes you make to banners on the live site should automatically reflect in the platform via your external previewer.

Screen Shot 2021-02-05 at 3.47.48 pm (1).png
External previewer image

How to integrate the preview specification

To display content from our platform on your external previewer, host an isolated banner previewer on a separate page you own and manage. We suggest using a URL like https://www.<retailer.com>/banner-preview/bannerx.

OpenAPI specification

Below is the OpenAPI 3.0.3 specification for implementing the BannerX preview:

When a user loads the previewer in the platform, a GET request is made with a set of defined parameters that are rendered on your previewer. This is then iframed within the platform.

The request will look similar to the example below:

Additional fields

The content standard supports additionalFields as a set of key value pairs. This is encoded in a custom way in the query string for the previewer. Supported field types are:

  • label: string value

  • color: A hex color value (e.g. #0a0a0a)

  • select: an enumerate list of strings

The fields are encoded using the following format: <key1>~<value1>_<key2>~<value2> Where:

  • ~: key and value separator

  • _: key/value pair separator

Reserved characters

The following characters are treated as reserved, and if they appear within either the key or value they will be encoded using the value: !<hex-code>

Character
Encoded Value

-

!2D

.

!2E

_

!5F

~

!7E

The remainder special characters will be URL encoded. For example, if we have the following field structure:

Key
Value

field-one

Has special chars: ".~_-"

field_two

# ffffff

This would be encoded in the additionalFields query parameter as: additionalFields=field!2Done~Has%20special%20chars%20%3A%20%22!2E!7E!5F!2D%22_field!5Ftwo~%23ffffff