Complete walkthrough

From zero to personalized
in under 10 minutes.

This is the complete PersonaX customer journey — every step from creating your account to tracking revenue attribution across personas, running autonomous A/B tests, and detecting mobile carrier networks automatically.

11 phases covered
Real code snippets
Dashboard previews
Advanced features
01
GET STARTED· 2 minutes

Sign up for free

Go to your PersonaX instance and click Sign up free. Enter your email and a password — no credit card, no trial period timer. You're on the free plan with 10,000 sessions per month immediately.

🔒personax.yourdomain.com
Create your account
Free · 10,000 sessions/mo · No credit card
Email
you@company.com
Password
••••••••
Create Free Account
  • Instant access — no verification delay
  • Free plan: 10,000 sessions/month, 3 personas
  • Upgrade anytime from the Billing page
  • Data stays on your infrastructure if self-hosted
02
SETUP· 1 minute

Add your site

After signup you're taken to onboarding. Click Add Site, enter your site name and domain (e.g. mystore.com), and PersonaX instantly generates your unique API key. This key is what links your website to your account.

🔒personax.yourdomain.com/dashboard/sites
Create your first site
Site name
My Ecommerce Store
Domain
mystore.com
Your API Key
px_live_a8f3k2m9x1q7v5...
Keep this secret · Used in your embed script
  • One account can manage unlimited sites (paid plans)
  • Each site has its own API key, personas, and analytics
  • API key is also used for server-side / edge integrations
  • Rotate the key anytime from Site Settings if compromised
03
INSTALL· 2 minutes

Install the embed script

Copy one script tag and paste it into your site's <head>. That's it. Works with Shopify, WordPress, Next.js, Webflow, Wix, raw HTML — anything that renders HTML in a browser.

html — paste into every page's <head>
<script
  src="https://personax.yourdomain.com/embed/personax.js"
  data-px-key="px_live_a8f3k2m9x1q7v5..."
  defer
></script>
Shopify
Paste in Online Store → Themes → Edit code → theme.liquid inside <head>
WordPress
Use a plugin like 'Insert Headers and Footers' or edit header.php in your theme
Next.js
Add to app/layout.tsx inside the <head> tag, or use next/script with strategy='afterInteractive'
Google Tag Manager
Create a Custom HTML tag, paste the script, trigger on All Pages
Webflow
Site Settings → Custom Code → Head Code section
Cloudflare
Use the Edge endpoint for server-side injection before the page is delivered
Add data-px attributes to your HTML elements

PersonaX rewrites elements with data-px attributes. Add them to your headline, subheadline, and CTA:

html
<h1 data-px="headline">Default headline for all visitors</h1>
<p data-px="subheadline">Default subheadline text</p>
<button data-px="cta_text">Default CTA text</button>
  • Embed is ~8KB gzipped — no performance impact
  • Anti-flicker: content replaces instantly, no visible swap
  • Works with server-side rendered, SPA, and static sites
  • Verify install: green checkmark appears in Dashboard → Sites
04
PERSONALIZE· 5 minutes

Create your first persona

Go to Personas → New Persona. You have two options: use the AI Builder — type a plain-English description and the AI generates everything — or configure manually.

🔒personax.yourdomain.com/dashboard/personas
AI Builder prompt
"B2B companies visiting from LinkedIn or Google Ads — decision-makers at companies with 50+ employees who want enterprise connectivity and care about SLAs"
⟳ Generate persona
AI Generated:
Trigger rules
referral: linkedin.com · company_type: b2b · device: desktop
Headline override
Enterprise connectivity that scales with you
CTA override
Book enterprise demo →
A/B variant
Challenger: 'Trusted by 500+ enterprises'
What you can configure manually
Trigger Rules
Device, OS, country, region, referral URL, UTM params, time of day, day type, language
Content Overrides
Headline, subheadline, CTA text, CTA color, layout class, custom CSS variables, element selectors
Interest Keywords
Words in the URL path or page title that signal this persona (e.g. 'pricing', 'enterprise', 'api')
A/B Variants
Multiple versions of the content overrides — the AI Optimizer will test them and promote the winner
  • Create up to 3 personas on free plan (15 on Growth, unlimited on Scale)
  • Each persona can have multiple A/B variants
  • Personas are prioritized by weight — higher weight = more traffic
  • The AI Optimizer adjusts weights automatically based on conversion data
