Skip to content

Personalized Product Pages with ODP and Commerce

⏱ 45 minutes intermediate

A product page that shows the same content to every visitor misses conversion opportunities. A first-time browser needs social proof and education. A repeat purchaser wants quick reorder options and loyalty pricing. A high-value customer expects curated cross-sells, not generic “customers also bought” blocks.

ODP captures browsing behavior, purchase history, and engagement patterns into unified customer profiles. Commerce manages your catalog, pricing, and inventory. CMS controls the page layout and content blocks. This recipe connects all three so product pages respond to who is viewing them.

┌────────────────────────────────────────────────┐
│ Visitor browses product page │
└───────────────────────┬────────────────────────┘
┌────────────────────────────────────────────────┐
│ ODP Segment Lookup │
│ Query real-time profile: purchase history, │
│ browse frequency, lifetime value tier │
└───────────────────────┬────────────────────────┘
│ segment membership
┌────────────────────────────────────────────────┐
│ CMS Visitor Groups │
│ Map ODP segments to visitor groups: │
│ • "Loyal Buyer" → show loyalty pricing │
│ • "Category Browser" → show education │
│ • "New Visitor" → show social proof │
└───────────────────────┬────────────────────────┘
│ selected content variant
┌────────────────────────────────────────────────┐
│ Commerce Product Rendering │
│ Product data + personalized CMS blocks: │
│ hero banner, cross-sell grid, CTA style │
└────────────────────────────────────────────────┘

Step 1: Define ODP segments for commerce behavior

Section titled “Step 1: Define ODP segments for commerce behavior”

Create segments in ODP based on commerce-relevant behaviors:

SegmentCriteriaProduct page impact
Loyal Buyer3+ purchases in 90 daysShow loyalty pricing, quick reorder
Category Browser5+ product views, no purchaseShow comparison guides, reviews
Cart AbandonerAdded to cart, no checkout in 7 daysShow urgency messaging, discount
New VisitorFirst sessionShow brand story, trust signals

Step 2: Map ODP segments to CMS visitor groups

Section titled “Step 2: Map ODP segments to CMS visitor groups”

In CMS, create visitor groups that reference ODP segment membership. Each visitor group triggers a different product page layout.

Configure the ODP criterion in each visitor group to match the segment name created in Step 1. When a visitor arrives, the CMS evaluates their ODP profile and assigns them to the matching group.

Step 3: Create personalized content blocks

Section titled “Step 3: Create personalized content blocks”

Build CMS content blocks for each visitor group variation:

  • Loyal Buyer hero: Compact layout emphasizing loyalty tier and quick-add button
  • Category Browser hero: Expanded layout with comparison table and review highlights
  • Cart Abandoner hero: Standard layout with a limited-time discount banner
  • New Visitor hero: Brand-focused layout with trust badges and customer testimonials

Step 4: Configure Commerce product page template

Section titled “Step 4: Configure Commerce product page template”

Wire the CMS content blocks into the Commerce product page template. The template pulls product data (price, inventory, images) from Commerce and wraps it with the visitor-group-selected CMS blocks.

The product data remains constant across segments. Only the surrounding content — the hero banner, cross-sell logic, and CTA styling — changes based on the visitor’s ODP segment.

Test each segment by using ODP’s profile viewer to confirm segment assignment, then verify the correct content blocks render.

Track conversion rates per segment to confirm personalization improves outcomes. If a segment shows no lift, simplify back to the default layout for that audience.

This recipe fits when you have an established Commerce catalog with enough traffic to justify segment-specific layouts. If your product catalog is small or traffic is low, start with simpler personalization (featured product blocks) before investing in full segment-driven page layouts.