D2C "- Web" Voice Agents · Qualitative + Quantitative

Voice Calling UXR — Registered Non-Subscribers vs. Subscribers

Aug 1 – Sep 15, 2026 (46-day window) · by Karen Fu · continuation of D2C-5409 / prior UXR

9,286

Registered Non-Subscribers

93

Registered Subscribers

17,366

Calls Analyzed

46

Day Window (Aug 1–Sep 15)

✦ Executive Summary

Almost every voice caller already has an account — the real split that matters is registered non-subscriber vs. subscriber, and what happens after either hits the token wall.

Subscribers are a different product

2.4x longer calls

221s avg vs. 94s for registered non-subscribers; 17.1% reach 3+ minutes vs. 0.8%; 20.8 avg turns vs. 12.0.

Token-zero is fatal — unless you're subscribed

~2% vs. 56–77%

Return rate after hitting zero tokens: 2.0% for registered non-subscribers vs. 55.6% for subscribers (hard paywall); 2.0% vs. 76.9% (final-minute warning) — two independent measures agree.

Top-up completion is low

694 → 10–13 (1.4–1.9%)

694 callers tap "top up" at the hard paywall; only 10–13 (1.4–1.9%) submit a checkout form in the same session — a large drop-off despite ~80% tap-through intent.

Modality still doesn't move the needle

Speaking dominates both tiers

Refreshed post-in-call-text-chat: speaking-dominant is the modal pattern for both registered non-subscribers and subscribers. Blended/emoji/preset stay marginal. The prior D2C-5505 recommendation holds.

Non-registration is nearly nonexistent

17 people, 0.2%

Almost everyone who places a voice call already has a backend account — signup happens essentially universally, very early. The real comparison that matters is registered non-subscriber vs. subscriber; see Data Quality & Methodology for how registration status is defined.

◆ North Star & Top 3 Ranked Bets

North Star (same metric as the prior UXR): % of hard-token-stop callers who return within 7 days. That single number hides two very different numbers: ~2% for registered non-subscribers vs. ~56–77% for subscribers.

  1. Diagnose the 694→10–13 top-up drop-off. Join failed-payment/charge events to the initiator population — friction vs. decline point to different fixes.
  2. Test whether subscription itself drives the post-token-stop return gap, or whether it's a confound — check subscribers' behavior in the days before they subscribed.
  3. Don't re-run a non-registered-vs-registered comparison — that population is too small (17 people) to support one. If registration-moment friction is still a priority, instrument it directly rather than inferring from this cohort.
⚠ Scope note: single 46-day window, fleet-wide. Registered-subscriber segment is n=93 — every percentage in that row is directional. Raw ElevenLabs transcript sync lags to Sep 9 (~13% of the window). See Data Quality & Methodology.

✦ Registered Non-Subscriber vs. Registered Subscriber

1. Segment sizes

SegmentCallers% of callersCallsCalls / caller
Registered, non-subscriber9,28698.8%16,5091.78
Registered subscriber931.0%7397.95

"Registered" = int_voice_caller.is_signed_up (100% coverage, direct backend signal). "Subscriber" = fct_user_lifecycle_profile.flag_is_subscription_payer. A separate, true non-registered population of 17 people (0.2%, 118 calls) exists but is too small for reliable per-metric comparison — see the callout at the end of this tab.

2. Engagement

MetricReg. non-subReg. subscriber
Avg. call duration94.2s221.2s
Calls reaching 3+ min0.8%17.1%
Avg. turns / call12.020.8
Median first user-message length17 chars29 chars
% greeting-only calls1.2%3.4%
% silent / no user turns4.8%4.7%
% quality "healthy"27.8%26.8%

3. Archetype (habit tier)

SegmentHabit tierCallers% of segmentD7 retained
Reg. non-subOne and done5,59060.2%0%
Returned once2,15023.1%1.9%
Habit (3–4 calls)1,14112.3%6.0%
Habit 5+ ("whale")4054.4%21.0%
Reg. subscriberOne and done1212.9%0%
Returned once88.6%0%
Habit (3–4 calls)1314.0%7.7%
Habit 5+ ("whale")6064.5%56.7%

