{% extends "pretixcontrol/event/base.html" %} {% load i18n %} {% block title %}{% trans "Ad pixels" %}{% endblock %} {% block content %}

{% trans "Ad pixels" %} {% trans "Add a pixel" %}

{% blocktrans %}Manage every ad pixel on this event — Meta, TikTok, Google and Spotify — client-side and server-side (Conversions API). All firing is consent-gated: no marketing consent, no pixel loads and no conversion is sent.{% endblocktrans %}

{% if rows %} {% for r in rows %} {% endfor %}
{% trans "Platform" %}{% trans "Label / ID" %} {% trans "Client" %}{% trans "Server (CAPI)" %} {% trans "Fires on" %} {% trans "Sent 30d" %} {% trans "Skipped" %} {% trans "Failed" %}
{{ r.p.get_platform_display }} {{ r.p.label|default:"—" }}
{{ r.p.pixel_id|default:"(no id)" }}
{% if r.p.client_enabled %}{% trans "on" %}{% else %}{% trans "off" %}{% endif %} {% if r.p.server_enabled and r.p.capi_token %}{% trans "on" %}{% elif r.p.server_enabled %}{% trans "no token" %}{% else %}{% trans "off" %}{% endif %} {{ r.p.fire_on }} {{ r.sent }} {{ r.skipped }} {{ r.failed }} {% trans "Edit" %}
{% csrf_token %}
{% else %}
{% trans "No pixels yet. Add your first Meta / TikTok / Google / Spotify pixel." %}
{% endif %}

{% trans "Consent" %}

{% csrf_token %}

{% blocktrans %}However consent is captured, pixels only fire once the cookie fc_consent_marketing=1 is set and the fc-consent-granted event has fired.{% endblocktrans %}

{% if recent %}

{% trans "Recent server-side dispatches" %}

{% for d in recent %} {% endfor %}
{% trans "When" %}{% trans "Pixel" %}{% trans "Event" %}{% trans "Outcome" %}{% trans "Order" %}{% trans "Detail" %}
{{ d.created|date:"d M H:i" }} {{ d.pixel.get_platform_display }} {{ d.fire_event }} {% if d.outcome == "sent" %}sent{% elif d.outcome == "failed" %}failed {{ d.status_code }}{% else %}{{ d.detail }}{% endif %} {{ d.order_code }} {{ d.detail|truncatechars:60 }}
{% endif %} {% endblock %}