# Eventos de produto

> Visualizações de produto registradas pelo script de rastreamento.



## product.viewed

> Enviado quando o script de rastreamento registra uma visualização de produto, de um contato ou de um visitante anônimo. Alfa: aberto apenas à equipe do Emailit.

# product.viewed

Enviado cada vez que o comando `product` do [script de rastreamento](/pt/docs/commerce/connect-your-shop/#record-shop-activity) registra uma visualização de produto. As visualizações vêm de contatos conhecidos e de visitantes anônimos. Quando um visitante anônimo é identificado depois, as visualizações anteriores dele contam para o contato, mas os eventos já enviados mantêm `contact_id` como `null`. Consulte [E-commerce](/pt/docs/commerce/#events).

> **O e-commerce está em alfa:** O e-commerce está aberto apenas à equipe do Emailit enquanto o testamos. Consulte [Quem pode usar o e-commerce](/pt/docs/commerce/#who-can-use-commerce).

As visualizações de produtos vêm do tráfego do site, então os webhooks que recebem **All events** não recebem este evento. Inscreva o webhook em `product.viewed` pelo nome.

As requisições de webhook trazem um array JSON de eventos como este; consulte [Requisições de webhook](/pt/docs/webhooks/webhook-requests/).

```json
{
  "event_id": "evt_3xbB2QmL7cVn0Rk8sWd4TfY1uHa",
  "type": "product.viewed",
  "object": {
    "object": "product_view",
    "product": {
      "id": "prd_3Rx6aB1cD2eF3gH4iJ5kL6mN7oP",
      "external_id": "8123456789",
      "title": "Trail running shoe",
      "url": "https://shop.example.com/products/trail-running-shoe",
      "image_url": "https://shop.example.com/images/trail-running-shoe.jpg",
      "price": 89,
      "currency": "USD"
    },
    "contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
    "email": "ada@example.com",
    "anonymous_id": "anon_5f0c9e2b7d1a4c8e9b3f6a2d1c0e7b4a",
    "viewed_at": "2026-10-19T09:12:40.512Z",
    "source": "js",
    "context": {
      "page": {
        "url": "https://shop.example.com/products/trail-running-shoe",
        "path": "/products/trail-running-shoe",
        "title": "Trail running shoe"
      },
      "campaign": { "source": "emailit", "medium": "email", "name": "Autumn sale" },
      "timezone": "Europe/Prague"
    }
  },
  "data": {
    "object": {
      "object": "product_view",
      "product": {
        "id": "prd_3Rx6aB1cD2eF3gH4iJ5kL6mN7oP",
        "external_id": "8123456789",
        "title": "Trail running shoe",
        "url": "https://shop.example.com/products/trail-running-shoe",
        "image_url": "https://shop.example.com/images/trail-running-shoe.jpg",
        "price": 89,
        "currency": "USD"
      },
      "contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
      "email": "ada@example.com",
      "anonymous_id": "anon_5f0c9e2b7d1a4c8e9b3f6a2d1c0e7b4a",
      "viewed_at": "2026-10-19T09:12:40.512Z",
      "source": "js",
      "context": {
        "page": {
          "url": "https://shop.example.com/products/trail-running-shoe",
          "path": "/products/trail-running-shoe",
          "title": "Trail running shoe"
        },
        "campaign": { "source": "emailit", "medium": "email", "name": "Autumn sale" },
        "timezone": "Europe/Prague"
      }
    }
  }
}
```

## Campos

- `event_id` (string): ID do evento (`evt_…`). Uma nova tentativa da requisição traz o mesmo ID, então use-o para ignorar eventos que você já processou. Você também pode consultar o evento com [Obter um evento](/pt/docs/api-reference/events/get/).

- `type` (string): Sempre `product.viewed`.

- `object` (object): A visualização de produto que o evento descreve. Os campos dela estão listados abaixo.

- `data.object` (object): O mesmo objeto de novo, no formato que a [API de eventos](/pt/docs/api-reference/events/get/) retorna em `data`.

### Objeto de visualização de produto

- `object` (string): Sempre `product_view`.

- `product` (object): O produto visualizado: `id` (`prd_…`, `null` quando o produto não está no seu catálogo), `external_id` (o ID do produto na sua loja), `title`, `url`, `image_url`, `price` e `currency`. Os valores vêm do seu [catálogo](/pt/docs/api-reference/products/get/) quando o produto está nele e, caso contrário, da chamada `product`.

- `contact_id` (string | null): O contato que visualizou o produto (`con_…`), ou `null` para um visitante anônimo.

- `email` (string | null): O endereço de e-mail do contato, ou `null` para um visitante anônimo.

- `anonymous_id` (string | null): O ID que o script de rastreamento usa para o navegador do visitante.

- `viewed_at` (string): Quando o visitante visualizou o produto, em ISO 8601 UTC.

- `source` (string): Sempre `js` (o script de rastreamento).

- `context` (object | null): O que o script sabe sobre a visita: `page` (`url`, `path`, `title`, `referrer`), `campaign` (valores UTM), `locale`, `timezone`, `library` e `user_agent`. Os mesmos campos dos [eventos do script de rastreamento](/pt/docs/events/tracking-script/#what-the-script-sends).

---
Fonte: https://emailit.com/pt/docs/webhooks/events/product/product-viewed/
