Page Events are a visual flow builder for your funnel: you connect triggers, conditions, and actions so the right thing happens at the right time—whitelisting, popups, video CTAs, merchant switching, and more.Documentation Index
Fetch the complete documentation index at: https://docs.elasticfunnels.io/llms.txt
Use this file to discover all available pages before exploring further.
Quick navigation
How it works
Server-side nodes
Browser (frontend) nodes
Patterns & troubleshooting
How Page Events Work
Execution order
- Left to right — Nodes run in order along the connections.
- Top to bottom — When several nodes connect from one source, they run from top to bottom.
- Sequential — Each node finishes before the next one runs.
Entry points
Flows start from:- Page Load — When the page loads
- Form Submit — When a form is submitted
- Button Click — When specific buttons are clicked
- Exit Intent — When the visitor moves to leave (e.g. cursor to browser chrome)
Server vs browser
- Server-side nodes (e.g. Query Parameter, Script Rule, Load Page, Set Merchant, Dynamic Container) run before the page is sent. Use them for routing, whitelisting, and content selection.
- Browser (frontend) nodes (e.g. Video pause, When scrolled to, Exit popup, Show Video CTA) run in the visitor’s browser after the page loads. Use them for scroll, video, and popup behavior.
Server-side nodes
These run on the server before the page is rendered. They’re the main building blocks for who sees what and which content loads.Conditions
| Node | What it does |
|---|---|
| Query Parameter Condition | Branches based on URL parameters (e.g. vtID=k, source=facebook). Supports equals, not equals, contains, is empty, is not empty. |
| Script Rule | Custom JavaScript with access to visitor data, device, geo, referrer. Returns true/false to choose the path. Runs server-side. |
| Split Test Component | Randomly assigns visitors to variants. Set traffic % per variant and connect each to different content or actions. |
Query Parameter Conditions
Script Rule
Actions
| Node | What it does |
|---|---|
| Whitelist Visitor | Marks the visitor as whitelisted for the session. Gives access to Whitelisted containers. |
| Mark Visitor as Not Whitelisted | Removes whitelist so the visitor sees compliant content again. |
| Load Page | Loads a different page into the same URL. No redirect; good for compliance. |
| Redirect to URL | Sends the visitor to another URL (internal or external). |
| Dynamic Container | Swaps content inside a container (e.g. different pricing by affiliate or location). |
| Set Merchant | Overrides the payment processor for the page (e.g. Buygoods, Clickbank). Controls which Merchant Container shows. |
| Clear Merchant | Resets merchant to the domain default. Use after tests or when leaving a special flow. |
Dynamic Content
Utility
| Node | What it does |
|---|---|
| Sequence | Runs connected nodes one by one in order. Use when execution order matters. |
| Router | Junction point for flows. Can generate unique URLs for testing. |
Sequence Nodes
Browser (frontend) nodes
These run in the visitor’s browser after the page loads. They appear as triggers (e.g. in the funnel’s trigger list) or as steps inside a flow.Triggers
Triggers wait for an event, then run the next step.Exit intent
Exit intent
Mobile exit intent
Mobile exit intent
When scrolled to
When scrolled to
Video pause
Video pause
Video watched (seconds / %)
Video watched (seconds / %)
On CTA shown
On CTA shown
On form success
On form success
id).On add to cart
On add to cart
Conditions
Conditions check current state and send the flow to Output 1 or Output 2.Element in view
Element in view
Scroll check
Scroll check
Video progress check
Video progress check
Video is muted
Video is muted
Showed CTA
Showed CTA
Has tag
Has tag
Affiliate whitelisted
Affiliate whitelisted
aff_id in URL) whitelisted? Outputs: 1 = whitelisted, 2 = not.Split test
Split test
Actions
Actions do something and then continue to the next step.Exit popup
Exit popup
Show Video CTA
Show Video CTA
Hide Video CTA
Hide Video CTA
Wait (seconds)
Wait (seconds)
Show element / Hide element
Show element / Hide element
display: block or display: none). Setting: CSS selector.URL redirect
URL redirect
Add tag
Add tag
Mark whitelisted / Mark not whitelisted
Mark whitelisted / Mark not whitelisted
Client script
Client script
Execute automation
Execute automation
Common patterns
Whitelisting from URL
- Page Load → Query Parameter Condition (
vtIDis not empty) - Yes → Whitelist Visitor
- No → Continue with default content
Merchant by traffic source
- Page Load → Query Parameter Condition (
sourceequalspartner1) - Yes → Set Merchant (e.g. Buygoods)
- No → Query Parameter Condition (
sourceequalspartner2) - Yes → Set Merchant (e.g. Clickbank)
- No → Use domain default merchant
Video: pause at 30% then show CTA
- Video pause (trigger) → Video progress check (30%)
- Reached → Wait (2 seconds) → Show Video CTA (optionally with “Scroll to CTA”)
- Not reached → (do nothing or another path)
Dynamic content by affiliate
- Page Load → Script Rule (e.g. check affiliate ID)
- Affiliate 100 → Dynamic Container (show special pricing)
- Other → Dynamic Container (show default pricing)
Best practices
- Keep flows readable — Use sequences to group related steps and name nodes clearly.
- Test both branches — For every condition, verify the Yes and No paths.
- Prefer simple conditions first — Query parameters are faster than Script Rules when they’re enough.
- Avoid very long chains — Long flows are harder to debug and can affect load.
Troubleshooting
Events not firing
Events not firing
page_events.Conditions always Yes or always No
Conditions always Yes or always No
Content or popup not updating
Content or popup not updating
Page not loading or redirecting wrong
Page not loading or redirecting wrong