Linkzly

Affiliate Marketing

Linkzly's Affiliate feature lets you run your own affiliate program — recruit partners, give them trackable links, automatically attribute conversions to the ri

23 min read

Affiliate Marketing

Linkzly's Affiliate feature lets you run your own affiliate program — recruit partners, give them trackable links, automatically attribute conversions to the right affiliate, and pay them out. Everything lives inside your Linkzly dashboard, including a branded self-service portal your affiliates log into to track their own performance.


Overview

Setting up an affiliate program in Linkzly involves four main steps:

  1. Create a program — Define your commission structure, attribution rules, and approval settings.
  2. Set up a tracking domain — Add a CNAME record so your affiliate links use your own domain.
  3. Invite affiliates — Bring in partners who receive unique tracking links.
  4. Track and pay — Approve conversions and send payouts to affiliates.

Navigation

In the left sidebar, the Affiliate section (Handshake icon) contains two pages:

  • Programs — Create and manage your affiliate programs.
  • Reports — View aggregated analytics across all programs.

Note: The Affiliate section is gated by the affiliateEnabled feature flag. If you do not see it in your sidebar, contact your account administrator to enable it.


7.1 Creating an Affiliate Program

  1. In the left sidebar, click Affiliate, then Programs.
  2. Click Create Program in the top-right corner.
  3. Fill in the form and click Save.

Program Fields

Field Description Required
Program Name The display name for your program. Shown to affiliates in the portal. Required
Description A short description of your program. Shown on the affiliate portal join page. Optional
Commission Type How you calculate commissions. Choose Percentage (a percentage of the conversion value, e.g., 15%) or Fixed (a flat fee per conversion, e.g., $25.00 USD). Required
Commission Value The commission amount — either a percentage (e.g., 15) or a fixed amount in your currency (e.g., 25). For percentage type, maximum is 100. Required
Commission Currency The 3-letter ISO currency code for fixed commissions and payouts (e.g., USD, EUR). Defaults to USD. Optional
Attribution Window How many days after a click a conversion is still credited to the affiliate. Enter a number between 1 and 365. Default is 30. For example, a value of 30 means a purchase made within 30 days of clicking the affiliate's link counts as their conversion. Optional
Approval Mode Automatic — conversions are approved immediately. Manual — conversions sit in a pending state until you review and approve them. Default is Manual. Optional
Minimum Order Value The minimum conversion value required for a commission to be earned. Conversions below this amount are not attributed. Leave blank or set to 0 for no minimum. Optional

Note on Cookie Duration: Affiliate tracking cookies are set for a fixed 30-day window. This is separate from the Attribution Window — the cookie determines how long a click is remembered in the browser, while the Attribution Window determines how long after a click a conversion can still be credited.

After saving, Linkzly generates:

  • Program Slug — A short identifier used in your affiliate portal URL (e.g., acme-rewards).
  • Join URL — The public URL affiliates use to sign up: {your-portal-domain}/portal/{program_slug}/join.

Tip: Share the Join URL in your marketing materials so new affiliates can self-register and start promoting immediately.

Programs List

The Programs page shows a searchable, filterable table of all your programs.

Filters:

  • Search: "Search programs..."
  • Status: All Status | Active | Inactive | Archived

Table columns:

Column Description
Program Program name and slug.
Commission Commission type and value (e.g., 15% or $25.00 USD).
Status Current program status: Active, Inactive, or Archived.
Approval Approval mode: Automatic or Manual.
Attribution Attribution window in days.
Created Date the program was created.
Actions Per-row action menu.

Per-program actions (⋮ menu):

Action Description
View Details Open the full program detail page.
Analytics Jump directly to the program's Overview tab analytics.
Rotate Secret Generate a new API secret for S2S postback authentication.
Delete Program Permanently delete the program and all associated data. Destructive.

7.2 Setting Up a Tracking Domain

