> For the complete documentation index, see [llms.txt](https://help.citrusad.com/retail-media-interface/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.citrusad.com/retail-media-interface/integration/cs/brand-pages/brand-page-retailer-integration-guide/tracking-attribution.md).

# Sledování a atribuování

## Jak sestavit sledovací URL

Odpověď poskytuje tři zdroje ke kombinaci:

* Na úrovni stránky `trackers.impression`: například zobrazení stránky používá `type: "impression"` a `params` včetně `ts` a `iabConsentString`.
* Sdílené `trackingTemplates`: jedna sada šablon URL `client`(relativních) a `server` (absolutních), které již obsahují parametry dotazu relace a umístění.
* Na uzel `trackers.click` a/nebo `trackers.addToCart` na modulu, řádku nebo položce galerie: `type`+ `params` pro tuto konkrétní událost (například `modId`, `rurl`, `productCode`).

### Kterou šablonu?

Použijte uzlové `tracking.type` k vyhledání `trackingTypes.<type>`. To definuje platné `client.*` a `server.*` klíče pro tuto interakci (například pro link: `client.clickRedirect`, `client.clickEvent`, `server.clickEvent)`.

### Klient vs. Server

* Klient (`trackingTemplates.client.*`): Hodnoty jsou relativní cesty (včetně řetězců dotazu). Předsaďte svou základní URL reverzního proxy (`BASEURL`).
* Server (`trackingTemplates.server.`): Hodnoty jsou absolutní šablony URL na Epsilon hostiteli sledování. Sestavte výslednou URL stejným způsobem jako C2S: šablona + `"&"` + `queryString(trackers.<slot>params)`.

{% hint style="info" %}
Neměňte hostitele ani cestu šablony a neposílejte volání S2S přes váš reverzní proxy.
{% endhint %}

### Zpracované příklady (pseudokód)

#### C2S kliknutí pro HERO CTA

```
url = BASEURL + trackingTemplates.client.clickRedirect + "&" + queryString(trackers.click.params)
```

#### S2S zobrazení stránky

```
url = trackingTemplates.server.impressionEvent + "&" + queryString(trackers.impression.params)
```

#### S2S přidání do košíku pro řádek produktu

```
url = trackingTemplates.server.addToCartEvent + "&" + queryString(trackers.addToCart.params)
```

Substituce maker

* Před spuštěním nahraďte {TS} aktuálním časovým razítkem v milisekundách, {RURL} cílem kódovaným v URL a `{TCF}` aktuálním řetězcem TCF v2 z vašeho CMP.
* Pro přidání do košíku také nahraďte {QTY} absolutním množstvím daného SKU v košíku v době spuštění (nikoli změnou) a {CONVERSION\_VALUE} absolutní peněžní hodnotou těchto položek (množství × jednotková cena po odečtení použitých slev).

{% hint style="info" %}

* Pouze `trackingTemplates.client.impressionPixelUrls` jsou skutečné pixely (GIF 1×1).
  * `clickRedirect` je koncový bod přesměrování 302.
  * `clickEvent` a `addToCartEvent` jsou majáky událostí, které vracejí 204 No Content.
    {% endhint %}

{% hint style="danger" %}
Nespouštějte C2S i S2S pro stejnou logickou událost (například neposílejte událost kliknutí C2S i oznámení o kliknutí S2S pro stejné kliknutí).
{% endhint %}

## Sledování – Klient-Server (C2S)

Sledování C2S je implementováno v prohlížeči pomocí sestavených URL. Předsaďte `BASEURL` k cestám v `trackingTemplates.client` a připojte příslušné `trackers.<slot>params` (viz [Jak sestavit sledovací URL](#how-to-compose-a-tracking-url)).

Pouze `client.impressionPixelUrls` jsou pixely (GIF 1×1). Ostatní klientské šablony nejsou pixely:

* `client.clickRedirect`: koncový bod přesměrování 302. Epsilon zaznamená kliknutí a přesměruje prohlížeč na dekódované rurl. Použijte to jako cíl navigace prohlížeče.
* `client.clickEvent`: **Maják události** (vrací 204 No Content). Spusťte pomocí `navigator.sendBeacon` or `fetch({ keepalive: true })`. Nykreslujte jako `<img>`.
* `client.addToCartEvent`: **Maják události** (vrací 204). Používá stejný vzor spouštění jako `clickEvent`.

### Kroky implementace

1. Vykreslete obsah stránky značky vrácený rozhraním API.
2. Po vykreslení spusťte v prohlížeči pixely zobrazení (všechny položky v `trackingTemplates.client.impressionPixelUrls`, jako obrázky 1×1).
3. Když uživatel klikne na sledovatelný uzel, buď:\
   (a) přesměrujte přes sestavenou `client.clickRedirect` URL, nebo\
   (b) spusťte sestavenou `client.clickEvent` URL jako maják události a přejděte na cíl sami.\
   Pro jedno kliknutí použijte buď jednu, nebo druhou možnost, ne obě.

### Impression Pixel

Po vykreslení stránky značky spusťte každou cestu v `trackingTemplates.client.impressionPixelUrls` jako obrázek 1×1, (viz[ Jak sestavit sledovací URL](#how-to-compose-a-tracking-url)).

```html
<img src="https://www.retailer.com/epsilon/tracking/v3/impression/pixel/brandpage_djog...?...&ts=1737485823910"
     width="1" height="1" style="display:none" />
```

Kroky:

1. Pro každý řetězec v `trackingTemplates.client.impressionPixelUrls`, předřaďte váš `BASEURL` (například `https://www.retailer.com/epsilon`).
2. Přiřaďte `&` + `queryString(trackers.impression.params)`, přičemž nahraďte `{TS}` aktuální časovou značkou v milisekundách a `{TCF}` aktuálním řetězcem souhlasu z vašeho CMP.
3. Spusťte jako 1×1 `< img src="...">` v prohlížeči (nebo ekvivalentu).

### Sledování kliknutí

#### Možnost A: Přesměrování kliknutí (`client.clickRedirect`)

Navigujte uživatele přes sestavenou URL. Epsilon zaznamená kliknutí a odpoví pomocí **HTTP 302** na dekódované `rurl`. Tento koncový bod je **pouze pro GET** a `rurl` je vyžadováno;

#### Možnost B: Signalizační beacon události kliknutí (`client.clickEvent`)

Spusťte jako beacon a navigujte sami. Přijímá GET nebo POST, vrací 204 No Content. Nejedná se o obrázek; nevykreslujte jako`<img>`.

### Přidání do košíku (C2S)

Spusťte `trackingTemplates.client.addToCartEvent` jako beacon události (ne pixel), když uživatel přidá produkt do košíku. Přijímá GET nebo POST, vrací 204 No Content.

{% hint style="info" %}
Nekombinujte C2S a S2S přidání do košíku pro stejnou akci košíku.
{% endhint %}

## Sledování – Server‑to‑Server (S2S)

S2S sledování je implementováno na vašem backendu. URL sestavujte stejným způsobem jako C2S: začněte od příslušného `trackingTemplates.server` řetězce, poté připojte `trackers.<slot>params`. Šablony serveru jsou již absolutní — neexistuje žádné `BASEURL`k předřazení. (viz [Jak sestavit sledovací URL](#how-to-compose-a-tracking-url)).

{% hint style="info" %}
Neměňte hostitele ani cestu ze šablony serveru a neposílejte požadavky S2S přes vaši reverzní proxy.
{% endhint %}

### Kdy použít S2S sledování

* Vaše architektura vyžaduje spouštění událostí na straně serveru.
* Potřebujete sledování v prostředích, kde jsou pixely na straně klienta nespolehlivé.
* Chcete kombinovat strategie - např. C2S zobrazení + S2S přidání do košíku. Toto je podporováno, ale nikdy nespouštějte C2S i S2S pro stejnou událost.

### S2S Oznámení o zobrazení

Po vykreslení stránky značky váš server odešle **GET** nebo **POST** na sestavenou URL zobrazení: `trackingTemplates.server.impressionEvent` + `trackers.impression.params` (nahraďte `{TS}` a `{TCF}` před odesláním).

### S2S Oznámení o kliknutí

Sestavte: `trackingTemplates.server.clickEvent` + `trackers.click.params` (nahraďte `{TS}`, {RURL}, a `{TCF}`), poté odešlete GET nebo POST.

### S2S Oznámení o přidání do košíku

Sestavte: `trackingTemplates.server.addToCartEvent` + `trackers.addToCart.params` (nahraďte `{TS}`, {QTY}, {CONVERSION\_VALUE}, a `{TCF}`), poté odešlete GET nebo POST.

### Parametry S2S

| Parametr                                                                            | Zdroj                                   | Poznámky                                                                                                                                      |
| ----------------------------------------------------------------------------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `catalogId`, `sessionId`, `customerId`, `dtmId`, `placementId`, `lsid`, `utcOffset` | `trackingTemplates` dotaazovací řetězce | Při spouštění požadavku zachovejte tyto hodnoty tak, jak jsou. Neodstraňujte je ani neupravujte.                                              |
| `modId`                                                                             | `trackers.<slot>.params`                | Identifikátor obsahového modulu nebo řádku.                                                                                                   |
| `ts`                                                                                | `trackers.<slot>.params`                | Nahraďte `{TS}` aktuální časovou značkou v milisekundách před spuštěním požadavku.                                                            |
| `iabConsentString`                                                                  | `trackers.<slot>.params`                | Nahraďte `{TCF}` aktuálním řetězcem souhlasu TCF v2 z CMP před spuštěním požadavku. Pokud je hodnota již poskytnuta, použijte ji tak, jak je. |
| `rurl`                                                                              | `trackers.<slot>.params`                | Cíl přesměrování kódovaný v URL. Nahraďte `{RURL}` pokud je přítomen.                                                                         |
| `productCode`, `sellerId`                                                           | `trackers.<slot>.params`                | Hodnoty odvozené z uzlů produktů.                                                                                                             |
| `qty`                                                                               | `trackers.addToCart.params`             | Nahraďte `{QTY}` absolutním množstvím SKU v košíku v době spuštění požadavku. Nepoužívejte změnu množství (delta).                            |
| `conVal`                                                                            | `trackers.addToCart.params`             | Nahraďte `{CONVERSION_VALUE}` celkovou peněžní hodnotou položek (množství × jednotková cena, mínus jakékoli platné slevy).                    |

## Odkaz na makra

| Symbol                    | Popis                                                                                                                                    | Nalezeno v                                | Nahradit s                                                                                |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | ----------------------------------------------------------------------------------------- |
| `BASEURL` (vaše předpona) | Základní URL vašeho webu s protokolem a cestou k proxy – přidejte na začátek každé `trackingTemplates.client.*` cesty.                   | Měření C2S                                | `https://www.retailer.com/epsilon`                                                        |
| `{TS}`                    | Časové razítko pro zabránění cachování (v milisekundách)                                                                                 | `trackers.<slot>.params`                  | `1737485823910`                                                                           |
| `{RURL}`                  | Cílové přesměrování zakódované do URL                                                                                                    | `trackers.<slot>.params.rurl`             | `https%3A%2F%2Fwww.retailer.com%2Fprodukt%2F9221200653341`                                |
| `{TCF}`                   | Zástupný symbol pro řetězec souhlasu IAB TCF v2. Přítomen, když `regs.consent` byl v požadavku vynechán.                                 | `trackers.<slot>.params.iabConsentString` | Aktuální řetězec TC z vaší CMP, např. prostřednictvím `__tcfapi` `getTCData` → `tcString` |
| `{QTY}`                   | Absolutní množství tohoto SKU v košíku v momentě spuštění (ne rozdíl; např. pokud měl nakupující 1 a přidá další, pošlete `2`).          | `trackers.addToCart.params.qty`           | `2`                                                                                       |
| `{CONVERSION_VALUE}`      | Absolutní peněžní hodnota těchto položek: množství × jednotková cena, mínus jakékoli uplatněné slevy.                                    | `trackers.addToCart.params.conVal`        | `49.99`                                                                                   |
| `{RURL_KID}`              | ID klíče pro podepisování přesměrování. Přítomno v `trackers.click.redirectParams` když je povoleno podepisování přesměrování platformy. | `trackers.click.redirectParams.rurlKid`   | ID podepisovacího klíče vrácené koncovým bodem pro hromadné podepisování                  |
| `{RURL_SIG}`              | Podpis přesměrování. Přítomen v `trackers.click.redirectParams` když je povoleno podepisování přesměrování platformy.                    | `trackers.click.redirectParams.rurlSig`   | Podpis Ed25519 (base64url) vrácený koncovým bodem pro hromadné podepisování               |

### Přehled kódování URL

Při kódování `{RURL}`, použijte standardní procentuální kódování (percent-encoding):

| Znak | Kódovat jako |
| ---- | ------------ |
| `:`  | `%3A`        |
| `/`  | `%2F`        |
| `?`  | `%3F`        |
| `=`  | `%3D`        |
| `&`  | `%26`        |

### redirectParams a podepisování přesměrování

Pokud je povoleno podepisování přesměrování platformy, `trackers.click` může obsahovat objekt `redirectParams`vedle `params`Klíče v `7`se slučují pouze do `client.clickRedirect` URL — ne do `clickEvent`ani žádné URL serveru.

Dva případy:

**Vložené cíle odkazů** (URL zabudované do `params.rurl`): platforma podepíše přesměrování v čase servírování a vygeneruje doslovné `rurlKid`a `rurlSig`hodnoty v `redirectParams`Připojte je v tomto stavu k `clickRedirect` URL.

**Přesměrování řízená prodejcem** (`params.rurl` je {RURL}): `redirectParams` obsahuje makra {RURL\_KID} a {RURL\_SIG}. Zavolejte koncový bod pro hromadné podepisování (`redirectSigning.url` z odpovědi) pro získání ID klíče a podpisu pro vaši cílovou URL, a poté před připojením nahraďte.

Objekt nejvyšší úrovně `redirectSigning`pokud je přítomen, poskytuje koncový bod pro hromadné `POST /ads/v3/redirect/sign` , URL a `maxUrls`limit hromadného zpracování. Kontaktujte Epsilon pro potvrzení, zda je podepisování přesměrování pro vaši integraci povoleno.

### Skladba clickRedirect s redirectParams:

```
BASEURL + trackingTemplates.client.clickRedirect + "&" + queryString(trackers.click.params) + "&" + queryString(trackers.click.redirectParams)
```

<br>

## Slohová příručka

Před povolením stránek značek (Brand Pages) na vašem webu potřebujeme zachytit vizuální identitu vašeho webu. Vyplňte níže uvedenou tabulku svými hodnotami designu. Náš tým ji použije k nastavení náhledu stránky značky.

#### Logo

| Pole     | Popis                                 | Vaše hodnota |
| -------- | ------------------------------------- | ------------ |
| URL loga | URL k logu vašeho webu (SVG nebo PNG) |              |

#### Barvy

| Pole                   | Popis                                                 | Vaše hodnota |
| ---------------------- | ----------------------------------------------------- | ------------ |
| Primární barva         | Hlavní barva značky (hex)                             |              |
| Barva pozadí           | Barva pozadí stránky (hex)                            |              |
| Barva povrchu          | Barva pozadí karty/sekce (hex)                        |              |
| Primární barva textu   | Hlavní barva textu (hex)                              |              |
| Sekundární barva textu | Potlačená barva textu (hex)                           |              |
| Text na primární barvě | Barva textu použitá na pozadí s primární barvou (hex) |              |
| Barva ohraničení       | Výchozí barva ohraničení (hex)                        |              |

#### Typografie

| Pole                    | Popis                                                       | Vaše hodnota |
| ----------------------- | ----------------------------------------------------------- | ------------ |
| Rodina písma nadpisů    | Písmo použité pro nadpisy (např. "Google Sans, sans-serif") |              |
| Rodina písma těla       | Písmo použité pro text těla (např. "Roboto, sans-serif")    |              |
| Základní velikost písma | Výchozí velikost písma těla (např. 16px)                    |              |

#### Tlačítka

| Pole                                 | Popis                                                    | Vaše hodnota |
| ------------------------------------ | -------------------------------------------------------- | ------------ |
| Pozadí primárního tlačítka           | Barva pozadí pro primární tlačítka                       |              |
| Barva textu primárního tlačítka      | Barva textu pro primární tlačítka                        |              |
| Poloměr zaoblení primárního tlačítka | Zaoblení rohů (např. 8px)                                |              |
| Styl sekundárního tlačítka           | Popište vzhled sekundárního tlačítka (obrys, ghost atd.) |              |

## Požadavky na obsah modulů

Stránky značek se skládají z modulů obsahu. Pro každý typ modulu uveďte omezení obsahu, která váš web vyžaduje. Náš tým je použije k nastavení pravidel pro ověřování šablon.

### Moduly IMAGE

| Požadavek                     | Popis                                                                | Vaše hodnota |
| ----------------------------- | -------------------------------------------------------------------- | ------------ |
| Minimální šířka               | Minimální šířka obrázku v pixelech (např. 1920)                      |              |
| Minimální výška               | Minimální výška obrázku v pixelech (např. 500)                       |              |
| Maximální velikost souboru    | Maximální velikost souboru v MB (např. 10). Musí být menší než 4 MB. |              |
| Podporované formáty           | Podporované formáty obrázků (např. jpg, png, gif, svg)               |              |
| Maximální počet znaků popisku | Maximální počet znaků pro popisek obrázku, pokud se používá          |              |
| `alt`Volitelnost značky       | Zda je `alt` vyžadováno u obrázků.                                   |              |

### Moduly TEXT

| Požadavek                           | Popis                                                                                                                                                                                                                      | Vaše hodnota |
| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
| Varianta                            | “headline”, “tagline”, “body” nebo “lines”. Určuje styl, ve kterém se text zobrazí.                                                                                                                                        |              |
| Zarovnání                           | “left”, “center” nebo “right”. Určuje vodorovné zarovnání textu.                                                                                                                                                           |              |
| Konfigurace “Lines”                 | <p>Konfigurace pro víceřádkový text (když variant = lines). Pro každý řádek textu uveďte následující:<br><br>– název textového pole<br>– “required” nebo “allowed”?<br>– zda má jít o hyperktextový odkaz na jinou URL</p> |              |
| Maximální počet znaků nadpisu       | Maximální počet znaků pro text nadpisu                                                                                                                                                                                     |              |
| Maximální počet znaků popisu        | Maximální počet znaků pro text popisu                                                                                                                                                                                      |              |
| Maximální počet znaků těla/zástavky | Maximální počet znaků pro text těla nebo zápatí                                                                                                                                                                            |              |
| Tlačítko CTA                        | Vyžadováno, volitelné, nebo není potřeba?                                                                                                                                                                                  |              |
| Maximální počet znaků textu CTA     | Maximální počet znaků pro text tlačítka CTA                                                                                                                                                                                |              |

### Moduly PRODUCT\_GRID

| Požadavek                          | Popis                                             | Vaše hodnota |
| ---------------------------------- | ------------------------------------------------- | ------------ |
| Minimálně produktů                 | Minimální počet zobrazovaných produktů (např. 4)  |              |
| Maximálně produktů                 | Maximální počet zobrazovaných produktů (např. 12) |              |
| Název sekce                        | Vyžadováno nebo volitelné?                        |              |
| Maximální počet znaků názvu sekce  | Maximální počet znaků pro název sekce             |              |
| Popis sekce                        | Vyžadováno nebo volitelné?                        |              |
| Maximální počet znaků popisu sekce | Maximální počet znaků pro popis sekce             |              |
| Tlačítko CTA                       | Vyžadováno, volitelné, nebo není potřeba?         |              |

### Moduly IMAGE\_GALLERY

Modul Obrázková galerie dědí stejné vlastnosti konfigurace jako modul IMAGE. Navíc přijímá také následující vlastnosti specifické pro galerii:

| Požadavek                | Popis                                                                                                                                                                                                                                        | Vaše hodnota |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
| Minimální počet obrázků  | Minimální počet obrázků v galerii (např. 2)                                                                                                                                                                                                  |              |
| Maximální počet obrázků  | Maximální počet obrázků v galerii (např. 4)                                                                                                                                                                                                  |              |
| Název sekce              | Zda je text názvu sekce povinný nebo volitelný.                                                                                                                                                                                              |              |
| Popis sekce              | Zda je text popisu sekce povinný nebo volitelný.                                                                                                                                                                                             |              |
| `alt` Volitelnost značky | Zda je `alt` vyžadováno u obrázků.                                                                                                                                                                                                           |              |
| Volitelnost výzvy k akci | Zda je tlačítko nebo odkaz výzvy k akci vyžadován, povolen nebo zakázán.                                                                                                                                                                     |              |
| Dodatečné řádky textu    | <p>Pro každý dodatečný text, který má být spojen s každým obrázkem v obrázkové galerii, uveďte následující:<br><br>– název textového pole<br>– “required” nebo “allowed”?<br>– zda má text fungovat jako hypertextový odkaz na jinou URL</p> |              |

### Moduly SPLIT\_LAYOUT

Modul Rozdělené rozvržení umožňuje zobrazit dva moduly vedle sebe. V současné době jsou podporovány pouze moduly Text a Obrázek. Kromě jednotlivých nastavení konfigurace pro moduly Text a Obrázek (popsaných v sekcích výše) jsou vyžadovány následující dodatečné vlastnosti:

| Požadavek       | Popis                                   | Vaše hodnota |
| --------------- | --------------------------------------- | ------------ |
| Poměr rozvržení | Poměr sloupců (50:50, 33:67 nebo 67:33) |              |

## Identita a soukromí

### Akceptovatelné identifikátory

* Session ID – anonymní identifikátor relace (neobsahuje PII)
* Customer ID – zákaznický identifikátor prodejce (neobsahuje PII, např. hash věrnostního ID)

{% hint style="danger" %}
Nepametujte hashované e-mailové adresy, telefonní čísla ani žádné PII v žádném parametru ani URL.
{% endhint %}

### Požadavky na ochranu soukromí

Prodejci musí:

* Zveřejnit sledování měření ve svých zásadách ochrany osobních údajů
* Poskytnout odkazy pro odhlášení:
  * NAI: <https://optout.networkadvertising.org/>
  * DAA: <https://optout.aboutads.info/>

### GDPR / Souhlas

Předat `regs`objekt na `POST /ads/v3/brand-pages`:

* `regs.gdpr`: `1` když podléhá požadavek GDPR (zpracování EU/EHP/UK dle vašich zásad); `0`jinak.
* `regs.consent`: Když `gdpr` is `1`předejte aktuální řetězec souhlasu TCF v2 z vaší CMP (stejnou hodnotu, kterou byste zobrazili ostatním reklamním partnerům). Nevymýšlejte ani nezadávejte řetězec natvrdo – použijte to, k čemu dal souhlas prohlížeč / aplikace uživatele.
* `iabConsentString`: Toto se zobrazuje v parametrech každé pozice trackeru, ne v `trackingTemplates`. Když `regs.consent` byl poskytnut, hodnotou je doslovný řetězec TC a není vyžadována žádná další akce.
* Když `regs.consent` byl vynechán, hodnotou je `{TCF}`makro — nahraďte aktuální řetězec TCF v2 z vaší CMP v čase spuštění před odesláním jakéhokoli požadavku na sledování.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.citrusad.com/retail-media-interface/integration/cs/brand-pages/brand-page-retailer-integration-guide/tracking-attribution.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
