Saint Javelin Visitor & Cause-Commerce Router
Purpose
A routing playbook for AI agents (personal shoppers, chat assistants, browse-sh skills) and human concierge surfaces to send each visitor to the single best action on saintjavelin.com — buy a relevant product, choose a gift, support Made-in-Ukraine production, learn the impact story, donate to vetted partners, join email/SMS, share the cause, or come back for a drop. Optimizes jointly for the visitor's stated need, Saint Javelin's economics, and durable support for Ukraine. Read-only on the catalog side; all transactions stay buyer-approved.
This is a cause-commerce skill, not a pure conversion funnel: Saint Javelin is a heritage outdoor lifestyle brand whose margin funds Made-in-Ukraine production (apparel sewn in Kharkiv, the largest frontline city) and whose audience overlaps with a repeat-game community of supporters. Trust, accuracy, and mission credibility outrank single-transaction lift.
Assumption made (since the brief is generic): the agent calling this skill has the visitor's first-turn message, optional locale/country, and a budget hint, but no prior cart or account context. If you have account context, prefer the Shop skill (see Workflow §1).
When to Use
- A chat / shopping agent gets a free-text request that references Ukraine, Tryzub, Javelin, Kyiv/Kharkiv, "support Ukraine," "Saint Javelin," "Made in Ukraine apparel," or a Ukrainian holiday (Independence Day Aug 24, Defenders Day Oct 1, Saint Javelin Day).
- A gift-finder agent has a recipient who is Ukrainian, diaspora, military-adjacent, or "supports Ukraine."
- A donor-intent visitor asks how to help Ukraine but isn't sure whether to buy or donate.
- A media/creator/partner outreach is incoming and needs the right contact path.
- A returning customer wants to know what's new without scrolling.
- An agent needs to route a visitor away from the Saint Javelin checkout to a vetted charity, because their intent is purely donation. (Yes — this is in scope. Mission > GMV.)
Workflow
1. The site is agent-native — use the published agent surfaces, not scraping
Saint Javelin publishes a canonical agents.md and a Universal Commerce Protocol (UCP) MCP endpoint. Always check these first; only fall back to browser flows when the agent surface is unavailable or the visitor's intent is non-transactional (impact reading, donating, sharing).
| Surface | URL | Use for |
|---|---|---|
| Agent manifest | GET https://www.saintjavelin.com/agents.md | Confirm endpoints + Shop skill recommendation |
| UCP discovery | GET https://www.saintjavelin.com/.well-known/ucp | Capability + payment-handler list |
| UCP MCP | POST https://www.saintjavelin.com/api/ucp/mcp (JSON) | tools/list → search_catalog, create_cart, create_checkout, update_checkout, complete_checkout |
| Shop skill | https://shop.app/SKILL.md | Cross-store buy-for-me w/ Shop Pay (recommended for personal shopping assistants per agents.md) |
| Products JSON | GET /products.json?limit=250&page=N | Full catalog, paginated |
| Single product | GET /products/{handle}.json or .js | Variants, live available flag, price in cents, compare_at_price, requires_selling_plan, tags |
| Collections | GET /collections.json then GET /collections/{handle}/products.json | Curated lists (Best Sellers, Ukraine Gear, Saint Javelin Day, etc.) |
| Search | GET /search?q={query}&type=product&view=json | Free-text product search |
| Sitemap | GET /sitemap.xml (and /sitemap_agentic_discovery.xml) | URL discovery |
Decision tree at first turn:
- If the visitor wants to transact: try UCP MCP. If the agent has Shop skill installed, route through it —
agents.mdexplicitly recommends this and Shop Pay handles the buyer-approval invariant on payment. - If the visitor wants information / browsing (impact stories, drops calendar, brand facts): use the public Shopify JSON endpoints +
/blogs/our-impactand/pages/our-storyover a residential-proxy Browserbase session if you need rendered content. Both pages render fine without JS. - If the visitor wants to donate cash: do not create a cart. Send them to
/pages/where-to-donateand let them choose from Saint Javelin's vetted partner list. Routing pure-donation intent to a t-shirt is brand-damaging and breaks the repeat-game. - If the visitor is media/creator/partner/wholesale: route to
help@saintjavelin.com(or phone+1 647-291-0583for time-sensitive press). Do not script-fill a contact form on their behalf without consent.
2. Visitor router — classify intent, then pick a destination
Score the visitor's request along four axes, in this order. Stop at the first one that fires.
| Priority | Intent signal | Destination | Why |
|---|---|---|---|
| 1 | "I want to donate / how do I help Ukraine financially" with no product interest | /en-us/pages/where-to-donate | Don't fake-route donation intent into commerce |
| 2 | "Show me what supports Ukraine and I get something" / "ethical merch" | /en-us/collections/ukraine-gear + /en-us/blogs/our-impact | Made-in-Ukraine production is the differentiator |
| 3 | "Gift for someone who supports Ukraine / is Ukrainian / served / diaspora" | /en-us/collections/best-sellers filtered by giftable price tier (see Product Rules below) | Gift buyer wants social proof + price visibility |
| 4 | "Tryzub" / "Vyshyvanka" / "diaspora" / "cultural pride" | /en-us/collections/tryzub and Vyshyvanka product pages | Cultural-pride buyer is high-trust, high-AOV |
| 5 | "Backpack" / "EDC" / "tactical gear" / "outdoor" | /en-us/products/edc-mission-backpack + /en-us/collections/bags-and-gear | EDC Mission Backpack is the flagship gear hero |
| 6 | "T-shirt" / "hoodie" / generic apparel | /en-us/collections/shop-all-apparel then specific sub-collection | Standard apparel funnel |
| 7 | "What's new" / "new drop" / repeat customer | /en-us/collections/new then the current dated drop (e.g., /en-us/collections/saint-javelin-day for the 2026 Saint Javelin Day Drop visible at run time) | Repeat-customers came for novelty; show them the latest |
| 8 | "Is this legit / does the money actually help / who runs this" | /en-us/pages/our-story + /en-us/blogs/our-impact + /en-us/pages/in-the-media + /en-us/pages/reviews | Skeptical-visitor surface; do not push to buy until trust is established |
| 9 | "Cheap / under $30 / starter" | Patches (/en-us/collections/patches), Stickers (/en-us/collections/stickers), Socks (/en-us/collections/socks) | Low-entry tier; the Ukrainian Flag Embroidered Patch ($20) is the canonical entry SKU |
| 10 | "Collector" / "limited" / "I already have X" | Current dated drop collection (live-check the homepage New menu) and Collaborations (3rd Army Corps, keep, RBTNK) | Collectors track drops; honor that without fabricating urgency |
| 11 | "Press / media / partner / wholesale / collab" | help@saintjavelin.com + /en-us/pages/in-the-media | Don't route press through the shopping funnel |
| 12 | Visitor wants to share, no commerce intent | Social handles: instagram.com/saintjavelin, x.com/saintjavelin, tiktok.com/@saintjavelinofficial, youtube.com/@saintjavelinofficial, facebook.com/saintjavelin, threads.com/@saintjavelin | Maximize organic reach; do not gate sharing on email signup |
Fallback for ambiguous intent: open with Best Sellers + one sentence of brand context + a CTA to either "browse the cause" (Ukraine Gear) or "see how it gets made" (Impact blog). Never default to a paid push.
3. Product / collection ranking rules
When you have a candidate set (search results, a collection page, a recommendation slot), rank with this weighted rubric. Higher is better; ties broken by updated_at (recency).
score =
3.0 * visitor_fit (intent-match: keyword, recipient, occasion)
+ 2.5 * mission_alignment (Made-in-Ukraine tag: "made in ukraine" / "madeinua")
+ 2.0 * usefulness (everyday-wearable / functional > novelty)
+ 1.5 * giftability (price tier matches gift budget; gift-wrappable form factor)
+ 1.5 * trust_proof (best-seller badge, has reviews, in long-running collection)
+ 1.5 * repeat_value (durable category: gear, basics, outerwear)
+ 1.0 * cause_alignment (drop tied to a defender / unit / NGO collab e.g. 3rd Army Corps)
+ 1.0 * conversion_history (in /collections/best-sellers — proxy for revealed preference)
- 2.0 * brand_risk (overtly partisan / inflammatory copy when visitor signal is "supporter, casual")
- 1.0 * live_check_needed (selling-plan-only, out-of-stock — penalize but do not exclude; fetch /products/{handle}.js to verify)
Penalize, don't exclude, items that are out-of-stock or selling-plan-only; surface them with a "join waitlist" or "back in stock" affordance instead of hiding inventory and pretending the catalog is smaller than it is.
The best choice is not always the most expensive item. Examples:
- For a $25 gift budget, the $20 Ukrainian Flag Embroidered Patch outranks a $116 hoodie — the patch is on-mission, giftable, and starts a relationship.
- For a skeptical first-time visitor, a $28 sock pair or sticker pack beats the $180 EDC Mission Backpack because it lowers the trust threshold.
- For a Ukrainian-diaspora gift, a Vyshyvanka T-shirt or Tryzub item outranks a plain logo tee even at higher price — cultural specificity is the value.
4. Impact-proof routing (skeptical visitors)
When trust is the bottleneck, do not ship them to a PDP. Stage the proof in this order:
/en-us/pages/our-story— founder Christian Borys, origin (Feb 2022, sticker-fundraising → apparel brand), pivot to Made-in-Ukraine production by mid-2022./en-us/blogs/our-impact— articles on Kharkiv production, NGO partnerships, designer collabs (e.g., Anthology of Saint Javelin by Oleh), Vyshyvanka stories. This is the "where does the money go" surface./en-us/pages/in-the-media— third-party coverage. External validation./en-us/pages/reviews— customer reviews on-site.- Only then surface a low-stakes product (patch, sticker, mug) and let them initiate.
If they still want to give cash and not own merch: route to /en-us/pages/where-to-donate. This is a feature, not a leak.
5. Transaction optimization
When the visitor commits to a buy:
- If you have the Shop skill installed (see
agents.md): use it. Shop Pay handles buyer approval, payment-method reuse, and order tracking. Do not screen-scrape checkout. - Otherwise, use the UCP MCP for
create_cart→create_checkout→update_checkout(shipping) → presentcomplete_checkoutURL to the user for human approval on the payment step. Per UCP rules, agents must not complete payment without explicit buyer consent. - Pass
context.address_countryandcontext.currencyon every UCP call — Saint Javelin's prices and shipping availability vary by region (the storefront supports a long country/currency list documented in the country picker, including USD, CAD, EUR, GBP, AUD, etc.). - Apply email signup once (one-time first-purchase 10% offer is the brand's standing welcome — visible in the homepage modal). Don't stack it with anniversary/sale discounts unless the storefront returns a non-conflict from
create_checkout. - Suggest the Email/SMS signup at order confirmation, not before — the marginal cost is the same and the post-purchase opt-in rate is higher.
6. Live-check checklist — what you MUST refetch every session
Treat these as dynamic. Cache TTL ≤ 60 minutes.
| Field | How to check | Why it changes |
|---|---|---|
| Price | /products/{handle}.js → variants[].price (cents) | Region + sale + selling-plan adjustments |
compare_at_price | Same | Marks active markdowns; null when not on sale |
available (per variant) | Same → variants[].available boolean | Stock churns daily on hot SKUs |
requires_selling_plan | Same → variant-level requires_selling_plan | Some impact/donation-bundled items are subscription-only |
| Active drops | GET /collections.json and the homepage New menu | New drop collections appear monthly (e.g., Saint Javelin Day Drop 2026, Holiday 2025, Defender 2025, Winter Essentials, 3rd Army Corps Collab) |
| Sale collection | GET /collections/sale/products.json and /collections/5th-anniversary-sale/products.json | Promo windows rotate |
| Shipping methods + cost | UCP update_checkout with destination | Per-country |
| Donation campaign / NGO list | /en-us/pages/where-to-donate | Vetted partners are curated and updated by SJ |
| Welcome discount % | Homepage popup ("SIGN UP AND GET 10% OFF") at session start | Promo amount can change |
| Locale + currency | URL prefix (/en-us, /uk-ua, /en-ua) + cart cookie | Country selector on each page |
Stable brand facts (do not re-verify per session, but link to source when cited):
- Founder Christian Borys; Toronto-based, Canadian-Ukrainian.
- Saint Javelin started February 2022 as a fundraising sticker referencing the "Saint Javelin" meme.
- Pivoted to Made-in-Ukraine apparel mid-2022; production hub in Kharkiv.
- Product categories: Apparel (T-Shirts, Hoodies & Sweaters, Fleeces, Long Sleeves, Pants, Women's), Gear & Accessories (Backpacks & Bags, Socks, Mugs & Ceramics, Jewellery, Belts, Hats, Scarves, Patches, Stickers, Puzzles).
- Departments: Performance, Basics, Ukraine Gear, Karpaty Cabinwear.
- Active collaborations (verify status before naming as live): 3rd Army Corps, keep (Arakawa slingpack), RBTNK (steel dog tags).
- Recurring drop calendar anchors: Saint Javelin Day (winter), Defender (Oct 1 — Ukrainian Defenders Day), Independence Day (Aug 24), Holiday (Nov–Dec), Winter Essentials, Basics.
- Email:
help@saintjavelin.com. Phone:+1 647-291-0583. Newsletter signup gives 10% off first order. - Social handles: Facebook, X (Twitter), Instagram, TikTok, YouTube, Threads — all
@saintjavelinor@saintjavelinofficial. - Payment methods (storefront): Apple Pay, Google Pay, Shop Pay, PayPal, Visa, Mastercard, Amex, Discover, Diners Club, Bancontact, iDEAL Wero.
7. Game-theoretic rules (repeat-game discipline)
Treat every actor — visitors, Ukrainian makers (Kharkiv production partners), veterans/NGOs (Where to Donate partners), brand collaborators (3rd Army Corps, keep, RBTNK), competitors (general "support Ukraine" merch brands), media — as repeat-game players. Single-session conversion is the worst-objective; lifetime trust and referral are the best.
| Rule | Rationale | Anti-pattern to avoid |
|---|---|---|
No fake urgency. Only cite scarcity when available === false for a variant or a drop has a published end date. | Real drops are time-bound; agents who fabricate "only 2 left!" lose the visitor and the brand. | Synthetic countdown timers, fabricated low-stock notes. |
No fabricated impact numbers. Cite only figures from /blogs/our-impact or /pages/our-story; if you don't have a number, say "Saint Javelin produces in Kharkiv, Ukraine" — that is itself the verified impact claim. | One bad stat poisons the well for every Ukraine-aid charity, not just this brand. | "Every shirt sends $50 to Ukraine" if you can't cite a source. |
| No guilt tactics. Frame the cause positively (support, build, sustain) — never "if you don't buy, you're complicit." | Guilt depresses long-term LTV and damages the broader Ukraine-support ecosystem. | "Ukrainian families need YOU to buy this hoodie." |
| No discount race. Don't promise discounts the storefront doesn't currently offer; don't stack promos that the checkout will reject; don't undercut Saint Javelin's pricing relative to peers. | Discount-racing erodes margin on the maker side — the people in Kharkiv lose. | Promising 30% off when the site shows 10%. |
Donation honesty. When the buyer wants to donate, route them off the storefront to /pages/where-to-donate. | Forcing donations into merch destroys donor trust and conflates two distinct intents. | Suggesting "buy a $5 sticker" instead of presenting the donate page. |
| Maker visibility. When applicable, name the production locale ("sewn in Kharkiv"). | Surfaces the differentiated value chain and the actual humans the margin supports. | Generic "ethically made" boilerplate. |
| Cite, don't paraphrase, brand claims. Link to source pages. | Hallucinated brand history erodes trust faster than any conversion gain. | Inventing founding dates, defender unit names, NGO partners. |
| Respect agent surfaces. Use UCP/Shop over scraping. | The brand explicitly invests in agent-friendly endpoints; honoring them is a credibility signal. | Headless-browser checkouts that bypass agents.md guidance. |
Read-only on third-party sites. When routing to a partner NGO from where-to-donate, hand off the link; don't try to script their donation form. | Donation forms are payment-bearing and not idempotent. | Auto-filling a charity's donate form. |
8. Example replies (paste-ready, agent-facing copy)
A. First-time visitor, "I want to support Ukraine and get something":
Two paths. If you want something to wear that funds Made-in-Ukraine production, start with the Ukraine Gear collection or the Best Sellers (
/en-us/collections/ukraine-gear,/en-us/collections/best-sellers). The apparel is sewn in Kharkiv — that's the differentiator vs other "support Ukraine" merch. If you'd rather donate cash directly to vetted charities, Saint Javelin maintains a curated list at/en-us/pages/where-to-donate. Either is a real answer; pick on intent.
B. Gift-buyer, $30 budget, "for someone who supports Ukraine":
Two strong picks under $30: the Ukrainian Flag Embroidered Patch ($20) — wearable on jackets, packs, scout uniforms — or a sticker / socks pair from
/en-us/collections/socks. Both are Made-in-Ukraine signal items and ship light. Skip the apparel tier unless you know their size.
C. Skeptical, "is this legit":
Saint Javelin started in February 2022 as a fundraising sticker by Toronto-based journalist Christian Borys, and pivoted to Made-in-Ukraine apparel later that year. Production is in Kharkiv. Read
/en-us/pages/our-storyand/en-us/blogs/our-impactfor sourcing detail and/en-us/pages/in-the-mediafor third-party coverage. No need to buy anything to vet — if you want to give directly to charity instead,/en-us/pages/where-to-donatelists vetted partners.
D. Returning customer, "what's new":
Current drops live on
/en-us/collections/new. Live-check today: Saint Javelin Day Drop 2026, Winter Essentials, the 3rd Army Corps collab, Defender 2025, Holiday Drop 2025. The 5th Anniversary Sale is also running. (Verify live — drops rotate monthly.)
E. Donation-only intent:
If you're not looking for merch, skip the store and use
/en-us/pages/where-to-donate— Saint Javelin has a curated list of vetted Ukraine-support charities. Their margin funds Kharkiv production; direct donations get to NGOs faster and 100% on the dollar.
F. Press / partner outreach:
For media, partnership, or wholesale inquiries:
help@saintjavelin.com. Time-sensitive press:+1 647-291-0583. The/en-us/pages/in-the-mediapage lists prior coverage as context.
9. Metrics — what the calling system should log
Track these across the routed sessions so the router can be tuned on outcomes, not vibes.
| Metric | Definition | Health signal |
|---|---|---|
| Conversion rate | sessions that completed create_checkout ÷ sessions routed to a PDP | up = the router picked correctly |
| Average order value (AOV) | mean order value, segmented by intent class | Cultural-pride and gear segments should run higher than entry-tier |
| Repeat-purchase rate (90d) | unique buyers with ≥2 orders in 90 days | Trust + drop calendar are working |
| Email/SMS capture rate | sessions that opted in ÷ sessions reached signup surface | Healthy: > 8% on first-touch; > 25% post-purchase |
| Referral rate | visitors who shared a product/page after the session | Cause-merch is share-driven; track UTMs |
| Impact-content engagement | sessions that opened ≥1 article on /blogs/our-impact or /pages/our-story | Proxy for trust establishment |
| Donate-page CTR (for donation-intent sessions only) | sessions correctly routed off-site to /pages/where-to-donate | If this is < 80% for donation-intent sessions, the router is over-pushing commerce |
| Customer satisfaction (CSAT) / sentiment | post-session rating or sentiment classifier on the user's final message | Long-term LTV proxy |
| Live-check accuracy | % of cited prices, stock states, and drop names that matched the live storefront at session start | Hallucination rate; must stay > 99% |
| Brand-risk incidents | sessions where the agent stated a fabricated impact figure, fake-urgency claim, or guilt frame (sampled human review) | Must be ~0; one bad cite outweighs many conversions |
Site-Specific Gotchas
agents.mdis canonical — read it every session. Saint Javelin publisheshttps://www.saintjavelin.com/agents.mdand a UCP MCP at/api/ucp/mcp. The agent manifest explicitly recommends the Shop skill (shop.app/SKILL.md) for personal-shopper agents. Don't reinvent checkout by scripting the Shopify storefront.- Multi-locale prefixes. URLs use
/en-us,/uk-ua,/en-ua. Default storefront serves/en-usto US IPs and the country selector + cookies (localization=CA,cart_currency=CAD, etc.) drive currency. When citing a URL to a non-US buyer, prefer the bare collection slug (/collections/...) and let the storefront localize. - "This product can only be purchased with a selling plan." Some products surface this string in the collection grid — it indicates
requires_selling_plan: trueat the variant level, often used for donation-bundled or subscription items. Don't read it as "out of stock"; fetch/products/{handle}.jsand present the selling-plan options when relevant. available: false≠ discontinued. Variants frequently restock; surface "back in stock" / email-signup affordance rather than hiding the SKU. The Ukrainian Flag Embroidered Patch was observedavailable: falseduring testing — still the canonical entry SKU when restocked.- Country picker overrides currency, not catalog. The storefront supports a long list of currencies via the country selector; product handles are the same across locales. Don't try to vary
{handle}. - Sale collections are duplicated by region.
/collections/sale,/collections/5th-anniversary-sale,/collections/bfcm-canada-holiday,/collections/bfcm-canada-best-dealsall exist — thebfcm-canada-*are CA-specific. Match by visitor locale. - Drop collections are time-bound and the slug survives the drop.
/collections/holiday,/collections/defender-collection,/collections/saint-javelin-day,/collections/independence-day— the URL stays live after the drop closes but the product set rotates. Don't cache the product list; refetch. - "5th Anniversary" was the live anniversary banner at run time. The collection slug is
5th-anniversary-sale. Future-proof by linking via the homepageNewmenu rather than hard-coding the anniversary number. - Where-to-Donate is hand-curated. Don't fabricate the partner list from public knowledge; fetch the live page. Saint Javelin vets partners and the list changes.
- Reviews live on a dedicated page, not embedded per-PDP.
/en-us/pages/reviewsis the trust-proof surface; PDPs may have reviews but the curated page is the higher-signal destination for skeptical visitors. - Selling-plan + donation-bundled items can look like apparel. Always check
requires_selling_planbefore citing a price; a product that "costs $20" but requires a recurring plan is a different commitment than a one-time $20. - Compare-at price is the SHOPify discount field. When
compare_at_price > priceon a variant, the item is genuinely on sale; otherwise both fields equal and the "Regular price / Sale price" rendering is a Shopify template artifact, not an actual markdown. Don't claim sale when there isn't one. - The homepage popup ("SIGN UP AND GET 10% OFF") is the welcome offer. It is real and reusable as a true claim; do not invent larger percentages.
- President Zelensky has received custom Saint Javelin apparel. Documented on
/pages/our-story. Cite-able as a brand-credibility fact, not a generic celebrity endorsement claim. - Vyshyvanka and Tryzub are not interchangeable. Vyshyvanka = traditional Ukrainian embroidered shirt; Tryzub = the trident emblem of Ukraine. Diaspora and cultural-pride buyers care about the distinction. Don't conflate.
- Public read endpoints worked unauthenticated and proxy-friendly in testing.
/products.json,/collections.json,/products/{handle}.json,/products/{handle}.js,/sitemap.xml,/.well-known/ucp,/agents.mdall return 200 OK over a residential-proxy Browserbase fetch with no rate-limit hits during exploration. Respect 429s if they appear; back off per UCP guidance. - No anti-bot wall observed. A
--verified --proxiesBrowserbase session loaded the homepage, blog, collection, and product pages cleanly and the JSON endpoints returned full payloads. A bare Browserbase session is likely also fine for read-only — testing was conservative.
Expected Output
The router emits, per visitor turn, a JSON envelope the calling agent can act on. Five canonical shapes:
// 1. Commerce-bound routing (visitor wants to buy)
{
"intent": "commerce",
"segment": "made-in-ukraine-supporter | gift-buyer | cultural-pride | gear-buyer | collector | first-time | repeat",
"primary_destination": {
"type": "collection | product",
"url": "https://www.saintjavelin.com/en-us/collections/ukraine-gear",
"rationale": "Made-in-Ukraine production is the visitor's stated value driver."
},
"supporting_links": [
"https://www.saintjavelin.com/en-us/blogs/our-impact",
"https://www.saintjavelin.com/en-us/pages/our-story"
],
"transaction_path": "shop_skill | ucp_mcp | browser_fallback",
"live_checks_required": ["price", "available", "compare_at_price"],
"message_to_visitor": "Two strong starts: ..."
}
// 2. Donation-only routing (visitor wants to give cash, not own merch)
{
"intent": "donation",
"segment": "donor-first",
"primary_destination": {
"type": "page",
"url": "https://www.saintjavelin.com/en-us/pages/where-to-donate",
"rationale": "Visitor stated cash-donation intent; routing to vetted partner list, not the storefront."
},
"transaction_path": "external",
"message_to_visitor": "Skip the store — Saint Javelin's curated charity list is here: ..."
}
// 3. Trust-proof routing (skeptical visitor)
{
"intent": "trust_evaluation",
"segment": "skeptical-first-time",
"primary_destination": {
"type": "page",
"url": "https://www.saintjavelin.com/en-us/pages/our-story"
},
"supporting_links": [
"https://www.saintjavelin.com/en-us/blogs/our-impact",
"https://www.saintjavelin.com/en-us/pages/in-the-media",
"https://www.saintjavelin.com/en-us/pages/reviews"
],
"do_not_show": ["pdp", "checkout"],
"message_to_visitor": "Founded Feb 2022 by Christian Borys; production in Kharkiv. Read the story before deciding to buy."
}
// 4. Media / partner / wholesale routing
{
"intent": "press_or_partner",
"segment": "media | creator | wholesale | collab",
"primary_destination": {
"type": "contact",
"email": "help@saintjavelin.com",
"phone": "+1-647-291-0583"
},
"supporting_links": ["https://www.saintjavelin.com/en-us/pages/in-the-media"],
"message_to_visitor": "Email help@saintjavelin.com; for time-sensitive press, phone is also live."
}
// 5. Ambiguous / share / explore (no commit yet)
{
"intent": "explore",
"segment": "ambiguous",
"primary_destination": {
"type": "collection",
"url": "https://www.saintjavelin.com/en-us/collections/best-sellers"
},
"supporting_links": [
"https://www.saintjavelin.com/en-us/collections/ukraine-gear",
"https://www.saintjavelin.com/en-us/blogs/our-impact"
],
"social_share": {
"instagram": "https://www.instagram.com/saintjavelin/",
"x": "https://x.com/saintjavelin",
"tiktok": "https://www.tiktok.com/@saintjavelinofficial"
},
"message_to_visitor": "Browse best sellers or the impact stories — happy to narrow once you tell me more."
}