A tracking domain is the domain used in your affiliate links. Instead of links using a generic Linkzly domain, your affiliates' links can use a domain you control (e.g., go.yourcompany.com).

Step 1 — Add a CNAME Record

In your DNS provider (Cloudflare, Route 53, Namecheap, etc.), add the following record:

Field Value
Name The subdomain you want to use (e.g., go for go.yourcompany.com)
Type CNAME
Value Shown in your Linkzly Tracking tab settings

DNS propagation typically takes a few minutes to a few hours.

Step 2 — Verify the Domain

  1. Go to your program's Tracking tab.
  2. Enter your domain in the Tracking Domain field (e.g., go.yourcompany.com).
  3. Click Verify Domain.

Linkzly checks that the CNAME record is in place and confirms ownership. Once verified, the status changes to Active and your affiliate links will use that domain.

Note: You must complete domain verification before affiliate links can be generated on your custom domain.


7.3 Managing Affiliates

Inviting Affiliates

  1. Open your program and click the Affiliates tab.
  2. Click Invite Affiliates.
  3. In the Email Addresses field, enter one or more email addresses (one per line or comma-separated).
  4. Optionally add a Personal Message that will be included in the invitation email.
  5. Click Send Invitations.

Each invited affiliate receives an email with a link to join your program. They click the link, complete registration on your affiliate portal, and are added to your program.

Affiliate Status

Status Meaning
Pending Affiliate has been invited or registered but has not been approved yet (applies when your program uses Manual approval mode).
Active Affiliate is approved and can generate conversions.
Rejected The affiliate's application was reviewed and declined.
Blocked The affiliate has been temporarily blocked. Their links are disabled.
Suspended The affiliate's account is suspended. Links are disabled.

Affiliate Table

The Affiliates tab shows all affiliates in your program. Use the search and status filter to narrow the list.

Filters:

  • Search: "Search by name or email..."
  • Status: All Status | Active | Pending | Rejected | Blocked

Table columns:

Column Description
Name & Email The affiliate's display name and registered email address.
Status Current status badge.
Verification Whether the affiliate has verified their email address.
Source How the affiliate joined (invited, self-registered, etc.).
Joined The date they joined your program.
Actions Per-row action menu.

Per-Affiliate Actions

Click the menu on any affiliate row. Available actions depend on the affiliate's current status:

Action When Available Description
Resend Invite Invite token exists and not yet verified Re-send the invitation email.
Approve Pending and verified Approve the affiliate's application (Manual approval mode).
Reject Pending and verified Decline the affiliate's application. Destructive.
Block Access Active Temporarily block the affiliate. Their links stop working. Destructive.
Unblock Access Blocked Re-activate a blocked affiliate.

7.4 Affiliate Tracking Links

Each affiliate gets unique tracking links that record clicks and attribute conversions back to them.

Link Format

Affiliate links follow the format: {tracking-domain}/{slug}

The slug is an auto-generated 6–8 character short identifier (e.g., go.yourcompany.com/ab12cd).

Creating a Tracking Link

  1. Open your program and click the Links tab.
  2. Click Create Link.
  3. Fill in the form and click Save.
Field Description Required
Destination URL The page the affiliate link redirects to (e.g., your product page or homepage). Required
Campaign Name A label for this link (e.g., Summer Sale, Instagram Bio). Visible in your dashboard for reporting. Optional
Affiliate The affiliate this link belongs to. If left blank, the link is unassigned. Optional
UTM Source The UTM source tag to append to the destination URL (e.g., affiliate). Optional
UTM Medium The UTM medium tag (e.g., referral). Optional
UTM Campaign The UTM campaign tag (e.g., summer_sale). Optional

Link Table

Column Description
Link The full tracking URL ready to share.
Total Clicks Total times the link has been clicked.
Conversions Conversions attributed to this link.
Status Whether the link is active or inactive.
Actions Per-row action menu.

Per-Link Actions

Click the menu on any link row:

