Saved Pixels API
Save reusable pixel/event configurations (page views, conversions, microconversions) and generate the corresponding installation code for JavaScript, Google Tag Manager, or Tealium. Each saved pixel bundles a type, optional conversion_type, and custom properties.
Base path: /saved-pixels
Default scope: read. Mutations require write (editor or higher).
List Saved Pixels
GET /saved-pixels?account_id={account_id}
| Parameter | Type | Default | Description |
|---|---|---|---|
account_id | string | required | Account ID |
pixel_type | enum | - | Filter by pageview, conversion, or microconversion |
Response:
{
"success": true,
"data": [
{
"id": "pix_a1b2c3",
"name": "Purchase conversion",
"description": "Standard purchase tracking",
"pixel_type": "conversion",
"conversion_type": "purchase",
"target_platform": "javascript",
"created_at": "2025-01-05T10:00:00Z"
}
]
}
Builder Options
GET /saved-pixels/options
Static options used by the pixel builder UI (no account_id required).
Response:
{
"success": true,
"data": {
"conversion_types": [
{ "value": "purchase", "label": "Purchase" },
{ "value": "signup", "label": "Sign up" },
{ "value": "lead", "label": "Lead" },
{ "value": "add_to_cart", "label": "Add to cart" },
{ "value": "begin_checkout", "label": "Begin checkout" },
{ "value": "contact", "label": "Contact" },
{ "value": "download", "label": "Download" },
{ "value": "subscribe", "label": "Subscribe" }
],
"properties": [
{ "value": "currency", "label": "Currency" },
{ "value": "brand", "label": "Brand" },
{ "value": "model", "label": "Model" },
{ "value": "category", "label": "Category" },
{ "value": "size", "label": "Size" },
{ "value": "color", "label": "Color" },
{ "value": "variant", "label": "Variant" },
{ "value": "sku", "label": "SKU" }
]
}
}
Get Saved Pixel
GET /saved-pixels/{pixel_id}?account_id={account_id}
Response:
{
"success": true,
"data": {
"id": "pix_a1b2c3",
"account_id": "acme",
"name": "Purchase conversion",
"description": "Standard purchase tracking",
"config": {
"type": "conversion",
"conversion_type": "purchase",
"revenue": { "source": "variable", "value": "order_total" },
"currency": { "source": "fixed", "value": "EUR" },
"properties": [
{ "key": "sku", "source": "variable", "value": "product_sku" }
]
},
"target_platform": "javascript",
"created_by": 7,
"created_at": "2025-01-05T10:00:00Z",
"updated_at": "2025-01-05T10:00:00Z"
}
}
Returns 404 if not found.
Create Saved Pixel
POST /saved-pixels?account_id={account_id}
Required scope: write (editor or higher)
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | 1-100 chars (unique per account) |
description | string | No | Max 500 chars |
config | object | Yes | See PixelConfig below |
target_platform | enum | No | javascript (default), gtm, tealium |
PixelConfig:
| Field | Type | Required | Description |
|---|---|---|---|
type | enum | Yes | pageview, conversion, microconversion |
conversion_type | string | Cond. | Required when type is conversion or microconversion (max 50) |
revenue | PixelValue | No | Revenue value (only for conversions) |
currency | PixelValue | No | Currency code (e.g. EUR, USD) |
properties | PixelProperty[] | No | Up to 20 custom properties |
PixelValue / PixelProperty carry source (fixed or variable) and value (the literal or the variable name) — PixelProperty also includes a key.
Response (201 Created): full SavedPixel object. Returns 409 if the name already exists for the account.
Update Saved Pixel
PUT /saved-pixels/{pixel_id}?account_id={account_id}
Required scope: write
All fields from create are optional. Returns 409 if renaming would collide with an existing pixel.
Delete Saved Pixel
DELETE /saved-pixels/{pixel_id}?account_id={account_id}
Required scope: write. Returns 204 No Content.