Setting up Affiliate Marketing
The Affiliate Marketing extension lets partners promote your store with their own referral links and earn a commission on the sales they drive. It tracks referral clicks, attributes orders, calculates what each partner is owed, and gives you an approval pipeline and a payout ledger. This guide takes about twenty-five minutes.
Note: TitanCart records payouts, it does not send them. You create a payout batch, pay the affiliate through PayPal or your bank, then mark the batch paid with a reference. No money moves through TitanCart at any point.
1. Install and enable the extension
Affiliate Marketing is included with TitanCart Pro. There is no separate license key to buy or enter — your Pro subscription is the entitlement.
- Go to Extensions → Extensions Marketplace and install Affiliate Marketing.
- Check Extensions → Installed Extensions. The row shows an Included in Pro pill and no license-key field.
- Open Growth → Affiliates and switch to the Settings tab.
- Under General, tick Enable affiliate program and save.
That master switch is the gate for everything that costs you money. While it is off, no referral click is recorded and no commission accrues — but the admin pages, the application form and your affiliates’ own dashboards all stay reachable, so you can set the program up, and even collect applications, before you switch it on.
Note: if your store is not entitled to Pro, an amber License required banner appears above every tab and the master toggle is disabled. Everything else on the page still saves.
2. How attribution actually works
Before you set rates, it is worth knowing exactly what earns a commission, because several of the rules are strict.
- Every approved affiliate gets a referral code, generated from their display name — so “Jane Smith” becomes
jane-smith. Their link is any page on your store with?ref=jane-smithon the end. Codes are assigned automatically and cannot be edited, so there are no custom vanity codes. - A click is only credited if the code belongs to an affiliate whose status is Approved. A pending applicant’s link tracks nothing at all.
- The click drops a first-party cookie that lasts for your Cookie window (days), default 30.
- Attribution is last click: if a visitor arrives through two different affiliates’ links, the most recent one wins.
- The commission is written when the order is paid and committed, not when it is placed. An order that sits unpaid never produces a conversion, and if the affiliate is suspended or rejected between the click and the payment, nothing is credited.
- One conversion per order, always.
Two more controls sit on the General section. Attribution model offers Last click and First click (beta) — last click is the tested path, and is what the rest of this article assumes. De-dupe click window (minutes), under Fraud & tax and defaulting to 30, stops repeat clicks from the same visitor or IP inflating an affiliate’s click count; the cookie is still refreshed, so attribution is unaffected.
What the commission is calculated on
This catches people out. The commission base is post-discount, pre-tax product revenue — the sum of your line subtotals minus any discounts. Shipping and tax are excluded. A $100 order with $10 shipping and $7 tax has a base of $100, so a 10% commission is $10, not $11.70.
On the Conversions tab the column headed Order value is that base, not the order total. The two will differ on any order that charges shipping or tax.
3. Set your default commission
Open the Default commission section. This is the program-wide rule; individual affiliates can override it later.
- Percent of order — a percentage of the commission base. The default is 10%.
- Flat amount — a fixed dollar amount per order, not per item. A three-item order pays the flat amount once.
- Tiered — a table of tiers, each with a threshold and a rate. The highest tier the affiliate qualifies for applies.
Warning — read this before choosing Tiered. The tier threshold field is labelled Min sales $, but tiers are matched against the affiliate’s lifetime commission earned, not against the sales they have generated. A tier set at 5000 does not unlock when a partner has driven $5,000 of orders — it unlocks when they have earned $5,000 in commission, which on a 10% rate means $50,000 of sales. Set your thresholds in commission dollars, or the higher tiers will effectively never open. Earned includes commissions still sitting pending, and excludes anything reversed.
Warning — Tiered with no tiers pays nothing, silently. If you select Tiered and save without adding any tier rows, every referred order resolves to a 0% rate, and a zero commission is not recorded at all — no conversion row appears, and no error is shown anywhere. The program looks broken rather than misconfigured. Always add at least one tier starting at 0.
4. Approvals, fraud and program terms
Two independent approval gates control the program, and they live in different sections of the Settings tab.
- Auto-approve applications (under General) — off by default, so every application waits for you. Turn it on and applicants are approved the moment they submit, and their links start working immediately.
- Auto-approve commissions (under Payouts, not with the approvals above) — off by default, so each commission is recorded as Pending and only becomes payable once you approve it on the Conversions tab.
Under Fraud & tax, Block self-referral is on by default and stops an affiliate earning on their own purchase. It matches on both the customer account and the billing email, including the email of the customer account linked to the affiliate, so the obvious ways around it are covered.
The Program terms section holds a plain-text block shown to affiliates in their own dashboard. It is the only place your rules — cookie window, what counts as a valid referral, when you pay — are communicated to partners, so it is worth filling in properly.
5. Set your payout rules
The Payouts section carries three settings that shape every payout batch:
- Minimum payout — the approved balance an affiliate must reach before a batch can be created. Default $50.
- Payout currency — a three-letter code, default USD. Note that a batch takes its currency from the conversions it settles, so this is the fallback rather than an override.
- Default payout method — PayPal, Bank transfer or Manual. This pre-fills the application form; each affiliate’s own choice is what a batch actually uses.
6. Add branded marketing assets
The Branded marketing assets section lets you publish banners and links for partners to use. Each asset takes a title, an image or creative URL, and a landing URL; an asset needs at least one of the two URLs to be kept. Affiliates see them in their own dashboard, and each landing URL is handed to them with their ?ref= code already appended, so they cannot get the tracking wrong. You can store up to 50.
7. What your affiliates see
The affiliate area lives inside the customer My Account page — there is no separate affiliate login and no shortcode to place.
- A logged-in customer who is not an affiliate sees a single Join Affiliate Program item, which opens the application form: display name, email, website, payout method, payout email and a note.
- While an application is pending, rejected or suspended, that becomes one Affiliate item showing their status.
- Once approved it expands into four items: Affiliate Dashboard, Conversions, Payouts, and Marketing Assets.
On the Dashboard they get their referral link with a one-click copy button, plus their click, conversion and earnings totals. The Payouts view carries two things they control themselves: a Payment details card where they set or correct their payout method and payout email, and a Request payout button that becomes available once their approved balance reaches your minimum.
A payout request does not create anything or move any money — it stamps a flag you will see as an amber 💰 Payout requested banner on that affiliate’s detail page, with the amount and date. Fulfilling it through the normal payout flow clears the flag.
8. Running the program day to day
Growth → Affiliates has five tabs.
Affiliates
Every applicant and partner, filtered by status chips — All, Pending, Approved, Suspended, Rejected — with a search box for code, email or name. Each row carries its own actions: a pending application offers Approve and Reject; an approved affiliate offers Suspend; a suspended one offers Reinstate; and a rejected one can still be approved later, so a rejection is never final. Click any row to open that affiliate’s detail page.
Conversions
Every attributed order, with the commission it earned and one of four statuses: Pending, Approved, Paid, Reversed. Approve makes a pending commission payable. Reverse cancels it, and stays available right up until the conversion has been rolled into a payout.
Important: refunds do not reverse commissions. Nothing in TitanCart watches for a refunded or cancelled order on the affiliate’s behalf. If you refund an order that earned a commission, you must come to this tab and reverse it yourself — otherwise you will pay a partner for a sale that no longer exists. This is the main reason to leave Auto-approve commissions off: the pending queue is your own chance to catch returns before the money is committed.
Payouts
The ledger of payout batches, filtered by Pending, Processing, Paid or Failed, with an Export CSV button that gives your bookkeeper amount, currency, method, payout email, status, reference and dates.
There is no create button on this tab. Batches are created from an individual affiliate’s detail page — see below. What you do here is settle them: type the transaction reference from PayPal or your bank into the Reference field, then click Mark paid. The button stays disabled until a reference is entered, deliberately, so your ledger can always be reconciled against the real transfer. Fail records a batch that did not go through, and on an already-paid batch Save reference lets you correct a reference you mistyped.
Analytics
Program performance over 30 days, 90 days, a year or all time: clicks, conversions, conversion rate, revenue generated, commission, outstanding payable, active affiliates and pending applications, plus a Commission over time chart and a Top performers leaderboard you can click straight through to an affiliate.
9. The affiliate detail page
Opening an affiliate gives you their click, conversion, earned, payable and paid totals, their referral link, and four sections you can edit.
- Profile & payout — display name, website, payout method, payout email, and an internal note that is never shown to the affiliate.
- Commission override — leave the type blank to inherit your program default, or set Percent, Flat or Tiered for this partner alone.
- Product-specific commissions — a different rate on individual products, entered by product ID and applied to those lines only. These take precedence over everything else. Note that when a product rule applies to an order and your base rule is Flat, the flat amount is not added on top.
- Tax details — legal name, tax ID and country, collected for your records at 1099 time.
Creating a payout
At the bottom of the detail page is the button that starts every payout: Create payout ($X), showing that affiliate’s payable balance, or No payable balance when there is nothing approved. Clicking it rolls every approved conversion into one batch — you cannot part-pay or pick particular conversions — and refuses if the total is under your minimum.
Important: creating a batch marks those conversions Paid immediately. The moment the batch exists, its conversions flip to Paid on the Conversions tab, while the batch itself sits at Pending until you settle it. A conversion reading Paid therefore means “included in a batch”, not “the affiliate has the money”. The Payouts tab is the honest source of truth for what has actually been sent.
10. What this extension does not do
Four deliberate limits, worth knowing before you launch a program:
- It sends no email. There is no notification of any kind — not to an applicant when they apply or are approved, not to an affiliate when they earn a commission or get paid, and not to you when an application arrives. Check the Affiliates tab, or the Pending apps tile on Analytics, and tell partners yourself.
- It does not move money. Automatic PayPal payouts are not part of this version; the pipeline is create, pay out-of-band, mark paid.
- It does not reverse commissions on refunds. That is a manual action, as covered above.
- The tax threshold is not enforced. The Tax reporting threshold field saves, but nothing reads it and no affiliate is ever flagged when their annual commission crosses it. Tax details are collect-only: use the payout CSV to work out who crossed $600 in a calendar year.
How to verify on PayPal’s side
Because TitanCart records the payout and you send the money, every batch needs confirming in your own PayPal account before you mark it paid.
- Sign in at paypal.com and open your Activity.
- Find the payment by the affiliate’s payout email and the batch amount. Remember the affiliate can change their own payout email from their account, so check the current value on their detail page rather than an address you noted earlier.
- Confirm the transaction reads Completed. An Unclaimed payment usually means the address is wrong or the recipient has no PayPal account yet — PayPal returns unclaimed payments after 30 days.
- Copy the PayPal transaction ID into the Reference field on the Payouts tab and click Mark paid.
If a transfer fails or bounces back, mark the batch Fail rather than leaving it pending. The conversions stay attached to it either way, so the audit trail survives, and you can mark it paid once you have resolved things.
Troubleshooting
- The Enable affiliate program toggle is greyed out — your store is not entitled to Pro. Check Extensions → Installed Extensions for the Included in Pro pill.
- A referral did not earn a commission — work through it in order: was the affiliate Approved at the time of the click and at the time of payment; did the visitor arrive through the
?ref=link within the cookie window; was the order actually paid; and is the buyer the affiliate themselves, which self-referral blocking will stop. - No conversions are appearing at all, and there are no errors — check your commission type. Tiered with an empty tier table resolves to 0% and writes nothing.
- The commission is smaller than I expected — it is calculated on line subtotals after discounts, with shipping and tax excluded.
- A tier never activates — thresholds are compared against commission earned, not sales generated. Divide your intended sales figure by your rate.
- Commissions stay pending — that is the default. Approve them on the Conversions tab, or turn on Auto-approve commissions under Settings → Payouts.
- I cannot find the button to create a payout — it is on the affiliate’s own detail page, not the Payouts tab. Open the affiliate from the Affiliates list.
- Create payout says the balance is below the minimum — only approved conversions count toward it. Pending ones do not, however large.
- The Mark paid button will not click — enter a reference first. It is required by design.
- A conversion says Paid but I have not sent anything — Paid means it has been rolled into a batch. Check that batch’s status on the Payouts tab.
- I refunded an order and the affiliate is still owed for it — reverse the conversion by hand on the Conversions tab. Nothing does it automatically.
- An affiliate says they were never told they were approved — the extension sends no email at any point. Contact partners yourself.