Action Description
View Analytics Open detailed analytics for this link.
Edit Edit the link's destination URL, campaign name, or UTM parameters.
Toggle Active/Inactive Enable or disable the link. Inactive links do not track clicks.
Delete Permanently delete the link. Destructive.

7.5 Conversion Tracking

A conversion is an action (usually a purchase) that gets attributed to an affiliate. Linkzly supports two methods for recording conversions.

Method 1 — Server-to-Server (S2S) Postback

S2S postbacks are the most reliable method. When a customer completes a purchase on your platform, your server sends a POST request to Linkzly's postback endpoint with the conversion details. Linkzly matches the click and credits the affiliate automatically.

Your postback endpoint URL and required parameters are shown in your program's Integration tab under Conversion Tracking. Requests must be authenticated with your program's API secret using HMAC-SHA256 signing.

Required parameters:

Parameter Description
order_id Your unique order identifier. Used as an idempotency key to prevent duplicate conversions.
order_value The total order amount as a decimal number.
order_currency 3-letter ISO currency code (e.g., USD).

Optional parameters:

Parameter Description
external_customer_id Your internal customer ID.
coupon_code Coupon code used on the order, for coupon-based attribution.
line_items JSON array of individual line items for detailed reporting.

Method 2 — Pixel / JavaScript

For simpler integrations, you can fire a JavaScript pixel on your order confirmation page. This method works for web-based conversions where you can add a script to your page. Integration details are available in the Integration tab.

Viewing Conversions

  1. Open your program and click the Conversions tab.
  2. Use the status filter to narrow the list:
Status What It Shows
All Every recorded conversion regardless of status.
Pending Conversions waiting for manual review (Manual approval mode only).
Approved Conversions confirmed and included in affiliate commissions.
Rejected Conversions reviewed and declined.
Refunded Conversions that were reversed due to a refund.

Table columns:

Column Description
Order ID Your unique order identifier submitted with the conversion.
Affiliate The affiliate credited for this conversion.
Amount The order value.
Commission The commission amount earned by the affiliate.
Status Current conversion status.
Actions Per-row action menu.

Approving and Rejecting Conversions

If your program uses Manual approval mode, conversions arrive in Pending status. Click the menu on any pending conversion:

Action Description
View Details Open the full conversion detail view.
Approve Confirm the conversion and add the commission to the affiliate's balance.
Reject Decline the conversion. The commission is not applied. Destructive.

Note: Conversions can only be approved or rejected while in Pending status. Approved conversions that need to be reversed (e.g., due to a refund) can be reversed via the API, resulting in a Refunded status.


7.6 Portal Customization & Branding

Your affiliates log into a branded self-service portal that looks like your own product. You control every visual element.

Open your program's Branding tab to configure the affiliate portal:

Setting What You Configure
Portal Enable Toggle the portal on or off.
Organization Name Your company name displayed in the portal header and emails.
Tagline A short tagline shown below your organization name.
Website Your company website URL.
Banner Image A banner image shown at the top of the portal and on the join page.
Logo Your company logo shown in the portal navigation.
Primary Color Primary brand color used for buttons and key highlights.
Secondary Color Secondary brand color for accents.
Accent Color Accent color for interactive elements.
Font Family The typeface used throughout the portal.
Layout Template The overall layout style for the portal.
Hero Title The main headline shown on the affiliate join/login page.
Hero Subtitle Supporting text shown below the hero title.
Hero Image Image displayed in the hero section of the portal.
Custom CSS Advanced: inject custom CSS for fine-grained style control.
Welcome Message Message shown to affiliates after they log in for the first time.
Registration Fields Configure which fields appear on the affiliate registration form.
Support Email Your support email address shown in the portal footer.
Social Links Links to your social media profiles shown in the portal.
Terms of Service URL Link to your Terms of Service, shown during registration and in the portal footer.
Privacy Policy URL Link to your Privacy Policy, shown during registration and in the portal footer.

After making changes, click Save. Changes take effect immediately.


7.7 Payout Management

