Skip to content

Visual Event Builder (No-Code)

The Event Builder (Settings → SignalRelay → Events) allows you to construct precise conversion rules without editing any PHP or JavaScript files.


Every SignalRelay rule consists of four components:

  1. Event: Choose a standard event (Lead, Contact, ViewContent) or type a custom event name. Custom event names are Free.
  2. Trigger:
    • Page Load (Free): Fires when a visitor loads a page whose URL contains a value, is exactly a value, or matches a regular expression. The dashboard offers URL conditions only; there is no category or taxonomy condition.
    • Form Submit (Free): Fires when a form matching a CSS selector (e.g. .wpcf7-form) is submitted.
    • Click Selector (Pro): Fires when users click a specific CSS selector (e.g. .btn-whatsapp or a[href*="wa.me"]).
    • Scroll Depth (Pro): Fires once per page view, the first time a visitor scrolls past the depth you set. Any whole percentage from 1 to 100 works. If consent arrives after the visitor already scrolled that far, the rule fires as soon as consent is granted.
    • Custom JS (Pro): Fires only when your own code calls window.signalRelay.track('EventName').
  3. Data Mapping: Attach fixed or dynamic values (such as currency, value, content_name). See Dynamic Event Values for the sources and which of them are Pro.
  4. Destinations: Toggle which connected advertising platforms should receive the event.

A Static row is your value, not the visitor’s. SignalRelay enforces it on the server for every event with that rule’s name, including events your own code sends with window.signalRelay.track(): the static value replaces whatever the browser sent for that key. A key that the rule also fills from another source (post meta, URL parameter, form field, JS variable or DOM text) is not forced.


A rule that could never fire is refused when you save it, instead of being saved as a rule that looks live and is not:

  • a Click or Form Submit rule with no CSS selector, or a Scroll Depth rule outside 1 to 100;
  • a Page Load URL condition with an empty value;
  • a URL regular expression that does not compile, or a CSS selector that is not valid.

Saving a rule as disabled is always allowed, so you can keep an unfinished draft.