Validation & Troubleshooting

Testing and Validation

Pre-Launch Validation Checklist

Technical Integration

  • API :POST /ads/v3/brand-pages returns 200 with contentData.
  • Rendering : Content modules render correctly on your site in the correct order.
  • Theme: theme fields are applied correctly; null values fall back to retailer style guide defaults.
  • Optional fields: Renderer and tracking logic must tolerate omitted, null, or empty optional module fields, as well as omitted tracking nodes, without errors (validate using multiple live templates, not just a single demo brand page).
  • Styling : Brand page matches your site's design system.
  • Mobile : Brand page displays correctly on mobile devices.
  • Cache-busting : {TS} value changes on every request.

Tracking Validation

  • Impression pixel (C2S) : Every entry in trackingTemplates.client.impressionPixelUrls fires and returns 200 image/gif
  • Impression notification (S2S) : Composed server impression URL; GET or POST direct to Epsilon tracking host returns 204 No Content.
  • Click tracking (C2S) : Either the composed client.clickRedirect URL returns 302 to the correct destination, or the composed client.clickEvent returns 204 No Content (whichever option your flow uses - not both)
  • Click notification (S2S) : GET or POST direct to the composed server URL returns 204 No Content
  • Add-to-cart (C2S) : Composed client.addToCartEvent fired as event beacon returns 204 No Content
  • Add-to-cart (S2S) : Composed server.addToCartEvent called direct to tracking host returns 204 No Content

Infrastructure & Privacy

  • Reverse proxy : C2S tracking requests forwarded through your domain; S2S is not sent through the proxy
  • Headers : RP-Host, X-Forwarded-For, X-Forwarded-Request-Path, Referer are present on proxied requests
  • Privacy : No PII present in any parameter or URL
  • HTTPS : All requests use secure connections
  • Product pages : Pages render correctly after click redirect

Recommended Tools

  • Browser developer tools: Network tab to inspect pixel loads and redirects.
  • Fiddler or Charles Proxy: Inspect reverse proxy behavior and header forwarding.

Troubleshooting

IssueCheck
Pixels fail to loadVerify DNS/SSL, confirm proxy path rewrite, check reachability to the Epsilon tracking host.
Redirects don't forwardEnsure {RURL} is URL-encoded, verify proxy preserves query string.
API returns no contentVerify catalogId and urlSlug match an active brand page campaign.
Tracking blocked by ad blockerConfirm reverse proxy is configured - tracking should route through your domain.
Add-to-cart not trackedEnsure you fire the composed client or server add-to-cart URL after the cart action.
Page throws when loading some brand pagesLikely treating doc/example fields as always required. Log raw module JSON, add guards for optional keys and missing tracking, and confirm the template allows or disables those fields.
Theme colors not applying correctlyCheck that null theme fields fall back to your style guide defaults, rather than being rendered as literal null values or empty strings.

Glossary

Essential Terms for Brand Pages Integration

TermDefinitionExample
API KeyYour authentication credential for Epsilon servicesBasic abc123xyz...
Brand PageA branded landing page experience on your siteyoursite.com/brands/nike
C2S TrackingClient-to-Server: Browser-based tracking. Impressions use 1x1 pixels; clicks use a 302 redirect or an event beacon; add-to-cart uses an event beacon.<img src="impression-pixel">, navigator.sendBeacon(clickEvent)
S2S TrackingServer-to-Server: Backend tracking (GET or POST to the composed tracking URLs)Your server → Epsilon server
Content ModuleIndividual content blocks (hero, text, products, etc.)Hero banner, product grid
Module TagsOptional string labels on a module (e.g., ["header"]) set in the template. Used by retailers for layout routing, analytics, or mapping to their own components. Omitted from the response when empty."tags": ["header"]
ThemeAlways present on success in the API response: nested colors (background + seven text roles) and buttons (primary / secondary with background and text). All theme color fields are required (hex6). See Theme Object."theme": {"colors": { ... }, "buttons": { ... }}
ImpressionWhen a brand page is viewed by a userPage load = 1 impression
ClickWhen a user clicks on brand page contentCTA button click
ConversionWhen a user adds a product to cart from brand pageAdd to cart action
Reverse ProxyRoutes tracking through your domain to avoid ad blockersyoursite.com/epsilon/ → Epsilon
URL SlugThe brand identifier in the URL pathnike in /brands/nike
Catalog IDYour unique product catalog identifierProvided by Epsilon
MacroResponse placeholders ({TS}, {RURL}) in tracking.params that you replace at runtime;{TS} → 1737485823910
IAB TCFInteractive Advertising Bureau Transparency & Consent FrameworkGDPR compliance standard
PIIPersonally Identifiable Information (never send this!)Email, phone, real name
Cache-bustingAdding timestamps to prevent cached responses?ts=1737485823910

Technical Acronyms

AcronymFull TermWhat It Means
RMNRetail Media NetworkEpsilon's advertising platform
CTACall-to-ActionClickable buttons/links
JSONJavaScript Object NotationData format for API requests/responses
HTTPSHTTP SecureEncrypted web protocol
GDPRGeneral Data Protection RegulationEU privacy law
TLSTransport Layer SecurityEncryption protocol
DNSDomain Name SystemInternet address system
SSLSecure Sockets LayerEncryption protocol
RFCRequest for CommentsTechnical standards documents