Scripts & Pixels per Step
Time: ~10 minutes | Difficulty: IntermediateWhat Is Step Config?
Every step in a funnel can have its own runtime configuration — tracking pixels, custom scripts, payment flow overrides, and order bumps. This is set insidenode.config.stepConfig.
Why per-step? Different steps fire different events. Your landing page tracks
PageView, your checkout tracks InitiateCheckout and Purchase, and your thank-you page tracks the conversion. Each step can have completely different pixels and scripts.Step Config Structure
Tracking Pixels
Pixels are keyed by provider. Each provider can have multiple pixels (array).Meta / Facebook Pixel
Meta Conversion API (server-side)
TikTok Pixel
Snapchat Pixel
Google Tag Manager
Custom Scripts
Inject any JavaScript into funnel pages. Each script has a name, content, and injection position.| Position | Where it’s injected |
|---|---|
head-start | First thing inside <head> |
head-end | Last thing inside <head> (default) |
body-start | First thing inside <body> |
body-end | Last thing inside <body> |
Full Example: 3-Step Funnel with Tracking
Here’s a complete Node SDK example that creates a funnel with Meta Pixel + TikTok on every step, plus GTM on checkout only.Pixel Event Reference
| Event | When it fires | Typical steps |
|---|---|---|
PageView | Page loads | All steps |
InitiateCheckout | Customer starts checkout | Checkout |
Purchase | Payment succeeds | Checkout, Thank You |
AddToCart | Item added to cart | Landing, Checkout |
ViewContent | Product/offer viewed | Landing, Offer |
Search | Customer searches (Snapchat only) | Landing |
AddToWishlist | Wishlist action (Snapchat only) | Landing |
CompleteRegistration | Sign-up (Snapchat only) | Thank You |
Supported Providers
| Provider Key | Pixel Type | Config Fields |
|---|---|---|
facebook | Meta Pixel (client-side) | pixelId, events |
metaConversion | Meta Conversion API (server-side) | pixelId, accessToken, publishPurchaseIfNewCustomerOnly |
tiktok | TikTok Pixel | pixelId, events |
snapchat | Snap Pixel | pixelId, events (extended) |
gtm | Google Tag Manager | containerId, events, googleAdsConversionId, googleAdsConversionLabel |
Payment Setup Config
paymentSetupConfig controls which payment methods are displayed on a checkout step and how each method is routed. It’s a key-value map where keys are method identifiers.
Structure
Fields
| Field | Type | Description |
|---|---|---|
enabled | boolean | Whether this payment method is shown at checkout |
method | string | Payment method: card, apple_pay, google_pay, paypal, klarna, ideal, etc. |
provider | string | Processor family: tagada, stripe, airwallex, etc. |
express | boolean | Render as an express checkout button above the form |
paymentFlowId | string | Route this method through a specific payment flow (cascade, weighted, etc.) |
processorId | string | Route directly to a specific processor (for APMs and express methods) |
integrationId | string | TagadaPay native integration ID (for Apple Pay via Basis Theory, etc.) |
Key Format
Keys follow the pattern{method} or {method}:{provider}:
card— card payments (routed via payment flow)apple_pay:stripe— Apple Pay via Stripegoogle_pay:stripe— Google Pay via Stripeklarna:airwallex— Klarna via Airwallexpaypal:airwallex— PayPal via Airwallex
Payment Flow Resolution Order
When processing a card payment, thepaymentFlowId is resolved in this order:
Example: Different Flow for High-Value Orders
Example: Cards + Apple Pay + Google Pay
Next Steps
Node SDK Quick Start
Get started with the Node SDK
Funnel Orchestrator
Deep dive into funnel routing, A/B testing, and navigation
Headless Payments (Frontend)
Build your own checkout UI with client-side card tokenization and 3DS
Deploy & A/B Test
Deploy pages and run split tests
