FullStory
Ometria
Integration Value Story
FullStory
×
Ometria

Behavioral Intelligence
Meets Marketing Orchestration

Ometria knows what customers bought. FullStory knows how they felt doing it. This document maps every technically verified integration path between the two platforms and the customer value unlocked at each layer.

✓ All surfaces verified against live documentation 3 Integration Paths 6 ROI Scenarios

The behavioral layer that retail marketing has been missing

Retail marketing platforms like Ometria are exceptional at acting on what customers did — purchases, email opens, basket abandonment. They have never had visibility into how customers experienced those moments: the friction, hesitation, and intent signals that appear before a transaction, or explain its absence.

FullStory captures that behavioral layer at pixel fidelity. Three verified integration paths exist to connect FullStory's signals into Ometria's campaign engine — each serving different use cases, latency requirements, and organizational maturity.

The strongest path is deployable today. Together, these integrations enable a new class of retail marketing: campaigns that respond to experience, not just transactions.

Marketing automation has a behavioral blind spot

Retail marketing platforms receive structured outcome events. They have no window into the session experience that precedes or explains those outcomes.

What Ometria Can't See

The Experience Layer

Ometria receives orders, product views, basket changes. It cannot observe the session between those events — the experience that drove them or prevented them.

  • Rage clicks on a broken promo code field
  • 10 minutes on a PDP with no add-to-cart
  • Form error loops at checkout
  • Scroll depth and genuine attention patterns
  • The moment of hesitation before abandonment
  • Mobile tap frustration on a size/color selector
  • Session context that explains a missing order
What FullStory Captures

The Behavioral Data Layer

FullStory observes every interaction at pixel fidelity and surfaces structured behavioral signals — identifiable, attributable, and actionable.

  • Frustration signals: rage clicks, dead clicks, error clicks
  • Engagement depth: scroll, dwell, attention scoring
  • Funnel friction: form errors, step abandonment by stage
  • Intent signals: product affinity, category dwell
  • Custom behavioral events via the Behavioral Data Layer
  • Predictive scores via FS Anywhere Warehouse + ML
  • Session replay URLs linkable to individual profiles
Three integration surfaces

Each path is assessed against confirmed capabilities on both sides. No endpoints, behaviors, or features are assumed beyond what is documented.

FullStory Behavioral Data Layer (BDL): Now available through FullStory's early adopter program. The BDL surfaces structured behavioral signals from raw session data as a queryable, subscribable data stream — enabling real-time behavioral context to power downstream integrations. The client-side path below is live today for early adopters.
01

Server-Side: FullStory Anywhere → Ometria REST API

FS Anywhere Activations fire behavioral signals directly to Ometria's push endpoint

Strongest Path
Data Flow
🔍

FullStory Detects Signal

Behavioral event fires in FS: rage click on checkout, form error loop, session abandonment pattern, high-intent dwell on a PDP.

FS Anywhere Activation

Server-Side Activation Fires

FS Anywhere sends a server-to-server POST to Ometria's push endpoint with behavioral payload and identified user.

POST /v2/push
📨

Ometria Receives Custom Event

Event lands on the contact profile with typed properties: signal type, page URL, FS session replay URL, frustration score.

@type: custom_event
🎯

Automation Campaign Triggered

Ometria enters the contact into a campaign flow: rescue email, SMS recovery, retention sequence — personalized by the event's properties.

Campaign Entry
Capabilities & Constraints
Custom events trigger automation campaigns Any custom_event type can serve as a campaign entry trigger in Ometria's automation flows.
Rich event properties Events carry string, number, boolean, date, or product list properties — session replay URL, signal type, frustration score, page, element.
Contact enrichment in the same API call Same push request can update contact properties (frustration_score, last_signal_type) alongside firing the event.
Timestamp must be current Events with past timestamps will NOT enter the contact into an automation flow. Always use the current time.
Async queue — near-real-time Ometria's push endpoint is asynchronous. Events are queued, not applied instantly. Expect seconds to low-minute lag.
Cannot influence Ometria's personalization engine FS signals cannot alter Ometria's recommendation engine output in real time via this path.
// FullStory Anywhere → Ometria push payload { "@type": "custom_event", "event_type": "fullstory_checkout_friction", "timestamp": "<current ISO timestamp>", "identity_email": "[email protected]", "properties": { "signal_type": "rage_click", "page_url": "/checkout/payment", "frustration_score": 87, "session_replay_url": "https://app.fullstory.com/..." } }
02

