Docs → CORA Compose
Core Features
CORA Compose
Persona-based content personalization for WordPress. Show different content to different audiences on the same page, without creating separate URLs.
On this page
How it works
CORA Compose lets you define personas — audience segments like Prospective Student, Parent, or Current Student — and show different block content to each one on the same page.
A visitor’s persona is determined automatically through a 7-tier priority system: explicit self-identification wins, followed by URL parameters, user roles, detection rules, and behavioral scoring. If no persona is detected, the default content is shown. Persona state persists across pages via cookie.
Adding a Persona Content Block
- In the block editor, search for Persona Content and add it to your page
- Write your default content in the Default tab — shown to visitors when no persona is detected
- Switch to a persona tab (e.g. Prospective Student) and write variant content for that audience
- Repeat for each persona you want to target
- Publish — visitors automatically see the correct version
The Persona Content block supports nested blocks — headings, paragraphs, images, buttons, and any other standard block can live inside a persona tab.
Always write the Default tab first. It’s the fallback and typically the highest-traffic version.
Detection & scoring
CORA Compose uses a 7-tier priority hierarchy to assign a persona:
- Preview mode (editors only) — 100% confidence
- Explicit cookie (self-identified via flyout) — 100% confidence
- URL parameter (
?persona=X) — 95% confidence - User role (logged-in WordPress users) — 90% confidence
- Detection rules + behavior scoring — variable confidence
- Inferred cookie (past behavior) — 60% confidence
- Default persona — 0% confidence (fallback)
Detection rules
Rules are configured in CORA Compose settings and fire immediately when a visitor matches a condition. Supported rule types:
- Referrer domain or URL (e.g. visitors from commonapp.org → Prospective)
- IP range (e.g. campus network → Current Student)
- Geographic country
- URL parameters
- Page path patterns
- Visit count thresholds
Behavior scoring
Over multiple visits, CORA accumulates behavioral scores per persona based on browsing patterns. When both rules and behavior data exist, rules carry 40% weight and behavior carries 60%. If they agree on a persona, a +20 confidence bonus is applied. A persona is assigned when combined confidence meets the configured threshold (default: 50%).
The Smart Flyout
An optional, non-intrusive prompt that asks engaged visitors to self-identify their persona:
- Appears after 2 or more page views in the same session
- Shows a “Help us personalize your visit” message with persona selection buttons
- Auto-minimizes to a small tab after 15 seconds if ignored
- Self-identification sets an explicit cookie (100% confidence) and overrides all automatic detection
Enable or disable via Settings → CORA Compose → Smart Flyout.
Admin bar preview
When logged in, a CORA Compose dropdown appears in the frontend admin bar. Use it to preview any page as any persona without affecting visitor tracking or behavioral scoring. Preview mode persists across pages via a separate cookie.
Analytics & GTM
CORA Compose pushes the following events to window.dataLayer:
persona_updated— fires when a persona is assigned or changed. Includes asourceproperty:algorithm,self_identified, orexplicitpersona_flyout_dismissed— fires when the Smart Flyout is closed without selection
Settings reference
Found under Settings → CORA Compose:
- Frontend Detection — enable or disable automatic persona detection
- Smart Flyout — toggle the self-identification prompt
- Visitor Tracking — store anonymized visitor data per persona
- Cache Mode — server-side or client-side rendering (client-side recommended for cached pages)
- Detection Threshold — minimum confidence score to assign a persona (0–100, default 50)
Default personas
CORA Compose ships with default personas for higher education. These can be renamed or replaced for any industry:
- Prospective Student
- Parent / Family
- Current Student
- Alumni
- Faculty / Staff
- Default (fallback — no persona detected)
Requirements
- WordPress 6.4+
- PHP 8.1+
