A$
ACTIONABLE AFFILIATE
The complete operator's manual

Run offers, end to end.

ACTIONABLE AFFILIATE folds four tools into one workspace — a contacts CRM, an email mailer, a split-testable campaign tracker, and an AI advisor that reads your real numbers. This guide walks the whole path: traffic in, leads and revenue out.

4-in-1
CRM · Mailer · Tracker · AI
1–5
Variants per campaign
BYOK
Your own AI key
00

Overview & Setup Path

When you create an account you get a workspace — an isolated organization where every campaign, contact, lead, domain, and broadcast lives. Nobody outside it can see your data, and you can invite teammates into the same workspace to share everything.

Finding your way around

The sidebar inside the app is your map. Each destination has a dedicated chapter in this guide:

  • Dashboard — a stats overview of recent activity across campaigns and broadcasts.
  • Campaigns — tracked offers, their landing-page variants, and links.
  • Contacts — your CRM of everyone who entered the workspace, with tags and custom fields.
  • Leads & Forms — a pipeline view plus a builder for hosted lead-capture forms.
  • Mailer — compose broadcasts, manage templates, review send logs.
  • Domains — connect your own domains for pages, links, and email.
  • AI Chat — ask the advisor about the docs or your real performance.
  • Settings — manage your AI key, default model, and account preferences.

The typical first-run path

You don't have to follow this order — but it's the fastest route to a working funnel. Each step links straight to its chapter.

1

Add a domain

Connect a domain you own and dedicate it to pages, links, email, or all three. → Domains

2

Create a campaign with variants

Name it, give it a slug, attach a verified domain, add landing-page variants and split weights. → Campaigns

3

Share your tracking links

Hand the auto-generated links to affiliates or use them in your own ads. Clicks and conversions record automatically. → Tracking

4

Collect leads & contacts

Build a hosted form or let landing pages capture visitors. Every submission becomes a contact and a lead. → Leads & Forms

5

Send a broadcast

Target by tags, preview, test to yourself, then launch to your full audience. → Broadcasts

6

Ask the AI advisor

“How does split testing work?” or “How did my last campaign perform this week?” → AI Advisor

01

Domains

Connecting your own domain lets your landing pages, tracking links, and email run under your own brand instead of a generic platform address.

Adding a domain

When you add a domain you choose which purposes it serves — any combination of the three:

  • Pages — campaign landing pages are served on this domain.
  • Links — tracking links (/c/{code}) run on this domain.
  • Email — send broadcasts and transactional email from an address on this domain.

One domain can cover all three, or you can split them — say, one domain for landing pages and a separate one purely for sending email.

Verifying with DNS

After adding a domain you're shown the exact DNS records to create at your registrar. Add them, then click Verify. Need the record details? See the DNS record cheat-sheet

Heads upDNS changes can take a few minutes to a few hours to propagate. It's normal to click Verify more than once while you wait.

Understanding the status chips

✓ Verified — records confirmed, purpose active ◔ Pending — requested, not yet confirmed ✕ Misconfigured — records don't match; recheck & correct

A domain only becomes fully active for a purpose once its relevant checks — page routing and, separately, email identity — both show verified.

NextOnce a domain's email purpose is verified, it becomes selectable as a sending domain when you compose a broadcast. How sending domains are chosen
02

Campaigns

A campaign is a tracked offer: a landing page (or set of variants) plus a destination you send visitors to. Every click, conversion, and stat rolls up to a campaign — they're the core building block of the tracker.

Creating a campaign

  • A name — for your own reference, shown throughout the dashboard.
  • A slug — the URL segment your landing page lives at.
  • An optional domain — one of your verified domains. No domain yet? The campaign exists but has no live landing page until you assign one.
  • An offer URL — where visitors go after converting or clicking through, e.g. a network or advertiser link.

How the landing URL works

Your slug combines with the domain to form the address: https://{your-domain}/{slug}. Two campaigns on the same domain need different slugs — a slug only has to be unique within a domain. A domain-less campaign's slug must be unique across your other domain-less campaigns.

The offer URL & the click ID

Your offer URL can include the token {click_id} anywhere; it's replaced with that visitor's unique click ID on redirect, so conversions can be matched back to the exact visit. Leave it out and the ID is appended automatically as a click_id query parameter — attribution is never lost. How click-ID pass-through works

Campaign status

Draft — being set up, not live Active — serving traffic Paused — offline, nothing deleted Archived — retired, kept for reporting

Only Active campaigns render a landing page or accept redirects; the others return not-found. Switching back to active brings the page and links online immediately with whatever variants and weights are configured.

Handling suspicious traffic with a safe variant

A campaign can designate one variant as its safe page. When bot detection flags a visitor as suspicious, they can be shown the safe variant instead of your split-tested pages — keeping your real conversion data clean without ever fully blocking anyone. It's optional; skip it and flagged visitors still see a normal variant, just excluded from stats. How bot detection decides

03

Split Testing

Every campaign can run more than one landing page at once, sending a share of traffic to each so you learn which converts best. It's built into every campaign — no extra setup.

Variants

