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.

javascript — branching on archetype
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
High intent
What is happening

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.

Signals that trigger it

Intent score at or above the high threshold with repeated pricing engagement or other strong evaluation signals.

What to do

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.

Branch on it
javascript
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
High intent
What is happening

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.

Signals that trigger it

High intent behavior with no recent activity observed across the last several days.

What to do

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.

Branch on it
javascript
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
Medium to high intent
What is happening

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.

Signals that trigger it

Repeated pricing interactions across sessions with no conversion event recorded.

What to do

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.

Branch on it
javascript
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
Converted
What is happening

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.

Signals that trigger it

A conversion event detected after meaningful evaluation behavior has already been observed across the journey.

What to do

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.

Branch on it
javascript
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.

javascript
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.