Changelog

Coupon Affiliates

8.4.0 14th September 2026 Latest
  • NewSuspend Affiliates > You can now suspend an affiliate instead of deleting them, from a “Suspend” button on the View Affiliate page or from the actions dropdown on the affiliates list. A suspended affiliate cannot access their affiliate dashboard, portal or MLA dashboard, and none of their coupons can be applied to a cart, auto-applied from a referral link, or used at checkout. Nothing is deleted – the user, their coupons, statistics, commission and payout history are all kept and stay fully viewable and editable by admins, and the suspension can be lifted at any time.
  • NewSuspend Affiliates > Suspended affiliates are flagged with a “Suspended” badge on the affiliates list and a banner on their View Affiliate page showing when they were suspended and by whom. Their coupons show a “Locked” padlock beside the coupon code on both the Coupon Affiliates coupons list and the WooCommerce Coupons list.
  • NewSuspend Affiliates > Suspending and un-suspending an affiliate is recorded in the activity log.
  • NewPROAffiliate Reports > The scheduled affiliate report has been rebuilt. Alongside the existing figures it can now show a headline earnings banner, a percentage change against the previous period on every statistic, best selling products, where the clicks came from (referring sites, landing pages and campaigns), new versus returning customers, payout activity, leaderboard position, sub-affiliate network totals.
  • NewPROAffiliate Reports > Three templates – “Modern” (the full report), “Minimal” (headline figures and a dashboard link) and “Classic” (the original three blocks of statistics) – plus individual switches for every section and every statistic, so each report can be built exactly as you want it. Anything switched off is no longer calculated, so a shorter report is also a faster one.
  • NewPROAffiliate Reports > A “Preview” button on the settings screen renders the real report for any coupon, email and PDF, without sending anything.
  • NewPROAffiliate Reports > Extra statistics available as cards: average order value, earnings per click, items sold, commission per order, paid this period and paid to date.
  • NewPROAffiliate Reports > New settings for the accent colour, cards per row, paper size, subject line, every section heading, the dashboard button text, and a plain text version of the email for clients that prefer one.
  • NewPROAffiliate Reports > Reports are now sent in batches in the background, with a schedule status panel showing the next run, how many were sent, and why any failed. Previously every affiliate was processed in one cron request, which could run past the PHP time limit on a large programme and leave the remaining affiliates without a report.
  • NewPROAffiliate Reports > Options to skip affiliates with no activity in the period, to delete generated PDFs after a number of months, and to block direct web access to the saved report files.
  • NewPROMailing List Integrations > FluentCRM is now supported. Choose a list and a tag to apply when an affiliate joins your program, with an option to require double opt-in.
  • NewPROScheduled Payout Requests > You can now choose which day of the month a monthly schedule runs on, rather than always the 1st. Pick any date from the 1st to the 31st, or “Last day of the month”. If the chosen date does not exist in a month (such as the 31st in February), the last day of that month is used instead.
  • TweakPROAffiliate Reports > The email and the PDF are now built from one set of figures and one set of layout components shared with payout statements, so the two documents agree with each other and look related.
  • TweakPROAffiliate Reports > Report PDFs are saved with an unguessable filename, and a shop manager can view or download any affiliate’s current report from the settings screen.
  • TweakPROAffiliate Reports > A report never shows an affiliate more than their dashboard does. Sections tied to a dashboard feature you have hidden (commission, referral URLs, products in the orders list, customer names, campaigns, payouts, the multi-level network) are left out of the report automatically.
  • TweakPROAffiliate Reports > The Reports settings tab has been reorganised into titled panels with related options side by side, and the preview / test dialog now reports whether the PDF was attached to the test email (and why not, if it was not). Section toggles whose dashboard feature is switched off are shown greyed out with the reason.
  • TweakPROAffiliate Reports > Stat cards on the PDF are balanced across rows so a group never ends with a single card, and tables may continue onto the next page instead of leaving the previous page half empty.
  • FixPROAffiliate Reports > Weekly reports covered the wrong dates. The date range was built with “first day of last week”, which PHP does not understand as a week, so weekly reports were reporting on a range roughly two months wide.
  • FixPROAffiliate Reports > Quarterly reports were always empty. The range started at the first day of the UPCOMING quarter, which has no orders in it yet.
  • FixPROAffiliate Reports > The subject line, PDF title and saved file path always said “last month”, whatever the schedule was set to.
  • FixPROAffiliate Reports > The PDF attachment was passed to the mailer as a URL rather than a file path, so some SMTP plugins sent the email without it.
  • FixPROAffiliate Reports > Report styling was added to every WooCommerce email the store sent, and once a report email logo was set it replaced the store logo in customer order emails too. Report styling is now applied only while a report is being sent.
  • FixPROAffiliate Reports > The statistics grid was laid out with floated columns, which Outlook ignores, so the figures stacked into one long column for many recipients. Everything is now built from tables that render the same in every mail client, and stays readable at phone width.
  • FixPROAffiliate Reports > PDFs used a core font that cannot render anything outside Western European characters, so affiliate names and many currency symbols came out wrong. They now use the same embedded Unicode font as payout statements.
  • FixPROPDF documents > Bold text in PDF reports and statements was rendering at regular weight, because the embedded Unicode font ships without a bold face. Bold is now synthesised when no bold face is available, so headings, figures and labels have proper weight contrast.
  • FixA PHP warning (“Attempt to read property “ID” on false”) was logged on every cart and checkout request when “Allow affiliate user to apply their own coupon code at cart / checkout” was switched off and the billing email address did not belong to a registered user account. The coupon check now looks the user up safely and is skipped when there is no matching account.