Open your program's Payouts tab to access three sub-views:

  1. Pending Payouts — Affiliates with balances eligible for payout.
  2. Batch History — History of all payout batches.
  3. Payout Settings — Payment configuration for your program.

Payout Settings

Click Payout Settings to configure:

Setting Description
Payout Methods JSON configuration for the payment methods your affiliates can use (e.g., PayPal, bank transfer, Wise, crypto).
Payout Schedule How often you process payouts (e.g., monthly, bi-weekly, on-demand).
Payout Threshold The minimum balance an affiliate must accumulate before they are eligible for a payout.
Payout Hold Days The number of days after a conversion is approved before its commission becomes eligible for payout (0–365 days). This gives you time to process refunds before paying affiliates.
Tax Rate The tax rate to apply to commission invoices.
Tax Label The label to display for tax on invoices (e.g., VAT, GST).
Tax Inclusive Toggle whether the commission amount already includes tax (inclusive) or whether tax is added on top (exclusive).
Company Name Your company name as it appears on affiliate invoices.
Company Address Your company address for invoice records.
Company Tax ID Your company tax identification number shown on invoices.
Company Tax ID Label The label for your tax ID (e.g., VAT Number, EIN).
Company Country Your company's country for tax compliance purposes.

Processing Payouts

  1. Click Pending Payouts to see the total pending balance and all affiliates who have reached your payout threshold.
  2. Review the list of eligible affiliates.
  3. Click Create Payout Batch to group them into a single payout run.

Linkzly creates a payout batch — a grouped payment run — and automatically generates a formal invoice for each affiliate in the batch (formatted as INV-{program-slug}-{sequence-number}).

Batch History

The Batch History sub-view shows all previous payout batches. You can filter by date range and export to CSV.

Table columns:

Column Description
Batch ID Unique identifier for this payout run.
Date When the batch was created.
Affiliates Number of affiliates included.
Total Amount Total payout value of the batch.
Status Current batch status.

Batch statuses:

Status Meaning
Pending Batch has been created but processing has not started.
Processing Batch is currently being processed.
Completed All payouts in the batch have been sent successfully.
Failed One or more payouts in the batch failed.
Cancelled The batch was cancelled before processing.

7.8 Webhooks

Linkzly can send webhook events to your server when key things happen in your affiliate program. This lets you automate downstream actions such as updating your CRM, triggering email sequences, or syncing data with your own database.

Configuring a Webhook

  1. Open your program's Webhooks tab.
  2. Click Add Webhook.
  3. Enter your server's Endpoint URL (must be HTTPS).
  4. Select the Events you want to receive.
  5. Save the webhook.

Each webhook is secured with an HMAC secret. Linkzly signs each outgoing request so you can verify that the payload came from Linkzly and has not been tampered with.

Supported Webhook Events

Event When It Fires
conversion A new conversion is recorded.
conversion.approved A conversion is approved.
conversion.rejected A conversion is rejected.
conversion.reversed A conversion is reversed (e.g., due to a refund).
affiliate.approved An affiliate's application is approved.
affiliate.rejected An affiliate's application is rejected.
affiliate.blocked An affiliate is blocked.
payout.created A new payout batch is created.
payout.sent A payout is sent to an affiliate.
payout.failed A payout fails.

Testing and Delivery Log

Use the Test Webhook button to send a sample payload to your endpoint and verify your server is responding correctly. Linkzly tracks consecutive failures per webhook endpoint and can disable a webhook automatically if your server repeatedly returns errors.


7.9 Affiliate Analytics

Program Overview (Overview Tab)

Open your program and click the Overview tab to see the program's core performance metrics:

Metric Description
Total Clicks Total clicks across all affiliate tracking links for this program.
Conversions Total conversions attributed to affiliates in this program.
Total Commission Total commission amount earned by affiliates.
EPC Earnings Per Click — average commission earned per click.
CR Conversion Rate — percentage of clicks that resulted in a conversion.
RPC Revenue Per Click — average order value generated per click.