Each campaign can have between 1 and 5 variants. The enabled variants' weights must add up to exactly 100. A 50/50 test is two variants at 50 each; a three-way might be 40/30/30. Disable a variant without deleting it to pull it from rotation — the remaining weights cover the traffic. Weighting rules & examples

Two ways to build a page

  • Template mode — pick a ready-made template and fill fields (headline, subheading, body, CTA, image). Fastest to launch; guarantees clean, tested markup.
  • Raw HTML mode — paste your own HTML for full control. It's sanitized before serving. What sanitization strips

How visitors are assigned a variant

On landing, the tracker picks a variant using your weighted split, then remembers the choice with a cookie lasting 30 days. The same visitor keeps seeing the same variant on repeat visits — so per-variant reporting stays accurate and the page never changes out from under them mid-funnel.

Previewing a specific variant

While building or QAing, force a variant to load by adding ?variant={id} to the landing URL. This bypasses weighted selection and doesn't disturb the sticky cookie for real visitors.

Personalizing pages with dynamic text

Both template and raw HTML variants support token substitution from the visitor's URL parameters. Writing {utm_term} in a headline echoes back whatever was in that visitor's utm_term — great for matching the exact keyword or ad copy that brought them in. Token syntax & fallbacks

Reading resultsHead to the campaign's stats to compare performance per variant — clicks, conversions and more are broken out so you can see the winner before committing your full budget. The metrics glossary
04

Tracking

The tracker records every visitor who touches your campaigns and every conversion that follows — so your stats reflect what actually happened, not what your ad network self-reports.

Tracking links

Every link follows the pattern /c/{code} on one of your domains. A click is recorded and the visitor is redirected to your offer URL with the click ID attached. Visiting a landing page directly also records a click (deduplicated per session) — so you get credit for direct and organic traffic too.

What gets captured on every click

Standard UTMs (source, medium, campaign, content, term), the major ad-platform click IDs — fbclid, gclid, msclkid, ttclid — the referrer, and the visitor's country. Any other query parameters are captured too, so you can pass custom values through from your own systems.

Recording conversions

Two ways a conversion attaches back to a click:

  • Server-to-server postback — your network calls a postback URL with the click ID, optional payout, and transaction ID. Most reliable; independent of the browser. Postback URL format
  • Pixel / JavaScript snippet — a pixel on your thank-you page fires a conversion using the click ID stored in the visitor's cookie. Useful when your network doesn't support postbacks.

Bot detection

Every click is screened for non-human signals — known bot user agents, missing browser headers, automated patterns. Flagged clicks are excluded from reported stats (and optionally shown your safe variant). Detection never blocks anyone outright; it only filters and flags. Signals used

Reading your stats

For each campaign — and broken out per variant — you'll see: open the metrics glossary

Clicks
Total non-bot clicks recorded.
Uniques
Distinct visitors among those clicks.
Bot-filtered %
Share of total traffic flagged as bots and excluded.
Conversions
Conversions attributed to non-bot clicks.
CR%
Conversion rate — conversions ÷ clicks.
Revenue
Total payout across all conversions.
EPC
Earnings per click — revenue ÷ clicks. Compares profitability regardless of volume.

Building tracking links with UTMs

Each campaign includes a UTM generator: pick your source, medium, campaign, content and term, and it builds a ready-to-share link encoded correctly. Save presets for combos you reuse and copy the finished link in one click. Using the UTM builder

05

Leads & Forms

Leads track prospects from first contact through to a closed deal. Forms are one of the main ways new leads enter your workspace.

The lead pipeline

New Contacted Qualified Closed Won Closed Lost

Attach notes as you work a lead, and set a follow-up date so you know when to check back — useful for keeping a pipeline of any size from falling through the cracks.

Where leads come from

Each lead records its source — a hosted form, a visitor converting on a campaign page, or a manual add. When a lead originates from a tracked campaign click, it's automatically linked back to that campaign, so you see which campaigns generate actual leads, not just clicks.

Building a form

