Skip to content
  1. Extras
  2. PageBuilder
  3. Frontend output
  4. Snippets
  5. PageBuilderUtmSession

PageBuilderUtmSession snippet ​

Writes UTM parameters from the query string into $_SESSION['utm']. Used with section visibility rules (settings.utm in the document JSON).

Purpose ​

Keep campaign tags on first visit so PageBuilder can show or hide sections by UTM in the same request and later in the session.

When to call ​

The PageBuilder plugin already captures UTM on OnHandleRequest in the web context. Use the snippet if:

  • the plugin is disabled on some templates;
  • the session starts after the plugin event;
  • you want an explicit call in the layout.

Place it before PageBuilder in the site header or base layout chunk.

Parameters ​

No properties. Call with no arguments.

Call ​

modx
[[!PageBuilderUtmSession]]
fenom
{'!PageBuilderUtmSession' | snippet}

What is stored ​

QuerySession
?utm_source=google$_SESSION['utm']['source'] = 'google'
?utm_campaign=sale$_SESSION['utm']['campaign'] = 'sale'

Keys are normalized to lowercase. Empty values are ignored.

Parameter registry and defaults live in CMP UTM. Section visibility rules are set in the inspector Visibility dialog (pagebuilder_inspector_visibility_enabled), not on the UTM tab.

Field placeholders ​

Url and button fields support {{utm:key}} (substituted at render). See CMP → UTM.

See also ​