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
- Navigate to your domain's Rules tab
- Click Create Rule
- Set conditions to match the pages where conversions happen (e.g.,
url.pathstarts with/checkout/thank-you) - Add the Fire Conversion Event action
- Select an Event Type (e.g.,
purchase) - Configure Extraction settings to pull event data from the HTML
- Optionally configure Targets for multi-destination routing
- 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 Type | Description | Typical Use |
|---|---|---|
purchase | Completed transaction | Order confirmation pages |
add_to_cart | Item added to cart | Cart add buttons / confirmation |
lead | Lead form submission | Thank-you or confirmation pages |
page_view | Page view | Landing pages for attribution |
initiate_checkout | Checkout started | First step of checkout flow |
add_payment_info | Payment info entered | Payment step of checkout |
search | Site search performed | Search results pages |
view_content | Content or product viewed | Product detail pages |
complete_registration | Registration completed | Post-signup pages |
contact | Contact form submitted | Contact confirmation pages |
subscribe | Newsletter or subscription signup | Subscription confirmation |
custom | Custom event with your own name | Any 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:
| Field | Description | Example |
|---|---|---|
value | CSS selector or regex to extract the monetary value | .order-total or "total":\s*(\d+\.\d+) |
currency | CSS selector, regex, or static value | USD or .currency-code |
order_id | CSS selector or regex for the transaction ID | .order-number or order_id=(\w+) |
content_name | Product or content name | .product-title |
content_ids | Product 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:
| Target | Integration | Event Name |
|---|---|---|
| Meta | Meta CAPI integration | Purchase |
| GA4 | GA4 integration | purchase |
| Webhook | Custom webhook | order_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:
| Field | Description |
|---|---|
platform | Target platform (meta, tiktok, google_ads, ga4, snapchat, webhook) |
eventType | Conversion event type (e.g., purchase, lead) |
userData | User identifiers — email, phone, name (auto-hashed for PII compliance) |
customData | Event-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
| Action | Description |
|---|---|
| Rename | Change the event name. E.g., rename Purchase to CompletePayment for a specific platform. |
| Drop | Prevent the event from being forwarded. Use to filter out events from test pages or internal traffic. |
| Set Field | Override a custom data field (value, currency, order_id). Use to force a default currency or normalize field values. |
| Route | Only 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
Purchaseevents) - 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:
- Go to Integrations tab → select your Meta integration
- Open Transformation Rules
- 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:
| Status | Meaning |
|---|---|
| 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.