05
GO LIVE· instant

Watch it personalize

The moment a visitor lands on your site, PersonaX runs its detection pipeline in under 50ms. Here's exactly what happens under the hood on every page load:

1
Embed loads asynchronously0ms

The script fires after page content — zero render blocking. Anti-flicker CSS hides target elements until the decision is made.

2
Fingerprint computed8ms

Device type, screen resolution, timezone, language, referral URL, UTM params, and user agent are collected. No cookies written.

3
API call to /personalize22ms

A single lightweight POST to your backend with the fingerprint + page context. The backend resolves IP → GeoIP → Carrier → Company domain.

4
Persona matched38ms

Trigger rules evaluated in priority order. The first matching persona wins. Content overrides and variant returned.

5
DOM rewritten44ms

data-px elements are found and their text/HTML replaced with the persona's content_overrides. CSS variables applied.

6
Session recorded44ms

An impression is logged against the persona + variant. Conversion events fired later are attributed back to this session.

  • Total decision time < 50ms on median connection
  • Falls back gracefully if API unreachable — shows default content
  • Visitor fingerprint never leaves your infrastructure (if self-hosted)
  • Session ID stored in sessionStorage — clears on tab close
06
ANALYTICS· ongoing

Track what converts

Go to Analytics to see sessions and conversions broken down by persona. The Render Health tab tells you if your data-px selectors are actually finding and rewriting your elements.

🔒personax.yourdomain.com/dashboard/analytics
Sessions
12,847
Conversions
1,203
Conv. Rate
9.36%
Page Views
38,291
Persona breakdown
B2B Executive
14.2%
w:1.8
Mobile Consumer
7.8%
w:1
Default
3.1%
w:0.6
Overview
Sessions + conversions over time, daily chart, overall CVR
Persona Breakdown
Per-persona sessions, CVR, RL weight, traffic share
A/B Tests
Statistical significance, z-score, p-value, winner badge
Render Health
Are your data-px selectors finding and rewriting elements?
07
REVENUE· 30 minutes

Ecommerce & revenue attribution

Add 3 lines of JavaScript to your checkout flow and PersonaX will attribute every purchase to the exact persona and variant that was active during that session. See which variant drives the most actual revenue — not just clicks.

javascript — add to your checkout / payment flow
// When visitor adds something to cart
PersonaX.addToCart({
  product_id: "plan-growth",
  product_name: "Growth Plan",
  revenue_cents: 4900,  // $49.00
  currency: "USD"
});

// When checkout page loads
PersonaX.checkout({ revenue_cents: 4900 });

// After payment confirmed (e.g. in your webhook handler)
PersonaX.purchase({
  product_id: "plan-growth",
  product_name: "Growth Plan",
  revenue_cents: 4900
});

// Also available:
PersonaX.planViewed("Enterprise Plan");
PersonaX.subscriptionStarted({ revenue_cents: 19900 });
PersonaX.upsellAccepted({ product_name: "Add-on", revenue_cents: 999 });
🔒personax.yourdomain.com/dashboard/revenue
Total Revenue
$14,820
Purchases
302
Avg Order
$49.07
Cart→Purchase
23.4%
Revenue by persona
B2B Executive
$9,310
Mobile Consumer
$4,120
Vodafone Subscriber
$1,390
08
CRM· 1 hour

CRM-driven personalization

Import your customer list (CSV or API). When a known customer visits — detected by company domain or email — PersonaX enriches the persona decision with their lifecycle stage, MRR, and churn risk. This makes it possible to show completely different content to an at-risk customer vs. an active upsell target vs. a churned win-back.

json — CSV bulk import format
[
  {
    "email": "cto@bigcorp.com",
    "company_domain": "bigcorp.com",
    "company_name": "BigCorp Inc.",
    "lifecycle_stage": "at_risk",
    "plan_name": "Growth",
    "mrr_cents": 4900,
    "churn_score": 78
  },
  {
    "email": "admin@startup.io",
    "company_domain": "startup.io",
    "lifecycle_stage": "customer",
    "plan_name": "Starter",
    "mrr_cents": 900,
    "churn_score": 12
  }
]
at riskchurn: 78
"We miss you — here's 20% off your renewal"
CTA: Secure my account
customerchurn: 12
"Ready to unlock unlimited seats?"
CTA: Upgrade to Scale
churnedchurn: 95
"Come back — see what's new in PersonaX 5"
CTA: Start fresh
// PersonaX enriches every API response with CRM data:
result.crm = { lifecycle: "at_risk", plan: "Growth", churn_score: 78 }
PersonaX.getCRM() // access from your own JS too
09
AI OPTIMIZER· automated