8.3.0 7th September 2026
  • NewPROCreatives > Dynamic creatives have been rebuilt around a new visual designer. Rather than filling in ten fixed text slots and positioning them with margin numbers, you now place text, QR codes, images, profile pictures and shapes on a live canvas by dragging them, with snapping guides, arrow-key nudging, undo and redo, multi-select, copy and paste, and a layer list for ordering. See “Coupon Affiliates > Creatives”.
  • NewPROCreatives > A creative no longer needs a background image. Leave the image empty to design on a blank canvas of any size, with a solid colour, gradient or transparent background, and pick from preset sizes for social posts, stories, leaderboards, skyscrapers, mobile banners and email headers.
  • NewPROCreatives > Sixteen ready-made starter layouts, including “Aurora”, “Neon night”, “Sale flash”, “Swing tag”, “Corner ribbon”, “Creator spotlight”, “QR card” and “Voucher”. Apply one and change anything you like, or keep your own canvas size and have the layout scaled to fit.
  • NewPROCreatives > Text layers now support letter spacing, line height, wrapping, upper case, lower case and capitalised text, drop shadows, outlines, a background behind the text, gradient fills, rotation and opacity, with normal, bold, italic and serif faces. Extra fonts can be registered with the “wcusage_creative_fonts” filter.
  • NewPROCreatives > Shape layers: rectangle, circle, triangle, diamond, arrow, chevron, star, burst, pentagon and hexagon, each with a solid or gradient fill, an “outline only” mode for rings and frames, corner radius, rotation and opacity.
  • NewPROCreatives > A “Profile image” layer that shows each affiliate their own profile picture (or Gravatar) as a circle or square with an optional border ring, and an “Image” layer for placing a logo or any other upload onto the design.
  • NewPROCreatives > A {store} merge tag for the site name, alongside {coupon}, {discount}, {username}, {first-name} and {company}.
  • NewPROCreatives > “Preview as” fills the design in with a real affiliate’s details by searching for their coupon code, and “Preview exact PNG” renders it through the same engine that produces the affiliate’s files. A “Things to check” panel points out text that runs off the canvas or is too small to read.
  • NewPROCreatives > Generated creatives are now saved as image files in the uploads folder and served straight from your web server. Previously every dynamic creative on the dashboard was a separate WordPress request on every page view, cached for only 24 hours. Cached images are rebuilt automatically whenever the creative is updated, and are pre-built when you save so the first affiliate to view them does not wait.
  • NewPROCreatives > A creative with nothing affiliate-specific in it (no merge tags, QR code or profile picture) is now generated once and shared, rather than once per affiliate.
  • NewPROCreatives > New options under the creatives settings: “Image Format” (Automatic saves both WebP and PNG and keeps the smaller file), “WebP Quality”, “Build missing creatives while the page loads”, “Creative Display Width”, and a “Clear generated creative images” button.
  • NewPROCreatives > A “Duplicate” link on each row of the admin list.
  • TweakPROCreatives > Existing dynamic creatives render exactly as before. Nothing moves until you open one in the designer and save it, and “Preview exact PNG” lets you compare the converted design against the current output first.
  • TweakPROCreatives > Background images can now be JPEG, GIF, WebP or AVIF as well as PNG. Previously anything other than PNG failed with “Could not load image!”.
  • TweakPROCreatives > The admin list now shows a thumbnail of the finished design for dynamic creatives, rather than the background upload alone.
  • TweakPROCreatives > Images on the affiliate dashboard now load lazily, with a loading indicator while an image is generated, so creatives further down the page are not generated until they are scrolled into view. The dashboard grid uses a smaller display size, and the full-resolution version is only generated when the affiliate previews or downloads it.
  • TweakPROCreatives > Downloaded dynamic creatives now carry the correct file extension.
  • TweakPROCreatives > Very large background images are now refused with a clear message rather than exhausting the server’s memory mid-render.
  • TweakPROCreatives > When the Google Fonts plugin is installed, it no longer overrides the plugin’s bundled fonts.
  • TweakPROPerformance Bonuses > Bonuses are awarded from each coupon’s saved “all time” stats, so they depend on the ‘Save the calculated “all time” stats for coupons as meta data’ option in the “Debug” settings tab. Previously, with that option switched off, the Performance Bonuses menu disappeared, bonuses silently stopped being awarded, and the “Add New Bonus” button in the Bonuses settings led to an “Invalid post type” error. The Bonuses settings tab, the Performance Bonuses admin pages and the Coupon Affiliates dashboard now show a notice explaining this with a one-click “Enable now” button, existing bonuses stay listed while paused, and a bonus cannot be published until the option is enabled.
  • FixPROCreatives > A dynamic creative embedded on an affiliate’s own website using its embed code could fail to load, as the image endpoint rejected requests from other sites. Access is now controlled by the signed token in the URL alone.
  • FixPROCreatives > With the ‘Show Creative “Image”‘ setting turned off, the preview, download and embed-code links for dynamic creatives on the affiliate dashboard were empty.
  • FixPROCreatives > The preview popup on the affiliate dashboard showed an empty box, with no loading indicator, while a dynamic creative was being generated.
