Set up event triggers
Custom events via a 5-step wizard — platform-event picker, Shopify webhook mapping, and Flow Action.
What is this about?
The event-trigger wizard lets you send your own events (e.g., newsletter signup, contact-form submit, add-to-wishlist) to all enabled ad platforms without writing code. You define a custom event, map a concrete event name per platform (platform-event picker with smart-default matching), and pick a trigger type that fires the event.
Prerequisites
- Enterprise plan: Event triggers, platform-event picker, webhook mapping, and Flow Action are Enterprise-only features.
- At least one enabled platform: Custom events are sent only to platforms for which you created a mapping in the wizard.
- Active Web Pixel:
click,form_submit,scroll_depth, andtime_on_pagetriggers need the Web Pixel to run in your theme.url_matchtriggers also go through the pixel.
Wizard in 5 steps
Open the wizard at Event Triggers > New custom event. Each step has a clear purpose:
- Step 1 — Basics: Technical name (alphanumeric, e.g.
newsletter_signup) and display name ("Newsletter signup"). The technical name is sent to the platforms, the display name appears in the dashboard. - Step 2 — Per-platform mapping: For each of the nine supported platforms you pick an event name. Meta exposes 17 standard events (Lead, CompleteRegistration, Subscribe etc.), Google Ads lists all conversion actions via GAQL, Microsoft Ads shows offline-conversion goals. Smart-default matching automatically proposes a fitting mapping.
- Step 3 — Trigger type: Pick one of five trigger types (see below). The wizard immediately shows which config fields are needed.
- Step 4 — Trigger config: Enter the concrete values (e.g. element ID, form name, scroll percent, seconds, URL pattern).
- Step 5 — Preview & save: The wizard shows a summary of all mappings and trigger config. Once saved, the event is active immediately.
Trigger types in detail
- click: Expects an HTML element ID in the field
elementId. Example:<button id="subscribe">→ config:elementId: "subscribe". Reacts only to IDs, not classes or selectors (Web-Pixel sandbox). - form_submit: Expects a form
nameattribute in the fieldformName. Example:<form name="newsletter">→ config:formName: "newsletter". - scroll_depth: Percent value 1–100 in the field
percent. Fires once per page view when the visitor scrolls to the specified share of the page. Example:percent: 75for 75 %. - time_on_page: Seconds value 1–3600 in the field
seconds. Fires once when the visitor has been on the page for that long. Example:seconds: 30. - url_match: URL pattern in the field
pattern. Fires on every page view whose path contains the pattern (case-insensitive string match, not a regex). Example:pattern: "/thanks"matches/thanks,/Thanks,/en/thanks-page.
Shopify webhook mapping
On top of Web-Pixel tracking, you can map nine Shopify webhook topics to a custom event. Dispatch is then server-side and independent of browser events or consent.
- orders/create, orders/paid, orders/cancelled, orders/fulfilled — order lifecycle.
- customers/create, customers/update — customer creation/update.
- cart/update — cart changes.
- checkouts/create, checkouts/update — checkout lifecycle.
Open Event Triggers > Webhooks and pick an existing custom event per topic. Multiple topics can trigger the same event.
Shopify Flow Action
For complex workflows you can use ShopiPixel directly as a Flow Action in Shopify's workflow editor. Shopify Plus is required.
- Open the Shopify Flow editor and create a new workflow.
- Add an Action and pick ShopiPixel: "Send Event".
- In the dropdown you see all your custom events. Pick the event you want.
- An App-Bridge-embedded config page opens where you can map further fields (e.g. value, currency) from Flow variables.
- Save the workflow. ShopiPixel validates the setup (plan gate, event existence, body size) and sends an event through the full platform pipeline on every Flow run.
Details on Actions and Triggers are in the Shopify Flow docs.
Smart-default matching explained
When you enter the technical name in the wizard, smart-default matching automatically suggests a fitting event name per platform — based on fuzzy matching (Levenshtein distance) and a DE/EN synonym list.
- Synonym list: Newsletter ↔ Subscribe, Kontakt ↔ Lead, Kauf ↔ Purchase, Anfrage ↔ Inquiry, and more.
- "Apply smart defaults to all": This wizard button overwrites all mappings with the current suggestions. Useful if you change the technical name later.
- Manual override: You can override every mapping individually — the smart default is only a starting suggestion.
Limits of the Web-Pixel sandbox
The Shopify Web Pixel runs in a strict sandbox (runtime_context = "strict") and therefore has deliberately limited capabilities:
- Only element IDs and form names:
clickandform_submittriggers do not read CSS classes, data attributes, or selectors. - No direct DOM access: The pixel cannot read input values (except the email field with name
emailor idemailfor LeadCapture). - Alternative for complex conditions: Use Shopify webhook mapping (server-side) or the Flow Action (workflow-driven) — both are sandbox-free.
With event triggers, the shop operator remains controller under Art. 4 No. 7 GDPR. The legal basis for transmission to advertising platforms is typically Art. 6(1)(f) GDPR (legitimate interest in effective marketing). When browser identifiers or pseudonymised contact data are included, the end customer's marketing consent under § 25 TDDDG applies additionally. Details on processing scope, sub-processors and data subject rights can be found in the privacy policy.