Archetypes
An archetype is Jourvex's interpretation of the evaluation pattern a journey is showing. Two journeys can have the same intent score but completely different evaluator behavior. The archetype explains the context behind the score so you can respond differently depending on what is actually happening across the evaluation journey.
How archetypes work
Jourvex analyzes the signals across a journey and assigns the archetype that best matches the evaluator behavior being observed. The archetype is available in both the state object and the full journey response.
Archetypes are dynamic and can change as new sessions and signals are observed. A journey may move from one archetype to another as evaluation behavior evolves over time.
Use the archetype alongside
intent_state for more precise
branching. A high-intent journey with the
pricing_loop archetype needs
different messaging than a high-intent journey with the
high_intent_prepare archetype.
The score may be similar. The evaluation behavior is not.
window.jourvex.on("stateReady", function(journey) {
if (journey.archetype === "pricing_loop") {
// This evaluator keeps returning to pricing
// Help resolve hesitation or unanswered questions
const pricingFaq = document.getElementById("pricing-faq");
if (pricingFaq) {
pricingFaq.style.display = "block";
}
}
if (journey.archetype === "high_intent_went_cold") {
// This evaluator was previously active and then disappeared
// Surface a re-engagement prompt if they return
const reEngageBanner = document.getElementById("re-engage-banner");
if (reEngageBanner) {
reEngageBanner.style.display = "block";
}
}
if (journey.archetype === "high_intent_prepare") {
// Active evaluation happening right now
// Prioritize this journey immediately
const cta = document.getElementById("primary-cta");
if (cta) {
cta.textContent = "Start your pilot";
}
}
if (journey.archetype === "post_conversion_context") {
// The evaluator already converted
// Shift from acquisition to activation
const cta = document.getElementById("primary-cta");
if (cta) {
cta.textContent = "Go to your dashboard";
cta.href = "/dashboard";
}
}
});
Archetype reference
Jourvex currently supports four archetypes.
A journey will only return one archetype at a time.
If no archetype applies the field returns
null.
high_intent_prepare
This evaluator is deep in active comparison. They have a high intent score, multiple pricing interactions, and repeated evaluation behavior across sessions. This is one of the strongest active evaluation patterns Jourvex detects. These evaluators are showing clear buying intent signals in real time.
Intent score at or above the high threshold with repeated pricing engagement or other strong evaluation signals.
Prioritize this journey immediately. Swap your CTA to something direct. If enterprise behavior has been observed, route them toward your enterprise path. Push their journey into your CRM before the first sales touchpoint so your team has full evaluation context.
if (journey.archetype === "high_intent_prepare") {
// Strong active evaluation signal
const cta = document.getElementById("primary-cta");
if (cta) {
cta.textContent = "Start your pilot";
}
// Notify your backend
fetch("https://your-backend.com/jourvex/priority-alert", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
keepalive: true,
body: JSON.stringify({
journey_id: journey.journey_id
})
});
}
high_intent_went_cold
This evaluator was previously showing strong intent and then went quiet. Evaluation momentum fades quickly. Once activity drops off, re-engagement becomes significantly harder. This archetype is designed to surface journeys that may still be recoverable.
High intent behavior with no recent activity observed across the last several days.
Re-engage while the evaluation context is still fresh. If they return to your site, surface messaging tied to what they were evaluating previously. Push the journey into your outreach workflow and follow up using the specific pages, features, or pricing behavior that triggered the archetype.
if (journey.archetype === "high_intent_went_cold") {
// They returned after inactivity
const banner = document.getElementById("re-engage-banner");
if (banner) {
banner.style.display = "block";
}
fetch("https://your-backend.com/jourvex/cold-alert", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
keepalive: true,
body: JSON.stringify({
journey_id: journey.journey_id,
days_since_last_seen: journey.signals.days_since_last_seen
})
});
}
pricing_loop
This evaluator has repeatedly returned to your pricing page without converting. This is usually hesitation, unanswered questions, or internal comparison happening in real time. These evaluators are not casually browsing. Something is blocking the decision.
Repeated pricing interactions across sessions with no conversion event recorded.
Reduce ambiguity. Surface pricing FAQs, comparison tables, implementation details, or ROI information directly on the pricing page. If the evaluator also has a high intent score, consider surfacing a direct contact path to help resolve blockers immediately.
if (journey.archetype === "pricing_loop") {
const pricingFaq = document.getElementById("pricing-faq");
if (pricingFaq) {
pricingFaq.style.display = "block";
}
// Offer direct contact for high intent evaluators
if (journey.intent_state === "high") {
const contactOption =
document.getElementById("pricing-direct-contact");
if (contactOption) {
contactOption.style.display = "block";
}
}
}
post_conversion_context
This evaluator converted after a multi-session evaluation journey. The evaluation already happened before the conversion event. Most of the buying journey occurred before any form was submitted or any sales conversation began.
A conversion event detected after meaningful evaluation behavior has already been observed across the journey.
Stop showing acquisition-focused experiences. Use the reconstructed journey to understand what actually drove the conversion and carry that context into onboarding, activation, and sales follow-up. Treating this evaluator like a brand new lead after conversion ignores the full evaluation history Jourvex already reconstructed.
if (journey.archetype === "post_conversion_context") {
// Stop showing acquisition CTAs
const cta = document.getElementById("primary-cta");
if (cta) {
cta.textContent = "Go to your dashboard";
cta.href = "/dashboard";
}
// Push journey context to your backend
fetch("https://your-backend.com/jourvex/conversion-context", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
keepalive: true,
body: JSON.stringify({
journey_id: journey.journey_id
})
});
}
When archetype is null
If no archetype applies, the field returns
null. This is normal for
early-stage journeys that have not yet accumulated enough
evaluation signal for a stronger interpretation.
In these cases, use
intent_state as your primary
branching signal until more evaluator behavior is observed.
window.jourvex.on("stateReady", function(journey) {
// Always check for null before branching
if (journey.archetype) {
// Archetype-specific logic
} else {
// Fall back to intent_state
if (journey.intent_state === "high") {
const cta = document.getElementById("primary-cta");
if (cta) {
cta.textContent = "Start your pilot";
}
}
}
});
More archetypes coming
Jourvex evolves archetypes as new evaluation patterns emerge across real-world journey data. If there is a specific evaluator behavior you want surfaced and acted on, email hello@jourvex.com and tell us what you are seeing.
Pilot customer feedback directly shapes what gets added next.