Autonomous A/B testing

Click AI Optimizer → Run Now and walk away. The optimizer calls Claude AI to write challenger headlines and CTAs for each persona, creates new variants, and starts splitting traffic. When a winner reaches statistical significance (p < 0.05), it promotes the winner automatically and increases its traffic weight via reinforcement learning.

🔒personax.yourdomain.com/dashboard/optimizer
AI Optimizer — B2B Executive
Last run: 2 hours ago · Status: Significant winner found
✓ Winner Promoted
Control
"Enterprise connectivity that scales with you"
2,841 impressions8.2% CVR
ChallengerWINNER +79% lift
"Trusted by 500+ enterprise teams worldwide"
2,839 impressions14.7% CVR
z=4.21 · p=0.0001 · Confidence: 99.9% · Significant ✓
  • Runs automatically on a schedule or triggered manually
  • Uses Claude AI to generate contextually relevant challenger variants
  • Welch's t-test for statistical significance — not just gut feeling
  • Reinforcement learning adjusts traffic weights: winners get more, losers get less
  • Intelligence Reports give weekly AI-written summaries of what's working
10
TELCO· zero config

Carrier & network detection

Automatically detects the visitor's mobile carrier from their IP ASN — no configuration required. The carrier name and slug are available in your persona's content overrides via interpolation, and in the JavaScript API. Use it to show carrier-exclusive deals, partner pricing, or network-specific messaging.

30+ carriers auto-detected
· Vodafone
· AT&T
· T-Mobile
· Orange
· Telekom
· Verizon
· EE
· O2
· Three
· BT
· Comcast
· Charter
· Rogers
· Telus
· Bell
javascript — use in your JS
// Check carrier
const carrier = PersonaX.getCarrier();
// { slug: "vodafone-de", name: "Vodafone DE", asn: "AS3209" }

if (PersonaX.isMobileNetwork()) {
  showMobileOnlyOffer();
}

if (carrier?.slug === "vodafone-de") {
  // Show partner pricing
}
// Use in content_overrides via interpolation:
headline: "Exclusive deal for {{carrier_name}} subscribers"
11
ENTERPRISE· advanced

Edge personalization & team

For zero-flicker, server-rendered personalization: use the edge endpoint with Cloudflare Workers or Next.js Middleware. The response contains all persona configs so you can rewrite HTML before it's delivered to the browser — invisible to the visitor.

Cloudflare Worker
javascript
// Fetch persona config at edge
const res = await fetch(
  "https://personax.yourdomain.com/api/personalize/edge/px_live_...",
  { cf: { cacheTtl: 60 } }
);
const { personas } = await res.json();

// Rewrite HTML with HTMLRewriter
return new HTMLRewriter()
  .on("[data-px='headline']", {
    element(el) {
      el.setInnerContent(personas[0].headline);
    }
  })
  .transform(response);
Next.js Middleware
typescript
// middleware.ts
import { NextResponse } from "next/server";

export async function middleware(req) {
  const ip = req.headers.get("x-forwarded-for");
  const persona = await fetchPersona(ip, req.headers);

  const res = NextResponse.next();
  res.headers.set("x-px-persona", persona.id);
  res.headers.set("x-px-headline", persona.headline);
  return res;
}
Multi-site
Manage all your domains from one account. Each site has independent personas, analytics, and API keys.
Team roles
Invite teammates as Owner, Admin, Editor, or Viewer. Fine-grained access per site.
API tokens
Generate named API tokens for server-side integrations. Revoke instantly from the dashboard.
  • Edge endpoint returns full persona config — usable in any worker or middleware
  • Progressive profiling widget: one-click self-identification → instant persona switch
  • Product catalog: inject recommended product cards per persona via data-px='product'
  • Buyer Intelligence: company-level visit tracking with intent scores
  • Intelligence Reports: AI-generated weekly summary of what's working and what to fix
Ready to start?

Your first visitor is 10 minutes away.

Free plan. No credit card. Install the embed, create a persona, and watch PersonaX rewrite your site for every visitor in real time.