Routy

October 2026

29 new features, 2 new integrations, 115 improvements, 87 fixes and 54 connector fixes.

New29

  • NewAccount integrations

    You can now connect a MAP account with a reporting API key instead of a portal login.

    When you set up or edit a MAP account you can choose how to connect: the affiliate's API key, or the portal username and password as before. You only fill in the one you picked.

    Read the full page
  • NewAccount integrations

    Player-level MAP data is available, and off until you ask for it.

    A key-connected MAP account can collect a player report. It is switched off by default because MAP only returns it for a whole period at a time, so a day-by-day history has to be fetched a day at a time against a daily request allowance — turning it on is fine, but filling in a long history takes a while. The setting explains this where you turn it on.

    Read the full page
  • NewConversions

    Ask why a commission was estimated the way it was.

    A new API call takes a row as you see it and returns the commission plan that prices it, why each of your other plans didn't, and the amount as a formula, such as "FTD 1 × CPA 50 = 50" or "deposit 80 does not exceed baseline 100". It changes nothing, so you can also try "what if" values.

  • NewConversions

    CPC commission on the clicks we track.

    If a tracking link has a commission plan with a CPC rate, every click we track on that link from 1 January 2026 is priced at that rate. It shows as calculated CPC commission in your account, traffic-source and link reports. Change the rate, or the link's plan, and your reports are re-priced on the next update, past months included. Where your brand reports its own earnings for the month, that stays your commission, and the CPC is shown beside it. CPC rates on account-wide plans and tracking profiles are coming next.

  • NewConversionsRolling out

    You can correct the value of a single conversion, and account managers can now do it for the publishers they manage.

    The value we originally recorded is kept, and you can reset to it at any time. Reports use the corrected value, and the conversion's postbacks and webhooks are sent again with it. The editing screen is rolling out in the app.

  • NewChannels

    Google Ads always collects your campaigns, so totals match Google Ads.

    Keyword, ad group and ad detail is now an extra level underneath your campaigns rather than a replacement for them, and keywords are grouped under their ad groups. Campaign spend that no keyword accounts for (Performance Max, Display) is shown as "Not attributed to a keyword", so every level adds up to the same total.

    Read the full page
  • NewChannels

    Every connected channel can now be viewed by campaign, ad group, keyword or whatever levels it reports, with totals taken from the channel's own top level.

    Before, a channel that reports both campaigns and ad sets could show a total counting the same spend twice.

    Read the full page
  • NewChannels

    Google Ads now collects keyword detail by default, and records every paid click with the keyword and ad it came from.

    Google keeps that click list for only 90 days, so Routy now saves it on every sync. It is what will let Routy show what each keyword earned, not only what it cost.

    Read the full page
  • NewNotifications

    You can now turn off all notification email with one switch, and it keeps working as we add new notification types.

    Before, email could only be switched off one notification type at a time, so every new type we released arrived with email on and had to be switched off again. There is now a single Email notifications switch above the list. Security and account email — password resets and address confirmation — is always sent, and in-app alerts, browser push and Slack are unaffected. Your per-type settings are kept while it is off, so turning it back on restores exactly what you had.

  • NewConnected databases

    Your affiliate programs' report data in your connected database.

    Your account manager can now choose which tables we send to your connected database. Alongside clicks, page views and conversions, that includes the daily, monthly, brand, tracker and dynamic-variable figures your affiliate programs report. New and changed rows arrive within minutes. A row the program later withdraws stays in your database, marked as deleted, so nothing disappears from under a report you built. Earlier history is loaded when you ask for it. Your current selection is unchanged until you ask for a change. Rolling out: your account manager can switch tables on now, and you'll see the selection on your connected-database settings once the new view ships.

    Read the full page
  • NewReporting & integration API

    Export on the Clicks, Conversions, Page views and Impressions pages now exports what you are looking at.

    Filter the table however you like, hit Export, and the CSV holds those rows — same date range, same filters, same sort — with the download starting while you wait instead of becoming a background job you have to come back for. One export holds up to 25,000 rows; if your filters match more than that you still get a file and we tell you how many rows matched in total, so you can narrow the filters or use the background export for a genuinely large pull. The background export is still there for that, unchanged. See exporting the events you are looking at.

    Read the full page
  • NewReporting & integration APIRolling out

    Connect Claude or ChatGPT in one click (rolling out).

    You'll be able to add Routy to Claude or ChatGPT as a connector and approve it on a Routy page, with no key to copy. You choose which permissions and affiliates the assistant gets, admin access is never offered, and you get an email when an app is connected. It's behind a switch while we test it with both assistants. Until then, connect with a personal access token. See Connecting Claude or ChatGPT.

  • NewSub-affiliate networkRolling out

    Change a partner's deal without them changing links *(rolling out)*.

    On an offer assigned to a partner, you can now change the CPA, CPL, CPC, revenue share, baseline or currency from a start date you choose, now or later but never in the past. Traffic clicked before that date keeps the old deal however late it converts, and the partner is notified and can see the current deal, any upcoming change and the full history. A scheduled change can be withdrawn before it starts. This works through the API today; the screens for it in the app are on the way. See Changing the deal on a partner's offer.

    Read the full page
  • NewAccount security

    You can see where your account is signed in, and sign a device out.

    Your security settings now list every device still signed in to your account — browser, operating system, the IP it signed in from, when it last did something, and which one you are using right now. You can sign out any single device, or sign out everywhere except where you are. Useful if you signed in on a shared or borrowed computer, or if something in the list is not you. Signing a device out does not affect your API keys, so anything you have integrated keeps working.

  • NewAccount security

    Support can sign a user out.

    If you are locked out of an account, suspect someone else is signed in to it, or need to remove access for someone who has left, our team can now end their sessions for you — previously the only option was to disable the user entirely. Access stops within moments, on every device.

  • NewData exports

    Conversions can now be exported in bulk, the same way as clicks, page views and impressions.

    Pick Conversions under Settings → Exports and ask for any range up to the last 120 days, in CSV, JSON or Parquet, and we build the file in the background and tell you when it is ready — so there is now a way to pull every conversion for a long period, not just the first 25,000 of a filtered view. Each row carries the conversion's time and type, its value and currency, the account and traffic source it came from, the click and page view behind it, and the country and region. Earlier this month the same request was refused for want of this; it now works.

    Read the full page
  • NewTracking profiles

    Mapping rules can now fill in new tracking profiles as they arrive.

    Switch on Apply to new profiles automatically on a rule, and every profile an integration discovers from then on gets its brand, traffic source, country, region and commission plan from its name, with no Apply to press. It only fills details that are empty and never overwrites one you set. Each batch is kept as an automatic run in your apply history, so you can undo it like any other. Rules are off by default, so nothing you have today starts running on its own. The switch is coming to the app; until then it is available through the API. See the guide.

  • NewSupport ticketsRolling out

    Follow your support tickets in Routy.

    Every support ticket for your account is listed, including ones your teammates opened, ones you emailed to support, and older ones. Each one shows: - its number, where it stands, and Waiting on you when support needs something from you; - support's replies, with a notification when support replies; - what it's about, for tickets opened from an account, a link or an alert, so you can see that support is already on it rather than open the same ticket twice. You can also reply without leaving Routy, and your reply shows at once. Replying to a solved ticket reopens it. Coming to the app; available through the API now. See the guide.

  • NewConversions and webhooks

    Find out why a conversion didn't reach your webhook.

    Click Why didn't this fire? on any conversion, or open a conversion and expand Check this conversion's webhooks under Outgoing Webhooks. Every webhook set up for it is listed as would be sent, already sent, or skipped, with the reason (a disabled webhook, a conversion type it doesn't send, or a click from a different ad platform) and a link to fix it. Nothing is sent by checking. See Why didn't my webhook fire?, which has a short video.

    Read the full page
  • NewAccounts: commission plans

    A CPC rate on commission plans.

    The Add and Edit Commission Plan drawer has a CPC field for per-click deals, and it combines freely with baseline, CPA, rev share and CPL. Plans with a CPC show it in the plan list. Commission from the CPC rate is still rolling out to reports.

  • NewAccounts: commission plans

    Find an account by its deal.

    Commission plans, under Affiliate programs, lists every plan across your accounts with the account that holds it. Search by plan name, filter by status, program or brand, and sort by any rate to see your highest CPA or CPC deals first, and narrow by what the deal includes, a rate range, currency or country.

  • NewSettings and team

    A Master password tab in Settings.

    It shows whether a master password is set and whether it is currently active, and gathers everything you can do with it in one place: enter it, change it, recover it or reset it.

    Read the full page
  • NewSettings and team

    My access tokens.

    From your account menu you can create personal tokens that let a tool, such as an AI assistant, a script or a BI tool, act as you with only the permissions you choose, on all your affiliates or just some. Tokens can be renamed, given new permissions without changing the secret, and revoked. Rolling out. Read the guide.

    Read the full page
  • NewSettings and team

    Connect Claude or ChatGPT in one click.

    When you add Routy as a connector in Claude or ChatGPT, Routy now asks you what the app may do and on which affiliates, and shows where access is going, before you allow it. The connection then appears under My access tokens, where you can revoke it. Rolling out. Read the guide.

    Read the full page
  • NewEvents

    Export now covers what you filtered.

    On Clicks, Conversions, Page views and Impressions, Export sends the filters you have on screen and the file downloads straight away, with no background job and no re-picking the date range. Up to 25,000 rows per export; when there are more, we tell you how many matched so you can narrow the filters or start a full export instead. Rolling out.

    Read the full page
  • NewTracking profiles

    Apply mapping rules, undo them, and let a rule fill in new profiles automatically.

    Mapping rules now live in Settings, where you can apply what a preview shows, see every run in History and undo it, and switch a rule to fill in new tracking profiles as your integrations find them. An account's Tracking Profiles tab opens the rules for that account. Rolling out. Read the guide.

  • NewSupport

    Follow your support tickets in Routy.

    My tickets, in the account menu, lists every ticket for your account, including ones you emailed to support. Tickets that need your answer are marked Waiting on you, and you can read support's replies and reply with files from the ticket. Rolling out. Read the guide.

  • NewSupport

    "Support is on it" on accounts, links and alerts.

    When a ticket about one of them is open, a chip links to it, and the ticket form offers that ticket before you open a second one. Rolling out.

  • NewDashboards: paid traffic ROI

    See whether the traffic you buy makes money.

    The Paid Traffic ROI dashboard puts your Google Ads spend next to what that traffic earned, per site, campaign, ad group and keyword, with ROAS, profit, cost per FTD and the most you can pay per click. It also shows which brand earns the most per click for each keyword, and works without a connected ad account (earnings only). Rolling out. Read the guide.

    Read the full page

New integrations2

  • IntegrationAccount integrations

    New: Track360.

    You can now connect an account on a Track360 program, such as Blitzmania Partners, Jackpot Junction or Octopus Affiliates, with the same username and password you sign in to the portal with. Routy collects your daily performance per campaign, country, sub id and click (sign-ups, first deposits, deposits, GGR/NGR and commission), the same figures as daily totals per campaign and for the whole account, plus your players' activity and your campaigns. See the setup guide.

  • IntegrationAccount integrations

    New: Crypto Games.

    You can now connect a Crypto Games affiliate account with the same username and password you sign in to the portal with. Routy collects your daily totals, your figures per campaign, per sub id and per player (clicks, registrations, first deposits, deposits, NGR and commission), plus your balance and campaigns. Player rows carry no clicks, because Crypto Games does not link clicks to players. See the setup guide.

Improved115

  • ImprovedAccount integrations

    Older MAP connection types are marked as superseded.

    If you have an account on one of them it keeps working exactly as it does today; they are just no longer offered when you add a new account.

    Read the full page
  • ImprovedAccount integrations

    MAP brands that send report links with a key in them can be connected.

    Some MAP brands give you a set of report links containing a username and key, which didn't work as a regular MAP API key. Those accounts now connect with the username and any one of the keys, and Test connection tells you which reports the brand has enabled. Where a brand issues a separate key for one report, add it in that report's API key setting; it's stored hidden and applies to that account only.

    Read the full page
  • ImprovedAccount integrations

    You can preview a mapping before approving it.

    A new preview shows your account's report as your mappings — drafts included — would produce it, computed from the reports we have already pulled. So you can change a mapping, see the numbers it gives, and only then make it count. If the preview comes back empty it tells you which of the two reasons it was: no report stored for those dates, or mappings that produce nothing from the reports you do have.

    Read the full page
  • ImprovedAccount integrations

    You can approve your own mapping.

    Previously only your account manager could, so a mapping you edited could sit as a draft with no way to finish it off.

    Read the full page
  • ImprovedAccount integrations

    You can remove a mapping you changed.

    A Remove action on your own version of a column mapping deletes it, and the column goes back to the mapping Routy had for it before you touched it — or to not mapped if there wasn't one. This is the way out of a half-finished edit: previously a mapping could only be overwritten, so correcting a change you regretted meant retyping what was there before and hoping you remembered it. Removing is permanent, and it only ever removes your version — the Routy mapping other accounts use is untouched, and columns you have never edited have nothing of yours to remove.

    Read the full page
  • ImprovedAccount integrations

    Nothing you have today changes.

    Every mapping that was already working stays active and keeps producing the same numbers — we marked all of them approved as part of this change. Only mappings you create from now on wait for your approval.

    Read the full page
  • ImprovedAccount integrations

    More regions are recognised without anyone adding them by hand.

    A region now matches on its name, its full code or its two-letter code against our reference list, so states that used to come through as an unrecognised region — Washington DC and Puerto Rico among them — are matched automatically. Where a two-letter code could mean a region in two different countries we leave it unmatched rather than guess, and support can map it explicitly.

    Read the full page
  • ImprovedAccount integrations

    We no longer store click-by-click detail for days that are mostly empty clicks.

    Some networks report a row for every single click, and on some accounts a day carries thousands of rows whose only content is "somebody clicked" — nothing you can act on, and storage you are charged for. From now on, when one day on one account carries more than 1,000 rows like that, or when 99% or more of that day's rows are like that, we stop keeping the click-by-click breakdown for that day. (The second case is there because a small day can be just as empty as a big one.) Your totals are unaffected, and every sign-up, deposit, commission and revenue figure on those same rows is stored exactly as before — including when a click that converted sits among them. If you need the detail on a day like that, talk to support: both numbers are settings, not rules.

    Read the full page
  • ImprovedAccount integrations

    Busy Quint accounts can now load their history in smaller pieces.

    A long date range used to be fetched in one go, and on a busy account it could fail outright. It can now be loaded a week (or a day) at a time. If one piece fails, only the days in that piece are retried.

    Read the full page
  • ImprovedAccount integrationsRolling out

    You can now re-run an account that ran in the last hour without reloading its data

    (rolling out). A manual run within an hour of the last one is still turned away at first. You can now choose to run it anyway, and only the days that are missing are collected. Before, the only way past it was "force", which collected every day in the range again. Your account's tier still limits how often you can run it by hand, whatever options you choose.

    Read the full page
  • ImprovedAccount integrations

    An empty credential field now says which one.

    If a field your integration needs, such as the Client ID, API key or password, is empty, Test connection and every account run now stop with a message naming that field. Before, you saw the partner's own error, often something like "the request is missing a required parameter", which didn't say what to fix.

    Read the full page
  • ImprovedConversions

    The commission we estimate from your commission plan now appears in your Conversions report.

    Brands are inconsistent about reporting commission — some send a figure on every row, some on only a few, some none at all. Where a brand sends none, we work the commission out from the commission plan on the account, and until now that estimate never reached your Conversions report: you could see the first deposit that earned you money and no commission anywhere against it. Those estimates now show up as their own rows, marked as estimates, and past dates are filled in too.

  • ImprovedConversions

    An estimate and a brand-reported commission are never added together.

    They are two different numbers: the brand's figure already accounts for qualification baselines and adjustments our estimate does not, so on the same visitor they can differ by a lot. Totals add up each kind on its own. Where a deal pays both a fixed amount per customer and a share of revenue, you will correctly see both.

  • ImprovedConversions

    We no longer estimate a commission your brand already reports.

    If a brand's report includes CPA commission, revenue-share commission or a total earnings figure, that is the figure you see, and we don't add our own estimate for it, even on days the brand shows nothing. We still estimate the kinds of commission the brand doesn't report. Older dates update the next time they are collected.

  • ImprovedConversions

    Search your commission plans by the deal.

    Through the API you can now find which account holds a deal by filtering commission plans across all your accounts on currency, target country, the rate types the plan pays (CPA and revenue share together finds hybrid deals) and a minimum or maximum per rate. The Commission plans page in the dashboard that uses this is rolling out. Finding a commission plan across your accounts.

  • ImprovedConversions

    Clearer notices for postbacks we couldn't match.

    When a network sends a postback with a click reference we can't read, or with none at all, the notification now explains that it can only be changed in that network's postback settings, so there is nothing to change on Routy's side. It also includes an example of the request, which usually shows which network sent it.

  • ImprovedConversions

    New: we tell you when a postback uses an event name we don't accept.

    If a network sends, say, firsttimedeposit instead of firsttimedeposits, the postback reaches us but nothing can be counted for it. You now get an Issue and an email naming the network, the account and the parameter, with the list of names we accept, so you can rename it in that network's postback settings. The accepted names are listed in the postback parameter guide.

  • ImprovedConversions

    A conversion is now credited to a click up to six months older than the conversion itself, and the window starts on the conversion's date.

    Before, a conversion was only matched to a click from the last 120 days, counted back from the day we processed it. A long-cycle conversion, such as a first deposit months after sign-up, or one the brand reported weeks late, could miss its click and go unattributed. A click that has already produced one conversion stays matchable to later conversions however old it is, as before.

  • ImprovedConversions

    New: see why a conversion did or didn't fire your webhooks.

    For any conversion, Routy now lists each of your webhooks with whether it would be sent and, if not, why: the event source or conversion type doesn't match, the webhook is disabled, or the conversion was already sent. It also shows whether a failed delivery will be retried. Available through the API now; coming to webhook History in the app.

    Read the full page
  • ImprovedChannels

    Your Google Ads and Google Search Console connections now run on Channels, and you don't need to reconnect them.

    We're moving existing connections across for you, keeping the same traffic source, and Channels re-loads the history Google still holds. Your old traffic-source integration stays in place until the new connection has synced, so there's no gap in your data.

    Read the full page
  • ImprovedChannels

    Routy now checks your Google Ads totals against Google's own account total after every sync and records any difference, so a mismatch is spotted before you have to compare screens.

    Read the full page
  • ImprovedNotifications

    "Account integration completed with missing data" alerts now go to our team instead of to you.

    They said that some days of a report could not be collected, but not which report, which days or why, so neither you nor your account manager could act on them. Our team now gets each one with the report, the dates and the reason, and follows up. The missing days are still requested again on every run. Alerts you can act on yourself, such as a rejected password, are unchanged.

    Read the full page
  • ImprovedTracking links

    The "retired link is still getting clicks" alert now tells you when the link it forwarded to was deleted.

    A retired link can forward its clicks to a replacement. If that replacement is later deleted, the forwarding stops and clicks on the retired link are turned away. The alert used to say the link had no replacement, which wasn't what you had set up. It now names the deleted link, so you know to set a new replacement. Deleting a link never re-routes your other links for you: if you delete a link that others forward to, set them a new replacement.

  • ImprovedCustom tracking domains

    A domain that has been unreachable for a week is checked once a day instead of every few minutes.

    Its alert stays open, so you still see it, and once you fix the domain's DNS it clears within a day without you having to do anything.

    Read the full page
  • ImprovedConnected databases

    Your connected-database page now shows how many rows we *tried* to write, not just how many landed.

    "3 clicks saved in this hour" read the same whether we were given 3 and saved all of them or given 4,000 and saved 3. Each hour now also reports the rows we attempted, the rows your database already had (we deliver at least once, so a repeat is normal and not a loss), and the rows we could not write at all — which is the one worth acting on. Hours before this release have no attempted figure to show. Rolling out — the figures are in the API now and appear on the page once the new view ships.

  • ImprovedConnected databases

    You can now give a teammate access to your connected database without making them an account admin.

    Edit a team member's permissions and you'll find a new Connectors group with Read, Update and Delete. Read shows the connection settings, the synced tables and the hourly delivery figures. Update also lets them set the connector up, change it, pause it and test it. Delete lets them remove it. Account admins keep full access. The stored database password is never shown to anyone, account admins included. To change it, enter a new one.

    Read the full page
  • ImprovedReporting & integration API

    Dynamic-variable statistics load far faster over long date ranges.

    The dynamic-variable pivot — on screen, in its CSV export and through the API — used to take up to half a minute for a busy account over a year or more. It now answers in a couple of seconds, with the same figures. Rows that tie on date, account and dynamic variable may come back in a different order than before.

    Read the full page
  • ImprovedReporting & integration API

    The conversions list shows the account the brand reported a conversion under, and flags a link from another account.

    If you use a tracking link from one of your accounts for a brand you report under another, the conversion's account is now the one the brand reported, matching your account reports. The link's own account is shown alongside, the row is marked as a mismatch, and filtering by either account finds it. Before, the list showed the link's account and filtering by the reported one missed the conversion.

  • ImprovedReporting & integration API

    Tracking-link reports can be converted to your currency.

    /v1/reports/brand-links and /v1/reports/brand-links/days now accept convertToCurrency, so a link's commission and the totals row can be shown in the same currency as the rest of an account's page. Without the parameter the figures are unchanged, and the ...Usd fields now carry the dollar amounts instead of 0.

  • ImprovedReporting & integration API

    Conversion figures on the older conversions report now come back in your account's own currency.

    GET /events/conversions reports one row per click per day, and until now a click with conversions recorded in two different currencies had those amounts simply added together — a figure in no currency at all. This endpoint now reads the same reporting warehouse as the rest of your reporting, and each row's money fields come back converted into the currency of the affiliate program account the click belongs to, at the exchange rate for that figure's own month. An account that records everything in one currency sees the same numbers it saw before. Counts of things (signups, deposits, chargebacks, withdrawals) are unchanged.

  • ImprovedReporting & integration API

    One thing to know if you read the commission fields on that report.

    cpaCommission and revShareCommission now carry only what the affiliate program itself reported, and the commission Routy works out from your commission plan is carried whole in calculatedCommission — the field that endpoint already has for it. Nothing is lost and no field mixes the two, but if you were reading your calculated CPA commission out of cpaCommission, read calculatedCommission as well.

  • ImprovedReporting & integration API

    The Impressions and Page views event lists follow your account access.

    If you manage several affiliate accounts, both lists return the accounts you can reach, whatever you filter by, and an account filter you set narrows that further. These lists now work the same way as Clicks and Conversions, and nothing changes for a publisher working in one account.

  • ImprovedReporting & integration API

    An account's source reports open to anyone on your team who can see the account.

    The two endpoints that list the reports we pulled for an account and return their rows, with how each column maps, used to need an account admin. Any user with permission to view accounts can now read them, for the accounts their team can see, on plans that include the source report.

    Read the full page
  • ImprovedReporting & integration API

    Your AI assistant can work across the accounts you manage.

    A connected assistant (Claude, Cursor or any MCP client) can now list the affiliate accounts your connection can reach and run reports for whichever one you name, instead of only the one the connection was created for. A connection made with an account API key still reaches only that account; the wider reach arrives with personal access tokens.

  • ImprovedReporting & integration API

    Everyone on your team can read reports and connect their own AI assistant.

    Every user can now open reports and give their own personal access token report access, so each person can connect Claude or another MCP client with their own token instead of borrowing an admin's. It is read-only: editing saved reports still needs that permission granted.

  • ImprovedSub-affiliate network

    Offer visibility follows the audience you set.

    An offer created for a specific partner is visible to that partner and to the network that created it. An offer with no partner follows the visibility you chose for it: Public to anyone, Partners to partners of your network. If you have an older offer with no partner and no visibility set, it is visible only to you until you choose one.

  • ImprovedSub-affiliate network

    Offers can start today, or earlier.

    When you add an offer to your network you can now set its start date to today, or back to the 1st of last month, so the offer covers conversions your partners have already driven. Previously any date before the current moment was refused, including today. Leave the start date empty to start the offer immediately.

    Read the full page
  • ImprovedSub-affiliate network

    Recalculating partner conversions no longer reprices past traffic.

    Each conversion keeps the deal that was in effect when its visitor clicked, so recalculating after a deal change leaves earlier conversions at the price they were sent under.

    Read the full page
  • ImprovedSub-affiliate network

    Your network controls its offers.

    Only your network can change an offer you publish, including its deal. Partners can still see their deal.

    Read the full page
  • ImprovedSub-affiliate network

    A partner's deal is private to you and that partner.

    On an offer you publish as Public, only your network and that partner can see the deal you gave that partner.

    Read the full page
  • ImprovedSub-affiliate network

    Generating and approving partner payouts takes edit access to your network.

    A team member or API key with view-only access to your network can see payouts, but not generate, approve or reject them. Give them edit access to Networks if they should manage payouts.

    Read the full page
  • ImprovedSub-affiliate network

    Reviewing partner conversions takes edit access to your network.

    A team member or API key with view-only access to your network can see partner conversions, but not approve, reject, edit or recalculate them. Give them edit access to Networks if they should review conversions.

    Read the full page
  • ImprovedSub-affiliate network

    Partners can see which brand an offer is for.

    Every offer now carries its brand, so a partner browsing a network's offers sees the brand and its logo, and can filter by it, without access to the network's own tracking link.

    Read the full page
  • ImprovedDashboards

    The partner home dashboard is focused on the partner's own traffic sources.

    It is filtered to the traffic sources assigned to that partner.

  • ImprovedCatalog

    Adding a brand through the API is tied to your programs.

    When an API key creates a brand or attaches one to an affiliate program, the program must be one you have an open account on, and creating a brand must name that program. Other requests are refused. Adding brands from the dashboard is unchanged.

  • ImprovedAccount security

    Stronger checks on Google and Facebook sign-in.

    Creating an account from a Google or Facebook sign-in works for the identity the provider confirmed during that sign-in, and the step expires after 10 minutes. If you already have a Routy account with a password, sign in with your password: a first Facebook sign-in does not connect to it automatically. Google sign-in connects automatically when Google has verified your email.

  • ImprovedAccount security

    The account owner manages the master password.

    Changing, resetting and recovering it are owner-only actions, and recovery always goes to the owner's registered address. Anyone on the team can still use the master password if the owner shares it, to unlock the account's integrations as before. If your account has no owner set yet, designate one in your account's contact settings before using these actions.

  • ImprovedAccount security

    Resetting the master password takes two steps, with a code sent by email.

    Asking to reset sends a confirmation code to the account owner's address and changes nothing; entering that code performs the reset, which discards the credentials for every connected account. The code is valid for 3 minutes and is never shown on screen, so holding it is proof the request is yours. If our support team helps you reset, they will ask you to read the code back to them: we cannot reset your master password without you.

  • ImprovedAccount security

    API keys created from 24 October 2026 do exactly what their permissions say.

    A Full access key can do everything an account owner can. A key created with specific permissions, such as an AI-assistant key, is limited to exactly those. A few staff-only actions, such as uploading images or attaching users to an account, don't work from any key. If a key gets "forbidden" errors, create a new key with the permissions it needs and delete the old one. Creating a key through the API requires choosing its permissions. See API keys and their permissions.

    Read the full page
  • ImprovedTracking profiles

    Preview what automatic mapping would do before you switch it on.

    The preview can now show exactly what a rule would fill in on its own, tried against the profiles you already have, and which details it would leave to a rule that isn't automatic.

  • ImprovedTracking profiles

    You're now told what automatic mapping did.

    When a rule fills in new tracking profiles on its own, you get a message naming the account, how many profiles were filled in and which details, with the run you can open to review or undo it. When a rule matches new profiles but finds a value it doesn't know, like BTM with no brand assigned, you get one alert for that value, naming the rule and how many profiles it left empty. Teach the rule the value and apply it, and the alert clears. Both appear with your other alerts. Email is off unless you switch it on in your notification preferences. See the guide.

  • ImprovedTracking profiles

    Tracking profile changes are validated against the profile.

    A profile's traffic source must be one of your own, its commission plan must be on the profile's account, and its brand must be on the account's program. Anything else is refused with a "not found" message. Deleting a profile that no longer exists says it wasn't found.

  • ImprovedAccount integrations: report columns

    A mapping you edit now tells you it is not counted yet, and gives you the two ways out.

    Changing what one of your report columns maps to turns that column into a draft, and a draft does not count towards your figures. The row now says so, right where you changed it, with Approve, which starts counting the change, and Undo, which removes your version of the mapping so the column goes back to the mapping Routy had for it, or to not mapped if there was not one. The confirmation names which of the two is about to happen. Until now the screen said nothing at all, so an edited column stopped counting with no sign of it.

    Read the full page
  • ImprovedAccount integrations: report columns

    You can see what your mappings would produce before you approve them.

    A preview on the account's report columns shows the report as your mappings, drafts included, would produce it, worked out from reports we have already collected. It changes nothing and counts for nothing, and it covers up to 31 days at a time. If it comes back empty it tells you which of the two reasons it was: no report stored for those dates, or mappings that produce nothing from the reports you do have.

    Read the full page
  • ImprovedAccount integrations: report columns

    You can now recount the figures you already have after approving a mapping.

    Approving a mapping decides what we do with reports from then on; it never went back over figures that were already built, so a corrected column left your past numbers alone and the only way to fix them was to ask support. Re-run on the account's report columns now does it for you: pick the report dates, and we rebuild your figures for them from the reports we already collected, through the mappings as they stand approved. Quick buttons cover since yesterday, the last 7 or 30 days, this month and last month. It runs in the background and shows up on the account's Integration tab, and it never fetches anything new from your affiliate program.

    Read the full page
  • ImprovedAccount integrations: report columns

    Where a mapping came from now reads the same in both views.

    The flat list of report columns shows the same source badge the grouped view already had, shaded by level, so telling your own mapping from the one Routy supplies no longer means switching views.

    Read the full page
  • ImprovedAccount integrations: report columns

    Preview now finds your signups on a day that is mostly clicks.

    If your affiliate program reports every click, one day on that account can be over a hundred thousand rows with only a handful carrying a signup or a deposit — and the preview showed you the first fifty, which were clicks that did nothing. It now picks the rows instead: everything that carries activity, plus a sample of the click-only ones so you can see the rest are there. A line above the table names both counts, the click-only rows are greyed and marked, and Rows with activity only hides them. This is rolling out, so you may see the old "Showing 50 of 412 rows" line on some accounts for a short while.

    Read the full page
  • ImprovedAccount integrations: your account's runs

    A guide for an account you already have.

    The Integration tab on an account now has a help guide: what each run status means, how to fix an account whose runs are blocked by changed credentials, what Test Integration does and does not check, and when to use Extract. Learn More on a new account's Integration tab, which did nothing until now, opens it, and so does the help panel in the Edit and Extract drawers. The guide to adding an account gained screenshots, and both guides have a walkthrough video.

    Read the full page
  • ImprovedDashboards: page performance

    The account and program filters now tell you which account you are picking.

    The account filter shows each account the way the link management filter does, with its program, software and network beside the name, and searching it matches the program and software names as well as the account. The program filter shows each program's logo, the way the accounts filter does. Before this both were a bare id and name, so two accounts on the same program were impossible to tell apart.

    Read the full page
  • ImprovedDashboards: page performance

    The country filter lists country names and flags instead of two-letter codes.

    Each country reads as its flag, its name and its code, the same way the geo rules editor shows them. An applied country or region also carries its flag and name in the chip beside the filter button.

    Read the full page
  • ImprovedDashboards: page performance

    Narrowing the dates no longer empties the traffic source, brand and country filters.

    Those lists now cover everything on your account rather than only what falls inside the dates you are looking at, so the controls are still there when you shorten the range to work out why a figure looks wrong. The page filter still follows the dates, because that list is as long as the number of pages you have ever had traffic on.

    Read the full page
  • ImprovedDashboards: page performance

    See every part of the commission.

    The explorer can now show Earning, CPL, CPC and flat fee, and CPA and revshare split into reported and calculated, so you can see how each page's commission was reached. Add them with the column picker; they are also in the export.

    Read the full page
  • ImprovedDashboards: account performance

    Account Performance now has a help guide.

    Open the help panel on the dashboard for what each view means (Routy, External, Effective and Compare), how to read the cards and the account breakdown, and why the program's numbers and Routy's rarely match exactly.

    Read the full page
  • ImprovedDashboards: account performance

    The program filter now shows your programs.

    On the Account Performance, Page Performance and Routy Performance dashboards, the program filter lists the programs you have accounts with, so the one you want is easier to find.

    Read the full page
  • ImprovedDashboards: account performance

    See every part of the commission.

    The account breakdown can now show CPA and revshare split into reported and calculated, plus Earning, CPL, CPC, flat fee and floor adjustment, so you can see how each account's total commission was reached. Add them with the column picker; they are also available as cards and in the export.

    Read the full page
  • ImprovedLink monitors

    A plan that does not include link monitoring now says so, and shows you how to get it.

    The screen used to read "not available" and stop there, which looked like the feature was missing rather than something you can add. You now see the screen itself, with a card over it naming what link monitoring does and an Upgrade Plan button, or who to ask if you are not the person who handles billing.

    Read the full page
  • ImprovedNotifications

    Live alerts now reach you for the account you have selected.

    An alert about something that affects you, a link breaking or an import finishing, appears as it happens rather than only on your next page load, and switching account re-points it at the new one. A first connection that fails, on a flaky network or mid sign-in, now retries by itself instead of leaving live alerts off until you reload the page. Rolling out as the supporting service reaches every server.

    Read the full page
  • ImprovedBilling and plan

    Features your plan does not include all look the same now.

    Whichever screen you land on, a capability that is not on your plan shows you the screen with a card over it: what the feature does, and either an Upgrade Plan button or who to ask. Before this, some screens said nothing and only disabled a button, some showed a one-line banner, and one just said "not available". Short links, channels and event webhooks are rolling out with this behaviour already in place.

  • ImprovedBilling and plan

    Change the card you pay with.

    Plans & Billing now has a Change card button on the Billing tab. It opens our payment provider's secure page, where you enter the new card. This is rolling out.

  • ImprovedBilling and plan

    A guide to Plans & Billing, with a walkthrough video.

    It covers each tab: your plan and its usage, choosing a plan, your next charge, changing your card, receipts, and what each limit means.

  • ImprovedGuided tours

    Declining the tour twice now stops it being offered.

    Skipping the Get Started prompt brought it back the next day, every day, and the only thing that stopped it for good was a small "Don't show again" in the corner of the dialog. The second time you decline, Routy takes that as your answer and stops asking. Starting a tour whenever you want is still in your profile menu.

  • ImprovedConversions and webhooks

    You can now see what we sent for a webhook, and what came back.

    Click the status of any webhook in the list and it opens on that delivery, showing the exact message we posted and the reply from your endpoint. A failure names the endpoint, the status it came back with and what it said, instead of only telling you that it failed. Every retry is listed, newest first, and both the message and the reply can be copied. On a wide screen, hovering a failed status gives you the reason without opening anything.

    Read the full page
  • ImprovedConversions and webhooks

    You can now name each conversion event the way the receiving partner expects it.

    One webhook can send ftd for a First Time Deposit and lead for a Lead, so an ad network or tracker you post to does not have to be talked into accepting Routy's names. Open Event Name Overrides at the foot of the webhook form and type a name beside any conversion type you picked; leave one blank and we send our own name for it. What you type is what arrives as the event name, what ${eventName} writes into your URL, and what the webhook list and the sent-events list show for that conversion type.

    Read the full page
  • ImprovedConversions and webhooks

    The webhooks guide now has screenshots and a video, and opens from the screen.

    The (?) in the header on a traffic source's Webhooks tab, and on the Webhooks page, opens it: adding a webhook, testing it with Simulate, reading its History, and sending real clicks with Send.

    Read the full page
  • ImprovedDatabase connector

    Your connected database now tells you what share of your data it took.

    The hourly chart counted the rows we saved and nothing else, so "3 clicks saved in this hour" read the same whether we handed your database 3 rows or 4,000. A Delivery health panel above the chart now shows how many rows we attempted, the share of them your database accepted, how many it skipped as duplicates and how many were dropped, and the save rate is drawn on the chart hour by hour. Hovering an hour gives you all four figures for it. Hours from before we started counting attempted rows have no save rate to show, and read the same way a genuinely quiet hour does.

    Read the full page
  • ImprovedDatabase connector

    Duplicates and dropped rows are told apart.

    A row your database already had is not lost data, it is us delivering at least once, so duplicates are reported plainly and never as a failure. Dropped rows, the ones we could not write at all, are the only figure that turns red, and they are now drawn beside errors on the second chart. Where there is nothing to divide by, the save rate shows a dash rather than 0%, so a quiet night no longer looks like an outage.

    Read the full page
  • ImprovedDatabase connector

    The connected database screen has help of its own.

    The (?) in the header and the (i) beside Delivery health open a guide to what the four figures mean, why duplicates are not loss, what to check when the save rate drops, and why older hours have no save rate at all.

    Read the full page
  • ImprovedDatabase connector

    Your connected database can now receive your account integration reports.

    A new Synced tables card on the connector screen shows the eight tables we can fill, green for the ones we fill and grey for the rest: clicks, page views and conversions as before, plus what your affiliate programs report per day, per month, per brand, per tracker and per dynamic variable. Your account manager chooses which ones are filled. This is rolling out.

    Read the full page
  • ImprovedDatabase connector

    Team members can see or run the database connector without being admins.

    When you edit someone under Settings, Team, a new Database connector permission gives them view-only or full access to the connector screen. Without it they are told to ask an account admin for that permission, and the connection password is never shown to anyone. This is rolling out.

    Read the full page
  • ImprovedAccounts: commission plans

    The plan's note is now called its name, because that is what it is.

    The field in the Add and Edit Commission Plan drawer was labelled Description, but what you typed there is what names the plan everywhere else: the Name column in the list, the plan picker on a tracking profile, and the mapping rules that match a plan by it. It now reads Plan Name and takes a single line.

  • ImprovedAccounts: commission plans

    A new commission plan starts today unless you say otherwise.

    Plan Start Date opens filled with today's date rather than empty, so you only touch it when you are backdating a deal.

  • ImprovedAccounts: commission plans

    A heads-up when a CPC looks like something else.

    A CPC above 20 in the plan's currency, a plan name that mentions EPC, eCPM or CPA, or a currency symbol in the name that differs from the plan's currency now shows a warning under the field. You can still save: high CPCs are real for some traffic.

  • ImprovedSettings and team

    Owner controls for the master password.

    Changing, resetting or recovering the master password belongs to the account owner named under Settings, User Management, Account contacts. Anyone on your team can enter a master password they were given. If you are not the owner you still see those actions, with the reason they are unavailable. Rolling out.

    Read the full page
  • ImprovedSettings and team

    Resetting the master password now has a confirmation step.

    A reset clears your stored account credentials, so you will need to enter them again afterwards. You choose the new password, we email a code to the account owner, and typing that code finishes the reset. The code lasts three minutes and you can ask for a new one. If our support team starts the reset for you, you will be asked to read the code back to them.

    Read the full page
  • ImprovedSettings and team

    MCP & Access Tokens: connect an AI assistant, whoever you are on the team.

    The account-menu page that was called My access tokens is now MCP & Access Tokens, and it starts with how to connect an assistant: add Routy as a connector in Claude or ChatGPT, or create a token with reporting access and copy a ready-made setup for Claude Desktop, Claude Code or Cursor. Every user connects as themselves; it no longer takes an account admin. Rolling out. Read the guide.

    Read the full page
  • ImprovedSettings and team

    API tokens are now a Settings tab.

    Your account's API tokens moved from the account menu to Settings, API tokens, for account admins; old links still take you there. The Settings MCP tab is gone: assistants connect from MCP & Access Tokens instead, and keys the MCP tab created keep working and are listed under API tokens.

    Read the full page
  • ImprovedSettings and team

    API tokens now list each key's access.

    Keys made with Full access, and any key created before 24 October 2026, read Full access, and older keys also carry a "Created before scoped permissions" badge. Rolling out. Read the guide.

    Read the full page
  • ImprovedEvents

    The old whole-account export is still there, as a second option.

    Export now opens a short menu: the filtered download, the rows already loaded in the table, and the full background export for every row over a date range. The background export also opens on the dates you were already looking at instead of an empty range.

    Read the full page
  • ImprovedEvents

    Conversions now show when a link from another account was used.

    The Account column is the account the brand reported the conversion under, and a row whose click came through a link from a different account is marked "Link from" with that account's name. Filtering by either account finds the row, and a new optional Link Owner Account column shows both side by side.

    Read the full page
  • ImprovedEvents

    Every Events page now has its own help.

    Clicks, Conversions, Postbacks, Page Views, Impressions and Webhooks each open a guide from the (?) in the header, with screenshots. It covers how to find which traffic source a click ID or dynamic parameter belongs to, what each column and status means, and what to check when something you expected isn't there.

    Read the full page
  • ImprovedEvents

    You can correct the value of a single conversion.

    When a deposit or commission was recorded with the wrong amount, the pencil at the end of its row on Conversions lets you set the right one, and Reset to recorded value undoes it. The recorded value is kept, and saving re-sends that conversion's postbacks and webhooks with the new amount. Account managers can do this for the affiliates they manage. Rolling out.

    Read the full page
  • ImprovedLink management

    You can switch a link off and back on.

    A live link can now be deactivated, which stops it taking traffic until you switch it on again, and a link that is already off can be switched back on. Both work on a single link and on a selection of them. To find links that are off, set the Status filter to Inactive. A link that was replaced by another link cannot be switched back on, because putting that one back means undoing the replacement.

    Read the full page
  • ImprovedLink management

    Row actions moved into a menu, and deleting a whole selection at once is gone.

    Replace, Edit creative, Activate, Deactivate and Delete now sit in the actions menu at the end of each row instead of a line of icons. Deleting many links in one go has been removed: deactivating them is the reversible way to take links out of service, and a single link can still be deleted from its own menu.

    Read the full page
  • ImprovedLink management

    Deleting a link now warns you if other links forward their clicks to it.

    The delete confirmation names those links, because once the link is gone their clicks are blocked. You can still delete it; set them a new replacement first to keep them working. Rolling out.

    Read the full page
  • ImprovedAccounts: integration credentials

    Account credentials stay available when a password needs re-entering.

    After a change such as a new master password, an account still opens its API key and client ID. If the account signs in with a password that needs re-entering, its field asks you to enter it again. Rolling out.

    Read the full page
  • ImprovedAccounts: integration credentials

    Saving login details now updates only what you type.

    Your other stored details stay in place. Switching an account to a different sign-in method removes the old method's details, and the form says so before you save. Rolling out.

    Read the full page
  • ImprovedPartners and networks

    New offers can start in the past.

    When you add an offer you can now pick its start date, from today back to the 1st of last month, so it covers conversions your partners already drove. Clear the date and it starts when you save. Picking today used to fail with "Offer cannot start in the past". Rolling out.

    Read the full page
  • ImprovedPartners and networks

    You can change a partner's deal without touching their links, from today or from a date you pick.

    Edit the deal on an offer you assigned to a partner, choose when it takes effect, and save. Traffic clicked before that date keeps the old deal, the partner is notified, and the offer shows the change until it starts. Both you and the partner can open the offer's deal history, and you can withdraw a change that hasn't started. This is rolling out.

    Read the full page
  • ImprovedPartners and networks

    Adding an offer now starts from the tab you're on, and asks who it's for.

    Add on Assigned Offers is preset to one partner and Add on Public Offers to all your partners, and the form now asks "All partners in this network" or "One partner" instead of a three-way visibility choice. If you pick the other one, the page switches to the tab where the new offer appears, so it no longer looks like it was never added.

    Read the full page
  • ImprovedPartners and networks

    One-partner offers now ask you to pick the partner.

    When you choose One partner, you select who it is for before the offer can be saved.

    Read the full page
  • ImprovedPartners and networks

    Partners can see where their offer requests stand.

    After Request Access, the offer now shows Requested until the network reviews it, and In My Offers once it's approved, so a request can't be sent twice by accident. Team members who aren't account admins are told to ask an admin instead of getting an error. New guide and video: Offers as a partner.

    Read the full page
  • ImprovedPartners and networks

    Partners can filter a network's offers, and see them as a table.

    The All Offers tab now shows each offer's brand and logo, filters by brand, deal type, country and currency as well as status, and on a computer can switch from cards to a sortable table with country flags.

    Read the full page
  • ImprovedDashboard

    The dashboard is shown in your own currency.

    Every money figure on the page is converted, at each month's exchange rate, into the currency in your Profile settings, or your account's currency if you have not set one. Until now it was always shown in US dollars.

    Read the full page
  • ImprovedAccounts

    Your own currency is always one of the quick picks.

    When you add or edit an account, a commission plan or a flat fee, the currency choices now include your Profile currency and your account's currency next to EUR, USD, CAD and AED, so a GBP publisher no longer has to find GBP behind the + button every time. The + button still offers every other currency.

    Read the full page
  • ImprovedAccounts

    Export the program catalog as a CSV.

    On the Add account screen, Export CSV downloads every program in the list, with its website and software, so you can match the programs you already work with to Routy's catalog. Search and filters narrow what goes into the file.

  • ImprovedAccounts

    Source Report: see the report your program sent us, and how each column maps.

    An account's Source Report tab, rolling out, shows the rows of the report we pulled from the program for a report type and date range in the last 120 days, with the Routy field each column feeds. Anyone on your team who can see the account can open it, on plans that include it; without it the tab shows what it unlocks.

    Read the full page
  • ImprovedAccounts

    See an account's commission in its own currency.

    When an account pays in a different currency from yours, the Show in account currency switch in its ⋮ menu shows the figures unconverted, as the program reports them.

    Read the full page
  • ImprovedAccounts

    Link commission in your currency too.

    The commission on each link in an account's Links tab is now converted into your currency as well, and follows the same switch. This is rolling out over the next few days.

    Read the full page
  • ImprovedReports

    A Total row on every report.

    The report builder now pins a Total row to the bottom of the table that adds up each number column across every row matching your filters, so you can check a tracking profile or dynamic variable report against your program's own figures without removing the Day or Click ID columns first. On a phone the totals sit in a card above the report.

    Read the full page
  • ImprovedReports

    A report's address now follows what you change.

    Columns, filters, sort and parameters are kept in the page address as you work, in plain readable form, so a reload keeps your changes and you can bookmark or copy the link straight from the address bar. Links you shared before this change still open.

    Read the full page
  • ImprovedTracking profiles

    A guide to mapping an account's tracking profiles.

    The Tracking Profiles tab on an account now has a help guide and a walkthrough video: where new profiles come from, how to map one to its traffic source, brand, country and commission plan, and what mapping changes in your reports and what it doesn't. The book button beside the tab's title, which did nothing until now, opens it.

  • ImprovedChannels

    New: a Spend tab on each channel connection, with totals that match the vendor.

    See spend by campaign, then ad group or keyword, for the whole range or day by day. The totals row is the vendor's own figure at every level, and each campaign shows the spend no keyword or ad group accounts for. Rolling out. Read the guide.

    Read the full page
  • ImprovedChannels

    New: pick a whole month on a channel connection.

    The date range on Spend, Metrics and Breakdowns lists each of the last eight months, plus Custom for any other range.

    Read the full page
  • ImprovedChannels

    A connection that only syncs by hand now says so.

    When a connection's automatic sync is off, its badge reads Connected · Manual sync only instead of a plain green Connected, and clicking it opens the schedule. On Google Ads the connection also warns that Google keeps click details for 90 days only. Read the guide.

    Read the full page
  • ImprovedSupport

    New: mark a ticket resolved, or reopen it.

    When your problem is sorted, press Mark as resolved on the ticket. If a solved ticket's problem comes back, press Reopen to hand it back to support. Rolling out.

Fixed87

  • FixedAccount integrations

    Tracker names changed at the network weren't updated in Routy.

    When we found a tracker you already had, refreshing its name failed silently, so a tracker renamed at the network kept its old name here. Renames now come through on the next collection.

  • FixedAccount integrations

    The click id parameter wasn't picked up for a newly connected account.

    For an account with no tracking settings saved yet, the click id and dynamic parameter names a network reported were dropped instead of being saved as the account's defaults.

  • FixedImpressionsRolling out

    Impression pixels were not recording anything.

    An impression pixel generated for a link or an offer returned "not found" rather than the tracking pixel, so impressions embedded in display or email creatives counted as zero no matter how often they were served. The pixel address was correct — nothing needs regenerating — but the platform was not answering it. It answers now, and impressions are recorded from the moment the fix is live. Impressions served while this was broken were never recorded and cannot be recovered.

    Read the full page
  • FixedConversions

    Commission estimates now use the plan that was in force when the activity happened.

    When a report row could not be matched to one of your clicks, we used to price it with your newest commission plan, even one that started after the activity. Adding a plan could change the estimate on rows from before it existed. Those rows now use the plan in force on the row's own date. Suspended plans no longer price anything, and a plan for one region no longer prices activity from another. Report rows and postbacks now choose a plan by the same rules, so the same activity gets the same plan either way. Some estimates will change the next time those dates are collected.

  • FixedConversions

    A commission plan set on a link now prices that link's report rows.

    Estimates on report rows ignored plans attached to a link, or to the link's tracking profile, and used your account-wide plans instead. Rows that came through such a link will be re-estimated with the link's plan the next time those dates are collected, so some estimates will change.

  • FixedConversions

    A CPA we estimated from a postback looked like the brand's own figure.

    When a postback reported a qualification or first deposit without a commission, we estimated the CPA from your plan and recorded it as CPA Commission. It looked like the brand's number, and it could stop the brand's real figure from being recorded when their report arrived. Estimates are now recorded as Calculated CPA Commission, so you see the brand's figure and our estimate side by side, never added together. A webhook set to CPA Commission now sends only the brand's figures. Conversions recorded before this change are not altered. How commissions are reported and estimated.

  • FixedConversions

    Some postbacks were accepted but never turned into conversions.

    When a postback arrived and the platform could not look up its originating click quickly enough, the postback was recorded as received and then quietly abandoned — no conversion, no commission, and nothing to indicate anything had gone wrong. Postbacks that hit this are no longer dropped: one that cannot be processed first time is now retried automatically until it goes through. Conversions missed while this was happening are being recovered; if a figure still looks short for a past date, ask support to check it against your postback log.

  • FixedConversions

    A postback carrying the network's own click reference could be lost.

    If a network put its own id where Routy's click id goes, some postbacks were thrown away instead of recorded. They are now recorded like any other postback without a matching click, so the deposit or sale still shows up.

  • FixedNotifications

    Slack messages no longer end with a stray apostrophe.

    Every Slack notification carried a ' after the message text. Cosmetic, now gone.

    Read the full page
  • FixedNotifications

    Search-engine crawlers no longer set off "a retired link is still getting clicks".

    When a crawler revisited an old page that still carried a link you had retired, we counted it as a click, reopened the alert and emailed your whole team. Crawlers are now ignored for this alert, and the email no longer shows an empty "Where the clicks are coming from" box when we don't know the source.

    Read the full page
  • FixedNotifications

    "integration completed with missing data" emails were never sent.

    This alert reached the bell, browser push and Slack, but its email failed every time. It is now emailed to everyone who has email turned on for it.

    Read the full page
  • FixedTracking links

    Archiving a tracking link could stop it from working.

    Archiving is meant only to tidy your links list, and clicks on an archived link are supposed to keep working. They didn't always: a click on an archived link showed "This link is no longer available", and archiving a link that an older link forwards to broke the older link too, so visitors on it were no longer redirected. Archived links now redirect exactly as they did before you archived them, with no change needed from you. Clicks during the affected period could not be redirected and cannot be recovered.

  • FixedTracking links

    One abandoned visit could break an account's tracking links for half an hour.

    If a visitor closed their browser, or their connection dropped, while a tracking link was being resolved, that single abandoned visit could make every later click on that account's links fail for up to thirty minutes. The error said we could not work out which account the link belonged to, when in fact nothing was wrong with the account or the link. Abandoned visits now affect nothing but themselves, and a visitor who leaves is no longer treated as a fault.

  • FixedTracking links

    Tracking links published before the move to the new platform go where they always went.

    They are recognised and redirect to their original destination, with no change needed from you. Clicks on them are counted against the right account; they may be grouped under a different link name in link-level reports, so use the account figures for these.

  • FixedTracking links

    Clicks were failing on links whose web address ended in an `&`.

    Some link templates build a tracking URL that finishes with a stray & — for example ...?affId=3353&ts=5002517&. Every click on a link like that failed: the visitor saw an error page instead of reaching the brand, and the click was not counted. Because the stray & comes from whatever built the link, a traffic source doing this was losing all of its clicks, not some of them. These links now work as they always should have, with no change needed from you. Clicks that were already lost cannot be recovered — if you think a traffic source of yours was affected, talk to us and we can check which of your links were failing and from when.

  • FixedCustom tracking domains

    Clicks in the short `yourdomain.com/12345` form were failing on some custom tracking domains.

    Tracking links on your own domain come in two shapes — the long one, and a short one that is just the link's number after your domain name. While we were moving custom domains onto our new platform, the short shape stopped resolving on four domains, and visitors clicking those links reached an error page instead of the offer. On one domain this had been happening since late August. Clicks on the long shape, the tracking pixel and postbacks kept working throughout, which is why it went unreported — everything else on the domain looked healthy.

    Read the full page
  • FixedCustom tracking domains

    All four domains are serving again, and the short shape is now part of what we set up for every custom domain, so it works from the moment a domain goes live.

    If you use short-form links on your own tracking domain and saw clicks go missing, talk to us — we can tell you which dates were affected for your domain.

    Read the full page
  • FixedCustom tracking domains

    "Domain Down" and "Domain recovered" alerts about tracking domains that were working.

    Our health check was being turned away by a security filter in front of some tracking domains, and read that as the domain being down, even though visitors' clicks were going through normally. The check now recognises when it was the one blocked, and stops alerting. If you got a run of these alerts since October 11, you can ignore them.

    Read the full page
  • FixedClick data

    The longitude on your clicks was wrong, and is now correct.

    Every click we geolocated was stored with its longitude set to the same value as its latitude, which puts the point in the wrong place — often in the wrong hemisphere. Latitude, country, region and city were always correct, and nothing in the product's own reporting used the longitude, so what this affected is your own analysis if you export clicks or read them out of a connected database. Clicks from now on carry the right value. The clicks already stored still hold the wrong one; the true value was kept alongside it all along, so talk to us if you need your history corrected.

  • FixedConnected databases

    The average write time on your connected-database page was always zero.

    If you mirror your clicks and conversions into your own database, the hourly chart for it reported an average write time of 0 ms no matter how long the writes actually took. The figure is now real. Everything else on that page — clicks, conversions, page views, errors — was already correct.

  • FixedConnected databases

    The hourly chart on your connected-database page could fail to load at all.

    If your database had a quiet hour anywhere in the window you were looking at — no clicks, conversions or page views written — the page returned an error instead of the chart. A quiet hour now simply reads 0 ms for average write time, and the rest of the window draws as normal.

  • FixedConnected databases

    Connecting your own database no longer needs permission on the `public` schema.

    If you mirror your data into your own database and your database user was granted rights only on the schema we write to, setting the connection up failed with "CREATE TABLE permission denied" — even though the grant was correct and the tables would have been created without a problem. We were checking the wrong schema. The check now tests the schema you actually named, and if it does fail it tells you which schema it tried and what your database said, so you can hand that straight to whoever administers it.

  • FixedConnected databases

    Reloading your historical data no longer stops at the first click we could not read.

    If you asked us to re-send a date range into your connected database, a single click missing its query string ended the whole reload — and nothing behind it was sent. Those clicks are now skipped individually and the rest of the range goes through. If you ran a reload that reported a failure, run it again.

  • FixedConnected databases

    Writes to your connected database always go to the schema you configured.

    If you mirror your clicks, conversions and page views into your own database, each write now targets the schema you named on the connection. Nothing about your setup needs to change. If you find Routy rows under a schema name you did not configure, talk to support.

  • FixedConnected databases

    Clicks and page views use the schema you configured too.

    Bulk writes of clicks and page views to your connected database now target your configured schema, like the rest of your data. Some clicks and page views did not reach your database before this change. Your clicks and page views in Routy itself were not affected. Nothing about your setup needs to change, but to fill the gap, reload the date range since mid-October into your connected database.

  • FixedConnected databases

    Clicks we had already sent you could fail on a second attempt instead of being skipped.

    We deliver clicks to your database at least once, so the same batch can arrive twice — the second copy is meant to be recognised and ignored. Instead it failed, and kept failing, so those clicks never landed and the errors kept counting on your connected-database page. Repeats are now skipped as they were always meant to be, and the clicks behind them go through.

  • FixedConnected databases

    Reloading conversions into your connected database could fail on rows you already had.

    If you asked us to re-send a date range of conversions and some of them were already in your database, the reload could stop on the first day and never get further, however many times it retried. Conversions you already have are now updated, missing ones are added, and the rest of the range goes through. If a conversions reload of yours failed, run it again.

  • FixedConnected databases

    One unreadable page view no longer stops the rest of its batch.

    A single page view we could not turn into a row discarded every page view sent with it, and kept discarding them on each retry. Only the page view we cannot read is skipped now; the rest are written.

  • FixedConnected databases

    A conversion that changed twice in quick succession could fail instead of updating.

    We send a conversion to your database again every time it changes, so two copies of the same one can arrive at the same moment — when they did, one of them failed with a duplicate-row error rather than updating the row already there. It was retried and almost always landed on the second attempt, so what you hold is correct; it showed up as errors on your connected-database page. A conversion already in your database is now updated whichever copy arrives first. The same applied to reloading a date range while new conversions were coming in, where one such row would stop the rest of that batch.

  • FixedConnected databases

    Reloading a busy date range into your connected database no longer fails.

    If you asked us to re-send clicks you had already received — which is what most reloads are — any hour holding more than about 1,500 of them failed outright, and kept failing on retry. Quiet ranges worked, which is why this looked intermittent. Reloads of any size now go through. If you ran a reload that reported a failure, run it again.

  • FixedPlan usage

    Data you had deleted still counted towards your plan's usage.

    Account-integration events that had been removed — either by you, or automatically when a re-collection found a brand no longer reporting them — kept counting towards your monthly usage for as long as the records stayed in our system. The same was true of deleted webhook deliveries. Only live data counts now. The usage figure corrects itself day by day as each day's usage is recalculated, so if it had been overstated you will see it come down over the following weeks rather than all at once. A drop is the correction, not a change in what you are using.

  • FixedPlan usage

    Plan-usage alerts that said your tracking was being dropped when it was not.

    A usage alert for clicks, conversions or events ended by telling you that new events were being rejected and that the traffic was not being recorded. That was not true: we do not stop recording your traffic when you pass a plan allowance. An alert now says plainly whether anything is actually being refused, and only the allowances we really do enforce — page-view sessions, postbacks and outgoing webhooks — say so. Alerts about an allowance that is not enforced are no longer marked critical.

  • FixedPlan usage

    Usage alerts for an allowance you do not have.

    If your plan gives you unlimited clicks, conversions or events, you may have received alerts saying that allowance was "at 100% (1/0)" — on your very first event of the day, repeatedly. Those alerts were wrong and are gone.

  • FixedPlan usage

    The same usage alert arriving over and over.

    A single allowance being over its limit could raise a fresh alert every few hours — one account received 24 alerts in a week for one unchanged fact. You now get one alert per allowance while the condition lasts, and alerts about an allowance already far past its limit no longer repeat for every small increase.

  • FixedReporting & integration API

    `calculatedCommission` carries your total commission again on the older reporting endpoints.

    It always held an account's total commission: the program's reported earning, or CPA plus revenue share plus any flat fee. Since 19 October it read 0 for accounts whose commission Routy calculates from the commission plan, for example a postback account whose postbacks carry no amount, while cpaCommission stayed filled. It now includes the calculated commission (CPA, revenue share, CPL and CPC) wherever the program reported none of its own, so it reads the same before and after that date. It already contains cpaCommission and revShareCommission, so do not add the three together. Applies to /reports/days, /reports/accounts and the per-day, per-month and per-brand reports under it, and the five /accounts/stats/*/pivot endpoints. The click log already worked this way. See commission on the older reporting endpoints.

  • FixedReporting & integration API

    The reporting and log endpoints send the field names the old API sent.

    If you integrate directly against our older endpoints, the field names are the ones that API always used and that its published API reference documents — cpaCommission, affiliateProgramId, affiliateProgramAccountId, accountName, id, parameterA, parameterB, externalClickId, affiliateTrackerId, headersNew, operationSystem, source, utmVars, geoLocation, sessionInfo, documentInfo, clientProperties, data, createdDate, requestUrl, signups, firstTimeDeposits, chargebacks, chargebackAmount, date, firstTimeDeposits, trafficSourceId and frindlyName on the traffic-source body. Dates on these endpoints are full timestamps, as they always were. The full before/after list, field by field and endpoint by endpoint, is in field names on the older Routy endpoints.

  • FixedReporting & integration API

    If you changed your integration between 12 and 15 October, change it back.

    For three days these endpoints sent a different set of names — cPACommission, programId, accountId, account, clickId, pa, pb, cid, trackerId, headers_new, OperationSystem, Source, utm, geo, session, document, clientInfo, log, receivedOn, url, sign-ups, FTDs, chargeBackCount, chargeBackAmount, month, ftds, trafficSource, name — and the per-day and per-month report dates were sent as plain dates (2026-10-11) rather than timestamps. That was our mistake: we read an unused setting in the old API's code as the names it had sent, and it never sent them. Everything is back to the names above, which is what your integration was built against. If you are reading a name from that list, it will stop resolving.

  • FixedReporting & integration API

    These older endpoints send only the fields the old API sent.

    Some newer fields had made their way onto them — the plan-calculated commissions, the affiliate name, a page cursor, the click log's device and UTM details, the location link on a created resource. They have been taken off these endpoints only; the /v1/reports, clicks and page-view endpoints carry them as before, with more detail than these ever had. The calculated commission figures are still reflected here: cpaCommission, revShareCommission and calculatedCommission carry them whenever the affiliate program reported no commission of its own.

  • FixedReporting & integration API

    The `FirstDepositAmount` event type has its name back on the account-statistics endpoints.

    The five /accounts/stats/* endpoints report an eventType for each row. One of the values the old API documented had no name on our side, so a row carrying it came back as the number 34 where every other row carries a word — a client reading that field as text would have failed on those rows rather than skipping them. It reads FirstDepositAmount now, as the API reference says.

  • FixedReporting & integration API

    `GET /links` is available again.

    Listing your links across every account, without naming an account, had no handler on the new platform and returned a 404. It answers both at /links, the path the old API published, and under the /api prefix the rest of the endpoints use, so it works whichever base URL you call us on.

  • FixedReporting & integration API

    Renaming a tracking profile saves again.

    PUT on a tracking profile accepted a new friendly name and quietly kept the old one.

  • FixedReporting & integration API

    `currencyCode` converts your report figures again.

    Asking a report for a currency had stopped having any effect: the amounts came back in US dollars whatever you asked for, with an exchange rate of 1, so there was nothing in the response to show the request had been ignored. Every money figure is now converted to the currency you ask for, at the rate for each figure's own month — so a report spanning two months uses each month's rate rather than one rate for both. Counts of things (clicks, signups, first-time deposits) are unchanged, the ...USD fields still hold the US dollar amount, and exchangeRate reports the rate actually applied. Asking for USD, or not asking at all, returns exactly what it returns today. Applies to /reports/total, /reports/days, /reports/accounts and /reports/accounts/days. If you ask for a currency we hold no rate for, you now get a clear error instead of dollar figures labelled as that currency.

  • FixedReporting & integration API

    Commission is no longer 0 for accounts whose commission we calculate.

    If an affiliate program's report does not carry a commission column, Routy works the commission out from your commission plan instead — but the older reporting and account-statistics endpoints had no field for that figure, so they sent 0 and the money appeared to be missing. cpaCommission and revShareCommission now carry the calculated figure whenever the program reported none of its own, and calculatedCommission carries your CPL and CPC commission, which those endpoints had no field for at all. A figure the program did report is never replaced, and no field ever adds a reported figure to a calculated one, so totals you build from these fields stay correct. Applies to /reports/days, /reports/accounts and the per-day, per-month and per-brand reports under it, the five /accounts/stats/*/pivot endpoints and the click log. The newer /v1/reports endpoints are unchanged — they already send both figures side by side.

  • FixedReporting & integration API

    The page-view report returns data again.

    GET /events/page-views was reading a data warehouse we have retired, so there was nothing behind it. It now reads the same store the rest of your reporting comes from. The fields, the ordering and the added_on behaviour are unchanged — poll with added_on and you get the page views recorded since that moment, as before. Three fields come back empty for now: sessionId, clientId and landingPageViewId; everything else is populated, including queryParms. id is the id the tracking script generated, which is a UUID unless you have configured the script's id format otherwise. A page holds up to 200 rows, so a large pull takes more pages than the old limit of 10,000 suggested.

  • FixedReporting & integration API

    The click log reports when each click was stored, so you can poll it for new clicks.

    On the older /events/clicks endpoint, every row's addedOn read 0001-01-01T00:00:00, which made the added_on parameter unusable: there was no value to feed back in to ask for "only what is new". addedOn now carries the time the click was stored, which is later than the click's own time whenever a click reaches us late. Rows also carry the visitor's city, which was always blank. Note that added_on still filters on the click's time rather than the stored time, so a poller should keep a small overlap window; continent and targetUrl on this endpoint remain blank.

  • FixedReporting & integration API

    `convertToCurrency` works on the `/v1/reports` endpoints.

    The same parameter on the newer reporting endpoints was accepted and ignored too. It now converts, and because converted figures are all in one currency, rows that previously appeared once per currency for the same account and day come back as a single row carrying the currency you asked for. Without the parameter these endpoints are unchanged.

  • FixedReporting & integration API

    `cpaCount` is back on the older conversions report.

    GET /events/conversions stopped sending the number of qualified CPA conversions on each click when we moved this endpoint over. It is served again, under the same name and in the same place as before.

  • FixedReporting & integration API

    Estimated commission and chargeback amounts appeared under the wrong headings.

    Since late July, account reports showed estimated CPA commission as estimated CPC commission, estimated revenue-share commission as estimated CPL commission, and commission on disqualified players as estimated CPA commission. The count of disqualified first deposits appeared as a chargeback amount. Every figure is now under the right heading, for all dates, so your estimated CPA, CPC, CPL, revenue-share and chargeback figures will change. Brand-reported commission, first deposits, deposits and net revenue were never affected.

  • FixedSub-affiliate network

    You can publish more than one offer on the same tracking link.

    Adding a second public offer on a link that already had one failed with "Failed to add offer". It now saves.

    Read the full page
  • FixedSub-affiliate network

    Your network accounts now tell you which network they belong to.

    If you have joined someone else's network as a partner, the account representing that network in your account list previously showed no network at all, so there was nothing to distinguish it from an account you hold directly with a brand. It now carries the network's name and logo.

  • FixedSub-affiliate network

    Partners are paid on the brand's reported CPA only.

    A CPA we estimated from a postback used to count as a payable CPA for your partners. It no longer does. Partners are paid when the brand reports the CPA, at your offer's rate as before.

    Read the full page
  • FixedSub-affiliate network

    Requesting access to some offers failed.

    A partner's request to join an offer could fail with an error instead of reaching the network for review. It goes through now; a partner who hit this can simply request again.

    Read the full page
  • FixedSub-affiliate network

    Refreshing an expired or already-used token on the original API now returns 401.

    It used to fail with a server error, so an integration couldn't tell "log in again" apart from an outage.

    Read the full page
  • FixedDashboards

    The home page loads even when its dashboard does not.

    If the dashboard configured for your home page was unavailable — not set up, or not shared with your account — the home page failed to open at all rather than showing you anything. It now falls back to the built-in dashboard, so the page always loads.

  • FixedDashboards

    A dashboard you are not allowed to open now tells you so.

    Opening a restricted dashboard previously showed an empty frame that never finished loading, with no explanation. It now says you do not have access to it.

  • FixedCatalog

    Removing an affiliate program from a brand works.

    Detaching a program — from the brand's page or from the program's own list of brands — failed with an error and left the program attached, so a brand linked to the wrong program could not be put right from the dashboard. Only the program you pick is removed; the brand's other programs stay as they are.

  • FixedAccount security

    Changing your master password keeps your saved account passwords working.

    Password-based integrations keep running through a master password change. An account that needs its password re-entered says so (see below), and you only need to re-enter it once.

  • FixedAccount security

    A clear message when a saved password needs re-entering.

    When an account's integration needs its saved password and your master password doesn't unlock it, the account tells you so, with a link to re-enter it. You only see this when the password is actually used.

  • FixedAccount security

    Accounts that connect with an API key load their credentials normally.

    If an account once used a password and now uses an API key or client id and secret, its credentials load on the account page whatever the state of the old password.

  • FixedAccount security

    API keys you already have keep working.

    Keys created before 24 October 2026 keep the access they have, whatever permissions they show, and you don't need to recreate them. API keys and their permissions.

    Read the full page
  • FixedData exports

    A page-views export filtered to one traffic source no longer changes what a later unfiltered export of the same dates returns.

    Exports reuse each completed day so repeat exports finish quickly, but a day exported with a traffic-source filter was being reused for an export of the whole day — so an export asked for without a filter could come back holding only the filtered rows, and reported that smaller number as the full day. The reverse happened too: an export filtered to one traffic source could come back with the whole day's rows. A filtered export now always reads your data afresh, and only an unfiltered export is reused. Already-stored page-view days have been retired, so the first export of any page-view date after this release is rebuilt from your data.

    Read the full page
  • FixedData exports

    Asking for an export with different settings no longer hands you the earlier export.

    A request covering dates you have exported before was treated as a repeat of that earlier export even when you had changed the file format or the traffic-source filter, so you were pointed at the old file instead of getting the one you asked for. A request now only counts as a repeat when the dates, the format and the filter all match.

    Read the full page
  • FixedData exports

    Asking to export conversions no longer looks like it worked and then fails hours later.

    Picking Conversions as the source of an export — from the Export button on your conversions page, or from the source list under Settings → Exports — was accepted with a success message, and the export then turned up in the list as Failed with nothing to explain why. Conversions are not available on this export yet, so the request is now refused immediately and names the sources that do work: clicks, page views and impressions. Exports you already run are unaffected.

    Read the full page
  • FixedDashboards: page performance

    The daily commission chart didn't add up to the commission.

    It stacked only the CPA and revshare your network reported, so it ran higher than Commission on days the network reported Earning, and missed commission Routy calculated from your plan. It now stacks the parts the commission is built from (Earning, revshare, CPA, CPL, CPC and flat fee), so the bar height is your commission.

    Read the full page
  • FixedDashboards: account performance

    CPA and revshare commission didn't add up to the total.

    On days the network sent no CPA or revshare figure, Routy's own calculation counted in Total Commission but not in the CPA and Revshare columns. Those columns now include it, in the breakdown, the cards, the charts and the export.

    Read the full page
  • FixedBilling and plan

    The message after buying a plan showed placeholder text.

    When a payment went through in Plans & Billing, the confirmation read checkout.success_title instead of telling you your subscription was updated. It now says Subscription Updated.

  • FixedGuided tours

    The Get Started prompt reappearing while you were working.

    The prompt could open on top of whatever you were in the middle of, at no particular moment, and in every Routy tab you had open. Closing it with the Escape key or the browser back button did not count as answering it either, so it came back a few minutes later. It now asks at most once when you open Routy, and closing it is remembered however you close it. Skip still brings it back the next day.

  • FixedGuided tours

    The welcome message coming back every time you opened Routy.

    If you closed "Welcome to Routy!" with the Escape key or the browser back button, nothing was recorded, so it opened again on your next page load and in every new tab you had. It is remembered now however you close it, and it has a Later button so there is something to press.

  • FixedDatabase connector

    Reloading connector data used the day before the one you picked.

    Asking your connected database to reload a date range sent both dates a day early if your clock is ahead of UTC, so a reload for the 11th and 12th arrived as the 10th and 11th. The dates you pick are now the dates we send.

    Read the full page
  • FixedDatabase connector

    Team members who aren't admins got an error on the connector tab.

    Only your account's admins can manage the database connector, but anyone else opening the tab saw a bare error. They now see that only account admins can manage it, and that they should ask one.

    Read the full page
  • FixedAccounts: commission plans

    The plan list rounded your rates.

    A baseline of 9.99 was shown as 10, 99.99 as 100, and a rev share of 12.75% as 12.8%, because the list was shortening the figures the way it shortens large numbers in reports. Your deal terms are not reporting figures, so baseline, CPA and rev share are now shown exactly as you entered them. Only the display was affected: the saved plan always held the number you typed, and payouts were never calculated from the rounded one.

  • FixedAccounts: commission plans

    A plan that pays only CPL showed no rates.

    On an account's Commissions tab, a CPL-only plan read "-" under its name. Its CPL now shows with the other rates.

  • FixedSettings and team

    Settings tabs were hard to reach on a phone.

    Most of the tabs sat off-screen behind a scroll arrow. On a small screen the page now shows the tab you are on, and the arrow next to its name lists every tab, as on an account.

  • FixedEvents

    A one-day export no longer gets refused.

    Picking the same day as both ends of a background export's date range used to be rejected as an invalid range.

    Read the full page
  • FixedEvents

    The Page Views page described itself as impressions.

    The line under the page title now says what the page shows: every visit to a page on your site, recorded by your tracking script.

    Read the full page
  • FixedPartners and networks

    Partners saw an empty All Offers tab.

    On a network's account, a partner's All Offers tab showed no offers at all, so there was nothing to request. The network's offers are listed again.

    Read the full page
  • FixedPartners and networks

    Column titles shown twice on account links.

    On My Offers and on an account's Links tab, the Link and metric columns read "Clicks Clicks", "Link Link" and so on. Each title shows once again.

  • FixedDashboard

    Commission shown as dollars when it was not.

    If your accounts pay in pounds or euros, the dashboard showed those amounts with a dollar sign, and added accounts in different currencies together as if they were one. Every account is now converted before it is added up. If your currency is US dollars, the commission figures and account lists are real dollars, and only the Daily Commission chart still shows each program's own currency.

    Read the full page
  • FixedAccounts

    Adding a brand from an account.

    If you're allowed to add brands but not to edit accounts, the account's ⋮ menu now opens so you can reach Add Brand. A new brand is added to the account's program when you save.

  • FixedAccounts

    A list link that showed every status opened showing only some.

    Sharing or bookmarking an account, program or brand list with all statuses selected now opens it that way.

  • FixedAccounts

    An account's commission shown with a dollar sign.

    The Commission card on an account's page showed the account's own currency, such as euros, behind a $. It is now converted into your currency, the same figure as your dashboard.

    Read the full page
  • FixedReports

    Large reports froze and Filters and Columns wouldn't open.

    A report matching more than about 60,000 rows stopped responding after its first page, and only a reload brought it back briefly. Large reports now load and scroll normally.

    Read the full page
  • FixedTracking profiles

    Changing a profile's country or region from the table removed its brand.

    The brand only disappeared after a reload, so it was easy to miss. Changing the country or region now leaves the brand as it was.

  • FixedTracking profiles

    The country and region hints on Edit Tracking Profile described a commission plan.

    They now say what the fields mean for a profile.

  • FixedTracking profiles

    Commission plan cards showed every rate in dollars, and no countries.

    When you pick a plan for a link, an account or a tracking profile, the card now shows the plan's rates in its own currency and the countries it covers.

  • FixedChannels

    The calendar's next-month arrow dropped onto its own line.

    In months with long names, such as September, the arrow sat below the month instead of beside it. This affected date pickers across the dashboard.

  • FixedSign-up

    "Continue with Google" showed "Access blocked".

    Signing in or signing up with Google stopped at Google's "This app's request is invalid" page. It works again, including from an invite or a shared link, and takes you back to the page you were going to.

Maintenance

Connector reliability: 54 fixes across account integrations and connected channels.