The builder assembles a form field by field. Supported types: single-line text, email, multi-line text, dropdown select, and checkbox. Every form needs exactly one email field (that's what ties a submission to a contact). Mark fields required or optional, and choose the post-submit action: show a success message, or redirect to a URL. Notification & autoresponder emails

Hosting a form

Once built, a form is hosted at its own address on any of your connected domains — ready to share directly, embed as a link in ads, or link from a campaign landing page.

What happens on submission

  1. Their contact record is created or updated (matched by email), just like any other way contacts enter your workspace.
  2. A new lead is created in your pipeline with status “New.”
  3. If the visitor arrived through a tracked click, the submission auto-attributes both the lead and — where applicable — a conversion back to that click, so your stats reflect the full funnel from click to lead.

Spam protection

Two invisible layers keep bots out. How the honeypot & rate-limiting work

06

Contacts

Contacts are your CRM: everyone who signed up through a form, opted into a list, or otherwise entered your workspace. Each record is your source of truth for who someone is and what you know about them.

One record per person

Each contact is unique by email address within your workspace. Submit a second form with the same email and the existing record is updated, not duplicated — so tags, custom fields, and history accumulate on a single record over time.

Tags

Tags are simple labels — a contact can carry as many as you like. They're the primary way you segment: source, interest, lifecycle stage, anything. When you send a broadcast you target it by picking one or more tags, and everyone with a matching tag joins that send's audience.

Custom fields

Beyond name and email, contacts carry custom fields — arbitrary extra data from your forms or added manually (phone, product interest, anything). Custom fields are available as merge tags in broadcasts, so you can personalize beyond a first name. Merge tags in broadcasts

Where contacts come from

Each record tracks its signup source (which form or campaign) and method — a clear picture of which channels actually generate people in your CRM, and useful context the AI advisor can draw on.

Unsubscribes & suppressions

Every contact gets a unique unsubscribe link on every broadcast, plus a one-click unsubscribe header that lets Gmail and major webmail offer a built-in unsubscribe action. Separately, the platform auto-tracks suppressions — addresses that bounced or complained. Either way, those contacts are always excluded from sends. Unsubscribe vs suppression

07

Broadcasts

Broadcasts send email to your contacts — announcements, promotions, any message you want to reach a segment at once. They live under Mailer alongside reusable templates and send logs.

Composing a broadcast

The composer is a rich-text editor — write with formatting, links, and images like any modern email tool. Set a subject line and preview text (the snippet inboxes show before the email is opened). Personalize with merge tags like {{first_name}}, which fill in each recipient's actual data — including custom fields. Merge tag reference

Choosing your audience

Target by selecting one or more tags — every contact with a matching tag joins the audience. A live recipient count updates as you adjust, so you know exactly how many people will receive it before committing. Unsubscribed and suppressed contacts are always excluded automatically.

Testing before you send

Send a test copy to yourself (or any address) to check formatting, merge tags, and links render as expected before hitting your full list.

How sending works

A launched broadcast doesn't go out all at once — it's processed in batches so large sends stay reliable. A send to tens of thousands can run without timeouts, and can be paused mid-send and resumed without duplicating or losing track of who's already received it. Batched sending & tracking progress

Which domain your broadcast sends from

With a verified sending domain (set up under Domains), broadcasts send from that domain for a consistent, branded from-address. No verified domain yet? Broadcasts fall back to the platform's shared domain, so you can start sending right away. Sending domain selection

08

AI Advisor

A chat assistant built into the platform that answers questions about how to use ACTIONABLE AFFILIATE and reads your own workspace's real performance data to help you make decisions.

Bringing your own key

The advisor runs on your own OpenRouter API key, added once under Settings. Your key is encrypted before storage and never displayed again — to change it you paste a new one to rotate it. Remove it any time to disable the advisor. Because it's your key, usage is billed to your own OpenRouter account. Setting up your key

Choosing a model

OpenRouter gives access to a range of models. In Settings you pick a default used for new conversations; within any conversation you can switch models — say, a more powerful one for a complex question — without changing your account-wide default.

What the assistant can do

  • Answer questions about the product — it searches this documentation and cites the specific sections its answer draws from, so you can always see where an answer came from.
  • Look at your real data — it reads your workspace's live data: campaign performance, broadcast results, contact-list growth. Ask “how did my last campaign do?” or “which broadcast had the best open rate?” and get an answer from your real numbers.
Read-onlyWhatever it looks at, the advisor is strictly read-only — it retrieves and discusses your data but never creates, edits, or deletes anything. All changes still happen through the normal dashboard.

Conversations & memory

Conversations are saved per user — return to a previous one or start fresh any time. The assistant also builds a lightweight memory: tell it a durable fact (a preference, a recurring goal, how you like campaigns run) and it brings that back into future conversations. The more you use it, the more it tailors answers to how you actually work.

09

Glossary

Quick definitions for the terms that show up across the product. Search them all with ⌘K.

Workspace
Your isolated organization — every campaign, contact, and domain lives inside it. Teammates you invite share the same one.
Campaign
A tracked offer: a landing page (or variants) plus an offer URL. Everything the tracker measures rolls up here.
Variant
One version of a campaign's landing page. 1–5 per campaign, weighted to split traffic for A/B testing.
Slug
The URL segment a landing page lives at. Unique within a domain.
Offer URL
Where visitors go after converting/clicking through. Can embed the {click_id} token.
Click ID
A unique ID for each visit, passed to your network so conversions match back to the exact click.
Postback
A server-to-server call from your network reporting a conversion by click ID. Idempotent on transaction ID.
Safe page
A variant shown to visitors flagged as suspicious, keeping real conversion data clean.
Tag
A label on a contact. The primary way you segment lists and target broadcasts.
Custom field
Arbitrary extra contact data, usable as merge tags in broadcasts.
Merge tag
A placeholder like {{first_name}} replaced with each recipient's real data at send time.
Suppression
An address auto-excluded from sends because it bounced or complained.
Lead
A prospect tracked through the pipeline: New → Contacted → Qualified → Closed Won/Lost.
EPC
Earnings per click — revenue ÷ clicks. Compares profitability regardless of volume.
BYOK
Bring Your Own Key — the AI advisor runs on your own OpenRouter key, billed to you.