8.2.0 31st August 2026
  • NewA REST API for connecting external tools, dashboards and AI assistants to your affiliate program, with API keys, scopes and an OpenAPI document. See “Coupon Affiliates > Admin Tools > API”.
  • NewPROWebhooks, sending a signed JSON notification to another service whenever a referral, commission, registration or payout happens.
  • NewPROA “Lifetime” tab on the affiliate view page, listing every customer linked to that affiliate, with the linked coupon and expiry date editable from the list. Customers can also be assigned to an affiliate as their lifetime referrer by hand, without waiting for the customer to order on the coupon.
  • NewHovering the commission amount in the “Coupon Affiliate” panel on an order now shows a full breakdown of how that figure was calculated.
  • NewRight-to-left support for the affiliate dashboard, applied automatically on sites using a right-to-left language such as Hebrew, Arabic, Farsi or Urdu.
  • NewA “New Coupon Assigned” email, sent to an existing affiliate when an admin gives them an additional coupon. The “Add New Coupon” and “Add New Affiliate” forms now let you choose which email the affiliate receives, or send none at all, and the email can be edited or turned off under the notification settings.
  • NewPROA “Customise affiliate details fields” panel under the payout statement settings, for renaming the company, address and tax number fields the affiliate fills in, marking any of them as required, hiding the ones you do not need, and adding extra fields of your own. Labels are left blank by default, so nothing changes until you enter your own wording.
  • TweakSignificantly sped up the affiliate dashboard, admin reports, leaderboard and every other screen that totals up commission.
  • TweakSignificantly sped up the “View Affiliate” page for affiliates with a lot of referrals.
  • TweakThe “Referred Orders” tab on the “View Affiliate” page can now be filtered by order status and by coupon, and searched by order number, customer name or email address. The “To” date is also now pre-filled with today’s date.
  • TweakMade a few improvements to the speed and performance of generating admin reports.
  • TweakPROImproved the speed of loading the “Commission Graph” on the affiliate dashboard.
  • TweakImproved the commission handling when more than one coupon was used on the same order.
  • TweakUpdated the styling of the “Coupon Affiliate” panel on the edit order page.
  • TweakThe “Export Affiliate Users” button on the Coupon Affiliate Users page now sits on the right and opens a panel to choose the group / role and sort order before downloading, matching the export on the Affiliate Orders page.
  • TweakImproved the reliability of the “refresh” button on an order’s “Coupon Affiliate” panel.
  • TweakThe custom “Affiliate” terminology set under the design settings is now applied to the affiliate dashboard, MLA portal and leaderboard, not just the admin area.
  • TweakPROMade around thirty pieces of text on the leaderboard translatable, along with a number of dashboard, portal and settings strings missing from the translation template.
  • TweakThe “Non-Affiliate Coupon Settings” are now available in the free version, and have been moved higher up the commission settings tab.
  • TweakUpdated the “Admin Tools” page styling and layout.
  • TweakPRORedesigned the PDF payout statement, with a clearer header and a status badge, side-by-side “From” and “Paid To” panels, a tidier items table and a highlighted total that picks up the button colour from your design settings.
  • TweakPROThe tax number, and any extra fields you add, are now labelled in the “Paid To” section of a payout statement, so a reference number is no longer printed on a line of its own with nothing to say what it is.
  • TweakCustom registration field answers were only saved to the affiliate’s profile when the application created a new account, so an applicant who was already logged in had the values on their application but nowhere else – the dashboard “Account Details” and admin user screens showed the fields blank even once accepted. Answers on existing applications can be copied across with the new “Restore Registration Field Answers” tool, which appears under Admin Tools only if your site has any to copy.
  • FixA custom registration field whose label contained an apostrophe or an ampersand (for example “Recipient’s full name”) never matched its stored answer, so it always displayed as blank, and answers containing an apostrophe displayed as “'”.
  • FixPROOn an order with more than one coupon, the granted commission was stored as a single figure that the last coupon overwrote, so the wrong amount was taken back when the order left a completed status. Each coupon now records and removes its own amount.
  • FixRefreshing an affiliate’s statistics did not recalculate pending commission on stores using High-Performance Order Storage.
  • FixOn stores in a timezone ahead of UTC, an order placed shortly after midnight was missing from “Referred Orders”, the dashboard statistics and the commission graph until later in the day, even though the all-time totals counted it. Date ranges now follow the store’s own timezone instead of UTC.
  • FixPROLifetime commission was calculated twice on stores using High-Performance Order Storage, and the customer was only linked to their lifetime affiliate on the second run.
  • FixPROFixed an issue with the commission balance when re-opening a cancelled order.
  • FixPROStore credit was taken before payment, and was not returned if the payment failed. It is now returned when an order fails or is cancelled, and taken again if that order is later paid.
  • FixThe Affiliate Portal and MLA Portal pages could return a “404 Not Found” on sites that had never re-saved their settings. The required URL rules are now installed automatically whenever they are missing.
  • FixThe Affiliate Portal slug was not escaped in its URL rule, so an empty slug or one containing punctuation could take over other pages. It is now escaped and falls back to “affiliate-portal”.
  • FixPROSending a test newsletter added a backslash before every apostrophe and quotation mark in the subject and content. Newsletters sent to affiliates were not affected.
  • FixSettings could silently fail to save when saving all at once on servers with a low PHP “max_input_vars” limit, or when a save was blocked or the database write failed. Bulk saves now fit within the limit, and any failure to save now shows the reason.
  • FixAdding a coupon to an affiliate from the affiliate view page reported that the coupon already existed when a coupon with the same code was sitting in the trash. Codes whose coupon has been deleted can now be used again, and the admin “Add New Affiliate” form no longer blocks a code whose accepted registration points to a deleted coupon.
  • FixPROCancelling or failing an order no longer leaves its commission in the affiliate’s pending balance, and cancelling a completed order no longer adds the commission back as pending.
  • FixWith the settings page set to “Manual Saving”, the “Save Settings” button did nothing at all. A stored currency conversion rate with more decimal places than its field allowed made the browser refuse to submit the form, and choosing “Manual Saving” was itself never saved, so the page reverted to automatic saving.
  • FixSome settings appear on more than one settings tab. When saving all settings at once, changing one of them was undone by the copy on the other tab, which still held the old value. All copies of a setting now update together.
  • FixPROA payout marked as paid without a payment date recorded against it showed “Nov 30th, -0001” as the date on its statement. Statements now fall back to the date the payout was requested.
  • FixPROWith statement tax turned off, the total on a payout statement was printed without its currency symbol or decimal places, for example “74.71” rather than “$74.71”.
  • FixPROA long “footer text” on a payout statement printed its line breaks as literal “
  • View the full changelog.