Warehouse: FS Anywhere Warehouse → ML Scoring → Ometria

Batch behavioral intelligence enriches Ometria contact attributes and powers dynamic segment-driven campaigns

Viable — Batch
Data Flow
🏗️

FS Anywhere Warehouse Exports

FullStory behavioral features land in Snowflake: session counts, funnel completion rates, engagement depth, frustration frequency per user.

FS Anywhere Warehouse
🧠

ML Models Score Contacts

Models trained on FS + transaction data produce: churn risk score, CLV tier, next-best-action label, product affinity vector.

Snowflake ML / dbt
📤

Scores Written to Ometria

Batch job pushes scored contacts via REST API. Properties like churn_risk_score and nba_action populate Ometria contact profiles.

POST /v2/push (contact)
🎯

Dynamic Segments Update

Ometria's dynamic segmentation re-evaluates against updated contact properties, auto-populating "High Churn Risk" and "Top CLV" segments for campaign entry.

Dynamic Segmentation
Capabilities & Constraints
Richest signal surface Full behavioral history informs the model — not a single event, but patterns across all sessions over time.
Feeds Ometria's native dynamic segments Score properties automatically re-qualify contacts into segment-driven campaigns without manual list management.
Snowflake is a confirmed Ometria integration Bidirectional Snowflake sync is documented — Ometria can both export to and import from Snowflake.
Snowflake integration is commercially gated Must be enabled by Ometria CSM. Not self-serve. Factor into scoping conversations.
Batch latency — hours, not seconds Not suitable for in-session activation. Best for lifecycle, retention, and CLV-based campaigns.
Cannot force dynamic segment membership via API Dynamic segments are computed by Ometria internally. Only static segments accept API-pushed membership.
03

Client-Side: FS Behavioral Data Layer → Ometria JS SDK

In-browser behavioral signals enrich Ometria contact profiles via the JS tracker — available now through FullStory's early adopter program

Early Adopter — Available
Data Flow
👁️

FS BDL Emits Behavioral Signal

The FullStory Behavioral Data Layer surfaces a structured signal in the browser — frustration threshold crossed, high-intent dwell detected, funnel stage abandoned.

FS Behavioral Data Layer
📡

Glue Code Calls Ometria SDK

Page-level integration code subscribes to BDL events and calls Ometria's tracker with behavioral context passed as custom properties to identify().

ometria.identify()

Profile Updated Post-Session

