Appearance
Choice Pages
Choice Pages let you present 2-3 merchant options to your audience for a given product, instead of forcing a single merchant choice. Research shows this can significantly increase affiliate conversion rates for audiences who distrust auto-redirects - comparison shoppers, privacy-conscious users, and older demographics who prefer agency in their purchase journey.
Choice Pages give Fyralynx feature parity with Geniuslink's most-cited differentiator, delivered at near-zero marginal cost via edge-rendering on Cloudflare Workers.
Why Choice Pages Work
The standard affiliate link flow forces a single choice on your audience. If you link to Amazon, the Nigerian viewer who would have bought on Jumia, or the Indian viewer who prefers Flipkart, simply doesn't convert. You lose that commission entirely.
A Choice Page instead shows:
Sony WH-1000XM5 Headphones
Where would you like to buy?
[ Shop Amazon UK ] [ Shop Flipkart ] [ Shop Croma ]Each button routes through the standard Fyralynx edge redirector for the corresponding merchant - your affiliate tag is injected, UTM parameters are applied, and the click is counted. The audience chooses their preferred merchant. You earn on whichever one they pick.
When to use Choice Pages:
- Global audiences with strong regional merchant preferences (India, Nigeria, SE Asia, MENA).
- Product categories where multiple merchants are meaningfully competitive (electronics, fashion, home goods).
- Link-in-bio pages where your audience comes from diverse geographies.
- Any context where your audience has told you they prefer to choose.
Plan Requirement
Choice Pages are available on Pro tier and above ($15/month).
Architecture
Choice Pages are edge-rendered HTML pages served from the Cloudflare Worker at go.fyralynx.com. They require:
- No database.
- No separate CMS or hosting cost.
- No JavaScript in the rendered page (static HTML, mobile-first CSS only).
- No third-party analytics SDKs.
The page template is a minimal HTML string compiled into the Worker bundle. User-controlled values (display name, page title) are HTML-escaped server-side before rendering - no XSS vector.
URL Pattern
https://go.fyralynx.com/choice/{creatorId}/{pageId}{creatorId}- your Fyralynx account identifier.{pageId}- a short alphanumeric identifier generated when you create the page.
Example: https://go.fyralynx.com/choice/fyralynx_k123/headphones-2026
KV Storage
When a Choice Page is created, its configuration is stored in Cloudflare KV:
Key: choice:{creatorId}:{pageId}
Value: ChoicePageConfig JSON
TTL: No expiry (persists until deleted)ChoicePageConfig schema:
json
{
"pageId": "headphones-2026",
"creatorId": "fyralynx_k123",
"creatorDisplayName": "TechCreator",
"title": "Sony WH-1000XM5 Headphones",
"slots": [
{
"merchantId": "amazon",
"region": "IN",
"networkId": "Impact",
"label": "Amazon India",
"ctaText": "Shop Amazon",
"url": "https://www.amazon.in/dp/B0CRMZHDG4"
},
{
"merchantId": "flipkart",
"region": "IN",
"networkId": "CJ",
"label": "Flipkart",
"ctaText": "Shop Flipkart",
"url": "https://www.flipkart.com/sony-wh1000xm5/p/itmXXX"
},
{
"merchantId": "croma",
"region": "IN",
"networkId": "Cuelinks",
"label": "Croma",
"ctaText": "Shop Croma",
"url": "https://www.croma.com/sony-wh-1000xm5/p/PRGSMBLTHPHNS123456"
}
],
"complianceDisclosure": "This page contains affiliate links. If you purchase through these links, I may earn a commission at no extra cost to you.",
"createdAt": "2026-05-16T14:00:00Z",
"updatedAt": "2026-05-16T14:00:00Z"
}Rendered Page Structure
Each CTA button routes through the standard Fyralynx edge redirector for the corresponding merchant. The rendered HTML looks like:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Sony WH-1000XM5 - TechCreator</title>
<style>/* Mobile-first, ~2KB inline CSS */</style>
</head>
<body>
<header>
<p class="creator">TechCreator</p>
<h1>Sony WH-1000XM5 Headphones</h1>
<p class="subtitle">Where would you like to buy?</p>
</header>
<main>
<a href="https://go.fyralynx.com/r/abc123" class="btn">Shop Amazon</a>
<a href="https://go.fyralynx.com/r/def456" class="btn">Shop Flipkart</a>
<a href="https://go.fyralynx.com/r/ghi789" class="btn">Shop Croma</a>
</main>
<footer>
<p class="disclosure">This page contains affiliate links...</p>
</footer>
</body>
</html>Each href is a Fyralynx routing URL (go.fyralynx.com/r/…) that resolves via the standard edge redirector. This means:
- Your affiliate tag is injected per merchant.
- UTM parameters are applied per your active preset.
- The click is counted in your analytics.
- The CRC trace is available for each slot's routing decision.
Creator Flow
In the Browser Extension
- Open the extension on any supported product page.
- Fyralynx runs the standard routing decision and shows the CRC.
- Click "Create Choice Page" in the CRC Actions bar.
- The extension automatically populates the Choice Page builder with the SmartBench top-3 merchants for this product's category and your audience's most common visitor regions.
- The builder shows:
- Title - auto-extracted from the page (editable).
- Merchant slots (2-3) - pre-populated from SmartBench. Drag to reorder. Click to replace.
- Compliance disclosure - auto-selected from your default template (editable per page).
- Click "Generate".
- The edge worker stores the page config in KV under
choice:{creatorId}:{pageId}. - The Fyralynx Choice Page URL is copied to your clipboard instantly:
https://go.fyralynx.com/choice/fyralynx_k123/headphones-2026 - Paste it wherever you'd normally use a single affiliate link.
Via API (Publisher/Enterprise)
http
POST /v1/links HTTP/1.1
Authorization: Bearer {api_key}
Content-Type: application/json
{
"url": "https://www.amazon.in/dp/B0CRMZHDG4",
"preset": "auto",
"title": "Sony WH-1000XM5"
}After creating individual links for each merchant via POST /v1/links, create the Choice Page config using the API (see OpenAPI spec for the POST /v1/choice-pages endpoint - Enterprise tier).
Merchant Slot Selection
When populating slots, Fyralynx uses SmartBench data to rank merchants by:
- Normalised EPC for the detected product category and visitor region.
- Shipping availability - merchants that don't ship to the dominant visitor country are excluded from default slots (but can be manually added).
- Your declared network accounts - only merchants you can actually route through appear as default options.
You can always override the automatic selection and choose any combination of the 35 supported merchants.
Constraints:
- Minimum 2 slots, maximum 3 slots.
- All slots must be merchants you have declared affiliate accounts with.
- You cannot add the same merchant twice in the same Choice Page.
Analytics
Choice Page clicks pass through the standard edge redirector and are tracked identically to regular link clicks. No additional infrastructure is required.
In your local analytics and opt-in server analytics, you will see:
- Total clicks per Choice Page (by
pageId). - Click distribution across the merchant slots (by
merchantIdandnetworkId). - Visitor country breakdown - see which regions chose which merchants.
- Device type breakdown.
This data is invaluable for understanding regional preferences in your audience. For example, if you create a Choice Page for India and 60% of Indian visitors click Flipkart over Amazon IN, you know to weight Flipkart higher in your future link creation.
Compliance Disclosure
Every Choice Page displays your compliance disclosure at the bottom. Fyralynx provides one-click templates for:
| Region | Disclosure |
|---|---|
| US (FTC) | "This page contains affiliate links. If you purchase through these links, I may earn a commission at no extra cost to you." |
| UK (ASA) | "Ad - contains affiliate links." |
| UK (CMA) | "#ad - affiliate link." |
| India (ASCI) | "#Ad - affiliate link" |
| EU | General affiliate disclosure template per advertising authority guidelines. |
| Generic (international) | "This page contains affiliate links." |
The disclosure template defaults to your account's configured locale. You can override it per Choice Page. You are responsible for ensuring the disclosure meets the requirements of your jurisdiction and content platform.
Editing and Deleting Choice Pages
Edit via Extension
- Open the extension.
- Navigate to Collections → Choice Pages.
- Find the page and click Edit.
- Modify title, slots, or disclosure.
- Click "Update". The KV entry is updated immediately - the new version is live within seconds.
Edit via API
http
PATCH /v1/choice-pages/{pageId} HTTP/1.1
Authorization: Bearer {api_key}
Content-Type: application/json
{
"title": "Updated Title",
"slots": [ ... ]
}Delete
Deleting a Choice Page removes the KV entry. Visitors following the URL will receive a 404 with a graceful fallback page. The individual routing URLs (go.fyralynx.com/r/…) used by the slot buttons continue to resolve for 30 days.
Technical Notes for Developers
No JavaScript on the Choice Page
The rendered Choice Page contains zero JavaScript. This is intentional:
- Fast load time on slow mobile connections (SE Asia, Africa).
- No dependency on external script loading.
- Compliant with strict content security policies on social platforms.
- Accessible to users with JS disabled.
Click counting and analytics are handled entirely by the Fyralynx edge redirector when the CTA button href is followed - no JS required on the Choice Page itself.
Custom Domains (Enterprise)
Enterprise tier creators can configure a custom domain for their Choice Pages:
https://links.yourwebsite.com/choice/headphones-2026This requires a DNS CNAME entry pointing to go.fyralynx.com and configuration in the Fyralynx dashboard. Custom domain setup is available via the Enterprise onboarding process.
Caching
The Cloudflare Worker caches the rendered Choice Page HTML at the edge (Cloudflare Cache API, 5-minute TTL). Updates to Choice Page config are reflected within 5 minutes. Emergency cache invalidation is available via the Fyralynx admin panel.
See Also
- EPC Model - how merchants are scored for slot recommendation
- Routing Engine Explained - how each slot's click is processed
- WordPress Plugin - auto-monetise CMS content with Choice Page support
- Getting Started - quick setup guide