Reports Page

Navigate to Affiliate → Reports in the sidebar to access cross-program analytics. Use the program selector and date range filters (Date From / Date To) to scope the data, then click Refresh.

The Reports page contains five sub-sections:

Overview

Summary cards for the selected program and date range:

Metric Description
Total Clicks Total clicks across all affiliate links in the selected period.
Conversions Total conversions in the selected period.
Revenue Total order value attributed to affiliates.
Commission Total commission earned by affiliates.

Affiliates

A table ranking affiliates by performance:

Column Description
Name Affiliate display name.
Clicks Total clicks from this affiliate's links.
Conversions Conversions attributed to this affiliate.
Revenue Total order value from this affiliate's conversions.
Commission Total commission earned by this affiliate.
CR Conversion rate for this affiliate.

Links

A table of all tracking links and their performance:

Column Description
Link The tracking URL.
Clicks Total clicks on this link.
Conversions Conversions attributed to this link.
Status Whether the link is active or inactive.

Geo

A breakdown of clicks by country:

Column Description
Country Country name.
Clicks Number of clicks from this country.
Percentage Share of total clicks from this country.

Devices

A breakdown of clicks by device type:

Column Description
Device Device type (e.g., Desktop, Mobile, Tablet).
Clicks Number of clicks from this device type.
Percentage Share of total clicks from this device type.

7.10 The Affiliate Self-Service Portal

Your affiliates do not log into your Linkzly dashboard. They get their own branded portal at {your-portal-domain}/portal/{program_slug}.

Affiliate Portal Pages

Page What Affiliates See
Dashboard A summary of their performance: total clicks, conversions, earnings, and a time-series chart.
Links All their tracking links with click and conversion counts. They can create new links by entering a destination URL.
Conversions A list of all conversions attributed to them, with status (Pending / Approved / Rejected / Refunded), order value, and commission earned.
Payouts Their payout history and current pending balance. They can see when payouts were processed and the amounts paid.
Profile Their account settings including name, email, and their preferred payout method.

Affiliate Registration

New affiliates register at {your-portal-domain}/portal/{program_slug}/join. If your program uses Manual approval mode, they see a message that their application is under review. If Automatic, they are immediately approved and can start generating links.

Affiliate Payout Setup

On their Profile page, affiliates select their preferred payout method and enter the relevant details (PayPal email, bank account number, wallet address, etc.). This information is stored securely and used when you process payout batches.


Tips and Best Practices

  • Start with Manual approval mode. When launching your program, using Manual approval lets you review each applicant before they start promoting your brand. You can always switch to Automatic once you have your vetting process established.

  • Set a payout hold period. A hold of 15–30 days gives you time to process returns and cancellations before paying out commissions on orders that might be refunded.

  • Use campaign names on links. Ask affiliates to create separate links for each campaign (Instagram, newsletter, YouTube). This makes it easy to see which channels are driving the most conversions in the Links report.

  • Customize the portal branding before inviting affiliates. First impressions matter. Set up your logo, colors, and hero text in the Branding tab before sharing your Join URL so affiliates see a polished experience from day one.

  • Use UTM parameters on affiliate links. Add UTM tags when creating links so affiliate traffic is clearly labeled in your analytics tools and in Linkzly's own Reports page.

  • Monitor your webhook delivery log. If your server goes down during a conversion event, check the Webhooks tab delivery log to see which events failed. Use the Test Webhook button to verify your endpoint is healthy after any outage.

  • Set a Minimum Order Value if you sell products at varying price points. This prevents very small orders from generating commissions and keeps your program economics predictable.

  • Use the Attribution Window strategically. A longer attribution window (e.g., 60–90 days) benefits affiliates promoting considered purchases, while a shorter window (e.g., 7–14 days) is appropriate for impulse purchases. Remember that the browser cookie is fixed at 30 days regardless of this setting.

Was this helpful?

Help us improve our documentation