BDL fires the signal in 1–3 seconds. However, Ometria applies custom properties from identify() only after session completion (~30-min delay on Ometria's side). Properties feed dynamic segment rules and downstream campaign personalization.

Contact enrichment (post-session)
Capabilities & Constraints
Available now — FS early adopter program The Behavioral Data Layer is live for early adopter customers. This is not future state.
No server infrastructure required Pure browser-to-browser. Both SDKs run on-page. Zero backend activation layer needed for this path.
Always-on profile enrichment Even with the post-session delay, properties like fs_frustration_flag update before the next Ometria send cycle — improving ongoing segmentation without any manual work.
Ometria applies identify() properties ~30 min post-session FullStory's BDL fires in 1–3 seconds — the delay is entirely on Ometria's side. Contact properties from identify() are not written until ~30 minutes after the session ends. For real-time campaign triggering, combine with Path 01.
Cross-SDK call is not formally documented by Ometria Calling ometria.*() from third-party JS works in practice but is fragile to Ometria SDK updates. A thin wrapper is advisable.
Latency profile by path

Match each integration path to the right use case based on how quickly a behavioral signal needs to become a marketing action.

03 — BDL Client-Side
1–3 sec
01 — Server-Side Anywhere
~30–90 sec
02 — Warehouse / ML
2–24 hours
What gets unlocked

Each scenario represents a campaign type Ometria natively supports — now powered by FullStory behavioral intelligence rather than transaction events alone.

🛒

Frustrated Checkout Rescue

Rage clicks, form error loops, or payment dead-ends trigger a personalized recovery — not a generic abandonment email.

1
FS detects rage click / form error loop on checkout
2
Anywhere fires: fullstory_checkout_friction
3
Ometria enters contact into "Friction Rescue" automation
4
Email: "We noticed trouble" + session replay URL for CS
ROI Driver

Generic abandonment emails convert ~3–5%. Frustration-contextualized recovery — with offer + acknowledgment of friction — routinely outperforms by 2–4×. Session replay URL lets CS intervene proactively.

📉

Behavioral Churn Prediction

Engagement decline in session data predicts churn weeks before a customer goes silent — earlier than any transactional signal.

1
FS Warehouse: session frequency, depth drop over 14 days
2
ML scores contact: churn_risk = 0.84
3
Score written to Ometria contact property via API
4
Dynamic segment triggers 3-touch retention campaign
ROI Driver

Behavioral churn signals fire 2–3 weeks before purchase-gap signals. Earlier intervention = higher retention rates. Models trained on FS + Ometria transaction data consistently outperform RFM-only models for churn prediction.

🔥

High-Intent Dwell Detection

Extended, focused PDP dwell with no cart action signals unresolved consideration — the exact moment for a personalized nudge.

1
FS: 4+ min on single PDP, high scroll, no add-to-cart
2
Anywhere fires: fullstory_high_intent_dwell + product_id
3
Ometria triggers "Consideration Nudge" with that product
4
Email/SMS: "Still thinking about [product]?" + social proof
ROI Driver

Traditional browse abandonment triggers on any PDP view. Dwell-qualified triggers fire only on genuinely interested contacts — higher precision means higher revenue per send and lower unsubscribe rates.

🎯

Next Best Action via ML Scoring

FS Warehouse ML models predict the highest-ROI action per customer — cross-sell, upgrade, loyalty enrollment — and Ometria delivers it.

1
FS Warehouse: behavioral features joined with Ometria order history
2
ML: nba_action = "loyalty_enrollment", confidence 0.91
3
Contact property updated; NBA segment populates
4
Ometria delivers targeted loyalty enrollment campaign
ROI Driver

Loyalty-enrolled customers spend 2–4× more annually. Models that incorporate behavioral engagement — not just transactions — identify enrollment candidates earlier and with materially higher precision.

📞

CS-Assisted Recovery with Session Replay

Ometria automation surfaces FS session replay URLs to CS agents, enabling proactive outreach with full context on what went wrong.

1
FS detects critical frustration for a high-CLV contact
2
Event payload includes session_replay_url property
3
Ometria automation fires internal notification with replay link
4
CS agent reaches out: "We saw you had trouble — here's a fix"
ROI Driver

Proactive CS outreach before a complaint is filed dramatically improves NPS and retention for high-CLV customers. Session replay gives agents full context without asking the customer to re-explain their experience.

📱

Mobile UX Friction → Cross-Channel Recovery

Mobile tap frustration and navigation dead-ends trigger a cross-channel response with a direct bypass path to completion.

1
FS Mobile: repeated tap errors on size/color selector
2
Anywhere fires: fullstory_mobile_friction + device + element
3
Ometria triggers cross-channel: push + email sequence
4
"Continue on desktop" deep-link bypasses the friction point
ROI Driver

Mobile UX bugs silently destroy conversion with no visible signal in analytics. Ometria's SMS + push channels can immediately re-engage with a friction-bypassing path, recovering revenue that would otherwise appear as unexplained abandonment.

FullStory signal → Ometria data model

Both the event and contact payloads are free-form within Ometria's documented type constraints. This is the canonical field mapping for the primary server-side integration.

FullStory

FullStory Signal Payload

signal_typestring
frustration_scorenumber (0–100)
session_replay_urlstring (URL)
page_urlstring
element_targetstring
device_typestring
user_emailidentity key
session_timestampISO datetime
maps
to
Ometria

Ometria Push Payload

properties.signal_typestring ≤ 512 chars
properties.frustration_scorenumber
properties.session_replay_urlstring ≤ 512 chars
properties.page_urlstring ≤ 512 chars
properties.element_targetstring ≤ 512 chars
properties.device_typestring ≤ 512 chars
identity_emailcontact identity key
timestampISO datetime (must be current)
Property budget: Ometria contact properties must be under 1KB combined. Event properties support string (512 char max), number, boolean, date, or products_list. Prioritize signal_type, frustration_score, and session_replay_url — these three fields carry the highest campaign value. Additional context can be encoded in the event_type name (e.g. fullstory_checkout_friction_ragclick).
Ometria integration surface — verified capabilities

All entries verified against Ometria developer docs (docs.ometria.com) and support documentation. Nothing is inferred.

Capability Available Method Notes
Write custom behavioral events Yes POST /v2/push (@type: custom_event) Triggers automation campaigns; timestamp must be current
Write contact profile attributes Yes POST /v2/push (@type: contact) Free-form properties object; <1KB combined
Add contact to static segment Yes @add_to_lists in contact push Static segments only; max 16 per push
Trigger automation campaign entry Yes Custom event with current timestamp Automation must be configured with that event_type as entry trigger
Receive inbound webhooks from FS No No open inbound webhook URI. Use REST API push endpoint instead.
Force dynamic segment membership No Dynamic segments computed by Ometria internally; cannot be overridden via API
Inject signals into recommendation engine No Personalization engine is Ometria-internal; no external signal injection documented
Real-time streaming ingest No Push endpoint is async queue; near-real-time at best (~30–90s)
Snowflake bidirectional sync CSM Gated Snowflake Data Cloud connector Bidirectional confirmed; requires CSM enablement, not self-serve
BigQuery integration No Not a documented native Ometria integration
Receive webhooks FROM Ometria to FS Yes Automation campaign webhook node Ometria can POST to any HTTPS endpoint; requires commercial CSM enablement
Read contact / segment data Yes GET /contacts, /lists, /profiles Read-only; rate limited at 4 req/sec
JS SDK cross-call from FS BDL Partial ometria.identify() from page JS Works in practice; not formally documented by Ometria; BDL fires in 1–3s but Ometria applies identify() properties ~30 min post-session

Build in three tiers — ship the cleanest win first

The server-side path is the only integration that is technically clean, documentable on both sides, and activation-grade today. Lead with it. Layer in BDL enrichment as an always-on second signal, and warehouse intelligence as the ML story matures.

Tier 1

Server-Side Activation — Ship First

FullStory Anywhere fires behavioral custom events to POST /v2/push. Ometria enters contacts into campaigns based on frustration signals, high-intent dwell, and abandonment patterns. Both sides fully documented. Demo-ready and customer-ready with no external dependencies.

Tier 2

Behavioral Data Layer (Client-Side) — Always-On Enrichment

Available now through FullStory's early adopter program. The BDL path runs as a continuous profile enrichment layer alongside Tier 1 — updating Ometria contact attributes with behavioral context after each session. No server infrastructure required. Best positioned as a complement to server-side activation, not a replacement.

Tier 3

Warehouse ML Scoring — Add Predictive Depth

FS Anywhere Warehouse + Snowflake + ML models produce behavioral scores (churn risk, CLV tier, next-best-action) that enrich Ometria contact profiles and power dynamic segment-driven campaigns. Requires Snowflake CSM enablement on the Ometria side. Highest analytical depth; best suited to customers with existing data science capability.