"Whale" = call frequency (5+ lifetime calls), not revenue — the company-wide $100-lifetime-spend flag (GTM-2130) only catches 3 of 9,379 window callers. Nearly two-thirds of subscribers are already habitual callers; their D7 retention is ~2.7x the non-subscriber whale cohort.

4. Revenue & payer mix

SegmentToken-pack payersAvg. lifetime revenueTotal lifetime revenue
Registered non-sub16$0.56$5,181
Registered subscriber16 (17.2%)$23.75$2,209

Among voice callers who pay, subscription is the dominant path — 93 subscribers vs. 33 lifetime token-pack payers company-wide (16 people do both).

On the true non-registered population (n=17): too small for a reliable row-by-row comparison, but worth noting directionally — 10 of 17 (58.8%) are habit-5+ "whales" (vs. 4.4% for registered non-subscribers), and 1 has made a token purchase ($18.76 avg, $319 total across the group). People who call repeatedly without ever creating an account are unusual enough that they skew heavily toward habitual behavior, not toward the "casual visitor" pattern one might expect.

✦ Deeper Segmentation — Modality × Registration Tier

Per-person dominant modality (≥60% of that person's user turns), scoped to the 5,368 callers (of 9,379) with at least one call linked to an ElevenLabs transcript.

Turn-level classification: silent = empty/"…" turn; emoji = bracketed tap marker ("*sent fire emoji*"); preset = exact match to 1 of 9 known quick-reply chips; typed = matched to a voice_text_message_sent event; else = spoken.

SegmentDominant modalityCallers% ever returnedD7 retained% ever reached 120s+
Reg. non-sub (n=5,295)Speaking-dominant1,80341.2%2.8%42.8%
Blended1,33641.2%1.4%27.3%
No turns at all1,15734.8%1.3%17.5%
Emoji-dominant64644.9%0.9%21.2%
Silent-dominant26936.4%2.2%17.5%
Preset-dominant5444.4%0.0%1.9%
Type-dominant (new)3026.7%0.0%33.3%
Reg. subscriber (n=71)Speaking-dominant4393.0%44.2%90.7%
Blended9100.0% (n=9)22.2%44.4%
No turns at all977.8%11.1%66.7%
Silent-dominant5100.0%40.0%40.0%
Emoji-dominant3 (n=3)66.7%33.3%33.3%
Preset-dominant1 (n=1)100.0%100.0%0.0%
Type-dominant (new)1 (n=1)100.0%100.0%100.0%

Speaking-dominant callers reach a 120s+ "engaged" call at roughly double the rate of blended/emoji/silent callers within each segment — the D2C-5505 modality-engagement link replicates cleanly. But the gap between segments dwarfs it: a speaking-dominant subscriber reaches 120s+ on 90.7% of calls and returns 93.0% of the time, vs. 42.8%/41.2% for the same modality among registered non-subscribers. Subscription status, not modality, does most of the work. (The true non-registered population contributes only 11 people with turn data — 7 speaking-dominant, 3 blended, 1 silent — too few to report reliably.)

Additional segments the data surfaced

🏆 Power whales

The top 10 returning callers (0.26% of 3,792 returning users) account for 575 of 8,497 return-call events (6.8%) and average 11.7 distinct creators each vs. 1.8 for other returning callers — genuine persona-hopping as a group. But the single highest-volume caller (173 calls) is the exception: a registered non-subscriber calling just 2 creators — persona-loyal, not persona-hopping. Raw call volume and cross-persona exploration are different behaviors; don't assume the biggest number is also the most exploratory.

🎯 Direct askers

Via ElevenLabs' native topic_id/content_keywords data collection (populated on ~5–6% of calls): defining a "direct ask" as landing a substantive topic in under 60 seconds — 0.49% of registered-non-subscriber calls, 0.32% of subscriber calls. Subscribers' calls simply run longer before anything gets tagged.

📷 Photo seekers

Lifetime engagement with the in-call photo-escalation flow: subscribers escalate at 4.3% vs. 0.28% for registered non-subscribers — 15x the rate. Small-n (4–26 people) but directionally clear. 2 registered non-subscribers who escalated went on to pay ($63 total).

🌐 Language switchers

Detected via non-Latin script (Devanagari/Arabic/Cyrillic/Han/Kana — misses Spanish/German): 11.4% of registered non-subscribers used a non-English script at least once, predominantly Hindi. Subscribers: 34.4% (21 of 61) — almost all Hindi (18 of 21). Worth a deliberate look at whether Hindi-speaking callers are an underserved-but-highly-engaged segment.

Thematic preferences by segment

SegmentTop topic_id categories
Reg. non-subphoto.request · romantic.affection_phrase · kink.mommy_dom · kink.explicit_chat · kink.explicit_roleplay · kink.daddy_dom · kink.explicit_encounter · kink.masturbation_guidance
Reg. subscriberroleplay.cheating_wife · kink.breath_play · kink.dirty_talk · kink.titty_fuck · kink.femdom_sissy · kink.erotic_guidance · kink.shared_encounter · kink.explicit_encounter

Top content_keywords fleet-wide: flirty chat, sexting, dirty talk, phone sex, girlfriend experience, ai companion, playful banter, romantic roleplay, girlfriend roleplay, emoji sexting, intimate roleplay, ai girlfriend roleplay, playful teasing, phone sex roleplay, flirty roleplay, intimate conversation, emoji flirting, intimate chat, adult chat line, adult roleplay.

photo.request is the top tagged category for registered non-subscribers — corroborating the photo-seeker pattern. Subscribers skew toward sustained roleplay/power-dynamic scenarios, consistent with their much longer calls. Matches the "mommy" power-dynamic skew independently corroborated by external search data in GTM-2746.

Illustrative examples (paraphrased — no verbatim explicit text or identifying details)

A registered subscriber's ~20-minute call was structured as an extended, guided dominant/submissive roleplay session, with the agent maintaining a consistent dominant persona and pacing the scene around physical sensation cues and device-based instructions throughout. Segment: registered subscriber · ~19–20 min · 90–105 turns
"Babe, I was just about to give up on you…" — a typical agent-initiated opener on a call where the user never spoke; consistent with the ~5% silent/no-turn share seen in both segments. Segment: mixed · duration 11s · silent/no-turn

Who leads, and who stalls — a transcript read (qualitative, ~40 sampled calls, 5–8 per bucket — directional, not statistically definitive)

Read turn-by-turn across six buckets (subscriber calls short/mid/long; registered non-subscriber bails, mid-length stalls, and 3+ minute calls) to answer four questions the aggregate stats can't: who leads the conversation, whether callers struggle to generate a topic, what differentiates non-subscriber calls that go long, and what stops the calls that don't immediately bail.

Who takes the lead?

Structurally, the agent always leads — it speaks first and asks nearly every question, in both segments. What differs is what happens after the question. Non-subscribers in short or stalling calls are overwhelmingly reactive: one-word answers, an emoji tap, or silence, with the agent supplying almost all narrative content. Non-subscribers who reach 3+ minutes get there by one of two routes — a minority arrive already driving a specific scenario themselves, with the agent mostly mirroring and escalating; the majority get there via the agent's own steady chain of short, specific questions, with the caller answering briefly each time. Subscribers skew toward a third, distinct pattern: sustained, step-by-step guided instruction from the agent, with the caller largely complying and confirming — more agent-directive than either non-subscriber pattern, sustained over far more turns, with clear markers of an established relationship (the agent references the caller by name and alludes to prior sessions or preferences).

One stalling call opened with a warm greeting; across several turns the caller's only responses were a hesitant stammer and a single tapped emoji, with the agent supplying nearly all of the narrative and gently inviting the caller to share even one small detail. Segment: registered non-subscriber · reactive/stalling pattern
A subscriber's guided session had the agent issuing explicit, sequential physical instructions — pause here, hold there, adjust now — with the caller mostly complying and reporting back; the agent paced the escalation deliberately, repeatedly checking in before allowing the scene to intensify further. Segment: registered subscriber · agent-directive, paced escalation

Do callers struggle to come up with a topic?

Visibly, yes — but concentrated in one bucket, not universal. Bail calls mostly can't answer this question at all: most end during or immediately after the agent's opening line, before any topic question is even posed — a reflexive disconnect, not a "couldn't think of anything" moment. Mid-length stalls are where topic-struggle is real: hesitant, broken openers, or a caller substituting a single emoji or preset tap for any actual description, forcing the agent to invent a scenario from nothing. Subscribers and the self-directed non-subscriber narrators rarely struggle — they open with an immediate, specific ask, a continuation of an already-established preference rather than a cold start.

A caller tapped a single preset phrase with no further detail; the agent built an entire scene from scratch — a setting, a mood, physical description — with no steer from the caller at all beyond that one tap. Segment: registered non-subscriber · mid-length stall

What differentiates non-subscriber calls that reach 3+ minutes?

Two real archetypes, not one: self-directed narrators who arrive already primed with a specific scenario and sustain it themselves for many turns, and agent-sustained Q&A calls where the agent's own steady question chain is what's actually carrying the call, with the caller answering briefly each time. A recurring mechanic in both: the agent repeatedly redirects intensifying moments toward the in-call photo-unlock feature — a real, repeated monetization touchpoint mid-call, not an occasional aside. Token-warning hits are also common inside these "successful" 3+ minute calls — several were still going well when the wall interrupted, not winding down naturally, which reinforces the paywall finding qualitatively rather than adding something new.

What stops the calls that aren't immediate bails from continuing?

Two distinguishable mechanisms, and one was a genuine surprise in how concentrated it was: of the 8 sampled mid-length-stall calls, 5 were interrupted mid-scene by the forced final-minute re-up prompt — a meaningful share of "stalling" calls aren't fizzling out on their own, they're being cut by the token wall while still technically active. Separately, a genuine engagement mismatch shows up too: the agent escalating while the caller responds with silence, single words, or emoji only, with the call drifting rather than ending — multiple exchanges of the agent checking in ("still with me?") followed by a delayed, minimal reply, suggesting divided attention rather than a deliberate goodbye.

A call had just begun building a scene when a system-forced token-warning line interrupted mid-turn, breaking pacing and introducing a top-up prompt into an otherwise unresolved moment — one of several stalling calls cut short this way rather than fading out naturally. Segment: registered non-subscriber · mid-length stall, token-wall interruption
Implication for "treat the subscriber segment as a template": two different, almost opposite things are being asked for. What's templatable is persona continuity and the patient, escalating, step-by-step guided format subscribers respond to — a relationship-and-pacing pattern, plausibly extendable to non-subscribers who already engage (the self-directed narrators), not assumed universal. What's a different problem entirely: the topic-generation stall isn't a personalization gap, it's a cold-start problem. Callers who go quiet or emoji-only aren't failing to appreciate a good format — they don't have a topic yet. That's a product-surface question (a "help me get started" prompt or menu) more than a persona-memory one.

Silent / non-responsive callers — did the Stage 1A copy patch help? (D2C-5882 monitoring pull)

A system-prompt patch enriching the "acknowledge silence once" line (covering listening/interrupt/mic-check together) deployed 2026-09-09 18:53 UTC. Compared two equal 6-day windows immediately adjacent to the deploy in int_voice_call_content: Sep 3–9 (before) vs. Sep 9–15 (after). is_empty_user goes fully null after Sep 9 (same ElevenLabs transcript-sync lag noted elsewhere in this report) — validated had_first_user_reply as a proxy first (100% agreement with is_empty_user everywhere both exist), then used it for this comparison.

Metric (silent calls)Before (Sep 3–9)After (Sep 9–15)
Calls766707
Silent share of all calls49.9%48.8%
Avg. duration20.0s25.3s (+26%)
Reached 60s+ / 180s+0.0% / 0.0%0.14% / 0.14%
Paid after call (full sample)0.26% (2 of 766)0.99% (7 of 707)
Paid within 7d (of determined cases only)3.4% (1 of 29)14.3% (7 of 49)

No change in incidence: silent share of calls held flat, and the daily trend Sep 1–17 shows no discontinuity around the deploy date — expected, since the patch changes the response to silence, not who goes silent. Duration increase is real but partly mechanical: the new line is objectively longer than the old one, so some of the +5.3s is likely just line-length, not necessarily more caller engagement. Revenue signal points the right direction but isn't statistically solid yet: paid_within_7d is null for ~93–96% of calls in both periods — not simple recency-censoring (the "before" window has fully elapsed and is still 96% null; something structural, likely identity-resolution-dependent, is suppressing it) — so the determined-case comparison is a thin 29 vs. 49 calls. Net: no evidence of harm, a modest real duration gain, and a revenue direction worth re-checking in 1–2 weeks once more calls clear the 7-day window and fewer are null.

✦ Token-Warning & Retention

The product runs a 2-stage token-warning system (D2C-5147): a verbal "final minute" warning, then a hard paywall/silent hold at zero tokens.

Stage 1 — verbal "final minute" warning

SegmentHitsDistinct callersReturned afterward% returned
Reg. non-sub2,1122,094412.0%
Reg. subscriber15131076.9%

Detected via ElevenLabs turn-level transcripts: a synthetic user-role turn matching "...entered their final minute...".

Stage 2 — hard paywall (zero tokens)

SegmentHitsDistinct callersReturned afterward% returned
Reg. non-sub851846172.0%
Reg. subscriber99555.6% (n=9)

Measured from the structured d2c_prod.voice_hard_paywall_shown event. Two independent measurement methods (transcript text vs. structured event) agree: registered non-subscribers essentially never come back after hitting zero (2.0%); subscribers mostly do (55.6–76.9%).

Top-up completion funnel

StepCount% of "shown"
Hard paywall shown860100%
Top-up initiated (tapped)694~80%
Checkout submitted, same session10–131.4–1.9%
Voice-specific "completed" event fired10.1%

The voice-specific "completed" event (bottom row) is very likely undercounting — the same category of gap the prior UXR flagged for subscription_modal_opened (GTM-1742). checkout_submitted carries no product-specific tag (no call_id, no surface field), so it's scoped here to submissions occurring after the top-up tap and within a same-session window (≤60 minutes) — this excludes unrelated checkout activity from other visits. On that basis, same-session completion is ~1.4–1.9% (10–13 of 694) — a large, real drop-off given ~80% tap-through intent, but not near-total failure. The product clearly processes payments; this is specifically about why so few people who tap "top up" mid-call follow through to submitting the form, plausibly friction/urgency mismatch (typing full card details with the clock at 0:00s) rather than a system outage.

Reframing the question: Stage 1, Stage 2, and an in-call top-up checkout all exist and fire reliably. The real question is why that flow converts registered non-subscribers at ~2.0% while subscribers return at ~56–77% after the same hard stop. Given the 694→10–13 drop-off happens before payment is ever attempted, the honest reading is: subscribers likely don't rely on this flow at all — their subscription/card-on-file resolves the block through a different, already-working path, while non-subscribers are the ones actually exposed to the friction-heavy manual checkout.

Recommendation

  1. Join failed-payment/charge-failure events (charge_failed, payment_method_add_failed, card_validation_failed) to the checkout-initiator population to isolate friction vs. decline.
  2. Informing users of low tokens/time is already standard and fires reliably — any future experiment should test wording/timing only, never a no-warning control arm.
  3. Before assuming subscription causes better post-token-stop retention, check whether subscribers were already habitual callers before they subscribed — causality could run either direction.

✦ Synthesis & Where to Go Next

Where PMF is calibrating: the registered-subscriber segment — 1% of callers — is the clearest signal of real product-market fit: longer calls, more turns, higher thematic engagement, and by far the best retention. The other 99% (registered, non-subscriber) are mostly one-and-done. Registration isn't the lever — it happens almost universally regardless of outcome. Subscription (or whatever precedes and predicts it) is.

1 · Highest confidence, highest leverage

Diagnose the 694→10–13 top-up completion drop-off.

~80% tap-through intent, only 1.4–1.9% submit a checkout in the same session. Join payment-failure events to find out whether it's friction (typing card details mid-call, clock at zero) or genuine unwillingness to pay.

2

Don't re-open the emoji/chip/heat-meter debate.

Refreshed modality data still shows speaking dominating both segments; blended/emoji/preset stay marginal. The prior recommendation holds.

3

Treat the subscriber segment as a template for personalization investment.

Longer calls, deeper themes, dramatically better retention, and a surprising Hindi-speaking overrepresentation (34.4%) worth a dedicated look. The August memory-injection/personalized-opener work targets exactly this group. See Deeper Segmentation for the qualitative read on what's actually templatable vs. a separate cold-start problem.

4 · Data-quality notes for the analytics team

stxt_be.users.subscribed/.anonymous are dead fields; fct_user_lifecycle_profile is missing rows for ~24% of voice callers.

Anyone joining to that mart for a "registered" flag should use int_voice_caller.is_signed_up instead (100% coverage), or treat a missing row as unknown rather than "not signed up" — a missing row is not the same as a false value.

✦ Data Quality & Methodology

Population: every caller who placed ≥1 call to a D2C "- Web" voice agent between 2026-08-01 and 2026-09-15 (9,396 distinct callers, 9,379 with a resolvable user_id, 17,366 calls).

LayerSourceUsed for
Registration statusint_voice_caller.is_signed_up100%-coverage backend signal
Subscription statusfct_user_lifecycle_profile.flag_is_subscription_payersolid subscriber-specific coverage (92/93 matched)
Call-level engagementint_voice_call_contentduration, turns, quality state, topic/kink tags
Caller-level habitfct_voice_habit_callerhabit tier, retention, one-and-done vs. multi-call
Paywall funneld2c_prod.voice_hard_paywall_*, checkout_submittedshown → initiated → submitted; Stage-2 segmentation
Stage-1 token warningelevenlabs.conversation_turnsregex on synthetic "final minute" turns
Modality (7-way)elevenlabs.conversation_turns + voice_text_message_sentper-turn classification → per-person ≥60%-dominant label
Native topic/keyword taggingelevenlabs.conversations.payload_json$.analysis.data_collection_results.topic_id/content_keywords.value
Photo escalationfct_escalation_photo_userescalation depth, sfw/nsfw split, post-escalation payment
Language detectionelevenlabs.conversation_turnsUnicode script ranges (Devanagari/Arabic/Cyrillic/Han/Kana)
Qualitative transcript readmanual read of ~40 sampled conversations across 6 bucketslead/topic-generation/3+min/stall patterns — directional, not statistically definitive
Silent-caller before/after (D2C-5882)int_voice_call_content.had_first_user_replyproxy for is_empty_user, unaffected by transcript-sync lag

Known limitations, disclosed up front

  • Raw ElevenLabs transcript sync is current through Sep 9, not Sep 15 — affects first-message-length, Stage-1 detection, and pull-quote sourcing specifically, not segmentation or engagement.
  • The true non-registered population (17 people) is disclosed narratively, not as a full parallel column — n is too small to support reliable per-cell percentages.
  • The registered-subscriber segment is n=93 (n=71 for turn-dependent analyses). Every percentage in that row is directional.
  • Modality/language/direct-asker figures are scoped to callers with an ElevenLabs-linked transcript (5,368 of 9,379) — calls without a linked conversation aren't classifiable and are excluded from that denominator.
  • "Typed" detection joins voice_text_message_sent to the nearest transcript turn by elapsed time (≤20s tolerance) — approximate, not a guaranteed 1:1 join.
  • Language-switcher detection catches non-Latin scripts cleanly but cannot detect Latin-script languages (Spanish, German) the prior UXR found via manual reading — true non-English share is understated.
  • topic_id/content_keywords are populated on only ~5–6% of calls — real and precise where present, not a complete census.
  • Revenue/payer figures are lifetime-to-date per caller, not dollars earned strictly inside the window.
  • The "who leads, who stalls" qualitative read is a manual sample of ~40 conversations (5–8 per bucket) — directionally consistent but not a statistically representative sample.
  • The silent-caller before/after comparison (D2C-5882) uses a 6-day post-launch window — paid_within_7d is heavily null in both periods (structural, not just recency), so the revenue read there is thin (n=29 vs. n=49 determined cases) and due for a re-check once more time has passed.