Tracking Events

Create rules that fire conversion events and monitor delivery with the event log and dashboard.

Conversion events are fired by rules using the fire_conversion_event action. When a request matches the rule's conditions, the gateway extracts event data from the HTML response and sends it server-side to active integrations — either all integrations on the domain, or specific targets configured via multi-destination routing.

Creating a Conversion Tracking Rule

  1. Navigate to your domain's Rules tab
  2. Click Create Rule
  3. Set conditions to match the pages where conversions happen (e.g., url.path starts with /checkout/thank-you)
  4. Add the Fire Conversion Event action
  5. Select an Event Type (e.g., purchase)
  6. Configure Extraction settings to pull event data from the HTML
  7. Optionally configure Targets for multi-destination routing
  8. Save and activate the rule

The fire_conversion_event action can be combined with other actions in the same rule. For example, you can inject a thank-you banner and fire a purchase event in a single rule.

Event Types

Event TypeDescriptionTypical Use
purchaseCompleted transactionOrder confirmation pages
add_to_cartItem added to cartCart add buttons / confirmation
leadLead form submissionThank-you or confirmation pages
page_viewPage viewLanding pages for attribution
initiate_checkoutCheckout startedFirst step of checkout flow
add_payment_infoPayment info enteredPayment step of checkout
searchSite search performedSearch results pages
view_contentContent or product viewedProduct detail pages
complete_registrationRegistration completedPost-signup pages
contactContact form submittedContact confirmation pages
subscribeNewsletter or subscription signupSubscription confirmation
customCustom event with your own nameAny custom conversion point

Extraction Configuration

The extraction config tells the gateway how to pull event data (value, currency, order ID) from the HTML response. This data is included in the conversion event sent to ad platforms.

Extraction fields:

FieldDescriptionExample
valueCSS selector or regex to extract the monetary value.order-total or "total":\s*(\d+\.\d+)
currencyCSS selector, regex, or static valueUSD or .currency-code
order_idCSS selector or regex for the transaction ID.order-number or order_id=(\w+)
content_nameProduct or content name.product-title
content_idsProduct IDs for catalog matching.product-sku

Extraction runs against the origin's HTML response before any SerpWise modifications are applied. Make sure your selectors match the original HTML structure.

Multi-Destination Routing

By default, a fire_conversion_event action sends events to all active integrations on the domain. With multi-destination routing, you can specify exactly which integrations receive the event and override the event name per destination.

Each target in the targets array specifies:

  • Integration ID — which integration receives the event
  • Event Name Override — optional alternative event name for that specific destination

For example, a single Purchase rule can fire to multiple platforms with platform-appropriate event names:

TargetIntegrationEvent Name
MetaMeta CAPI integrationPurchase
GA4GA4 integrationpurchase
WebhookCustom webhookorder_completed

Configure targets in the rule builder by expanding the Targets section when adding the Fire Conversion Event action.

Inbound Event Ingestion API

In addition to gateway-generated events, you can send conversion events from external systems using the POST /tracking/ingest endpoint. This is useful for:

  • CRM webhooks that fire on deal close
  • Server-side applications that process orders
  • Third-party integrations that need to forward events

Endpoint: POST /tracking/ingest

Authentication: API key via Authorization: Bearer header

Request body: JSON array of events, each with:

FieldDescription
platformTarget platform (meta, tiktok, google_ads, ga4, snapchat, webhook)
eventTypeConversion event type (e.g., purchase, lead)
userDataUser identifiers — email, phone, name (auto-hashed for PII compliance)
customDataEvent-specific data — value, currency, order ID, content IDs

PII fields (emails, phone numbers, names) are automatically hashed before being sent to ad platforms. Maximum 100 events per request.

See Tracking Ingest API for the full API reference.

Event Log

The Tracking > Event Log sub-tab shows every conversion event fired by the gateway in real time.

Each log entry includes:

  • Timestamp — when the event was fired
  • Event type — the conversion event type (purchase, lead, etc.)
  • URL — the page that triggered the event
  • Platform — which integration received the event (Meta, TikTok, Google Ads, GA4, Snapchat, Pinterest, Twitter/X, Webhook)
  • Status — success (green) or failed (red) with error details
  • Extracted data — the value, currency, and order ID extracted from the HTML

Use the event log to verify that events are firing correctly and that extraction is pulling the right data from your pages.

Conversions Dashboard

The Tracking > Dashboard sub-tab provides an overview of your conversion tracking performance:

  • Events sent — total events fired across all platforms
  • Success rate — percentage of events accepted by ad platforms
  • Revenue tracked — total monetary value of conversion events
  • Events over time — chart showing event volume by day
  • Platform breakdown — events and success rates per integration
  • Top converting URLs — pages generating the most conversion events

The dashboard updates in near-real-time. Use it to monitor event delivery health and catch integration errors early.

Event Transformation Rules

Transformation rules let you modify conversion events before they are forwarded to platforms. Rules are configured per integration and evaluated in order.

Actions

ActionDescription
RenameChange the event name. E.g., rename Purchase to CompletePayment for a specific platform.
DropPrevent the event from being forwarded. Use to filter out events from test pages or internal traffic.
Set FieldOverride a custom data field (value, currency, order_id). Use to force a default currency or normalize field values.
RouteOnly forward the event if it matches specific integration IDs. Use for splitting events across platforms.

Conditions

Each rule can optionally filter by:

  • Event name — exact match (e.g., only transform Purchase events)
  • Platform — only apply to a specific platform (e.g., only rename for meta)
  • Source URL contains — substring match on the page URL (e.g., only transform events from /checkout)

If no conditions are set, the rule applies to all events for that integration.

Example

To rename Purchase events to CompletePayment only for Meta:

  1. Go to Integrations tab → select your Meta integration
  2. Open Transformation Rules
  3. Add rule: Event Name = Purchase, Platform = meta, Action = Rename, New Name = CompletePayment

Live Event Debugger

The Live Debugger tab shows a real-time stream of conversion events as they flow through the gateway. Events appear instantly with status indicators:

StatusMeaning
Forwarded (green)Event was successfully sent to the platform
Failed (red)Event failed to send (credential error, platform rejection, timeout)
Deduplicated (yellow)Event was a duplicate and was not sent
Consent Denied (orange)User had not granted required consent
Dropped (grey)Event was dropped by a transformation rule

Click any event row to expand details — user data field presence (no PII values), custom data, error messages, and send duration.

See Live Event Debugger for the full guide.

On this page