Changelog

Follow up on the latest improvements and updates.

RSS

We are rolling out a really cool feature that we think a lot of technical users will really appreciate.
Logic Nodes
Screenshot_11
They are called Logic Nodes, which run a Logic Script:
Screenshot_12
You can now run Go-based edge code fragments to do complex routing in a single node.
For those of you with complex routing situations, where you want to route based on referrer patterns, ISP blacklists, zone IDs etc., you can now fully codify it and easily use AI to create highly functional routing scripts.
You can see me demonstrate below:
Our help docs are here, and detailed API docs here.
This includes prompt snippets/instructions to give AI to streamline creation.
Let us know what you think!
2FA Now Available
We have added support for enabling 2FA on your account to better secure user access.
It is available under system settings > login settings.
Screenshot_10
Improved Automatic Filtering
We have added ISP-based filtering to our pipeline that will automatically add a "filtered" flag to visits coming from an internal non-human ISP list.
This in paticular will reduce the amount of spammy visits you see from Facebook/TikTok review agents.
These visits get marked as "filtered" and can still be shown in the report builder later (see next section).
Right now, we have identified about 35 key ISPs that are high volume, across multiple countries, and meet various other criteria.
We will also be back-dating all analytics data to apply filtered status for these.
If you find certain ISPs in your own analysis that are problematic 100% of the time, please let us know.
Reporting UI/UX Improvements
Screenshot_32
Carrying on from the feature above, we have reorganised the report builder to make it a little cleaner, and have added a new settings area.
Screenshot_33
Here, you can toggle whether or not to show "filtered" data.
Additionally, you can toggle to hide visits where the connection type is Hosting Provider or Known Proxy.
These are usually annoying in stats data, so we have enabled this setting by default.
The entrance/event time attribution toggle has also moved here.
We are excited today to launch webhook nodes in beta to all users. These are available on all plan levels.
Webhook nodes allow you to emit webhooks as users move through your funnel.
Screenshot_25
These webhooks can go to third-party systems like Zapier, Make.com, or n8n to automate workflows and trigger events in other systems.
A simple use case for marketers... E-mail submits!
Now you can create any style of form you want on a page to capture user data, then submit that data directly to your funnelflux action link.
The webhook node can then handle sending that to a system like Zapier where you can connect the data to any email system. No more clunky email provider forms in your landers, complete flexibility.
Running some sort of survey? Push the answers to FunnelFlux, then send the results on the side to a webhook that writes data to a Google Sheet or database for later analysis.
Doing host-and-post? Push the data to FunnelFlux and then to your own function that handles pushing it by API to some third-party.
The accessibility and ease of AI-assisted coding makes this easy, and lets you use FunnelFlux to orchestrate your flow of data.
This is one of the first steps towards my vision of FunnelFlux becoming not just a tracker, but a powerful funnel orchestration platform.
In addition to the nodes, you can trigger one or more webhooks on action connections -- much like you can for conversions and custom events.
webhook_on_action
We have also added webhook support to traffic sources in the conversion tracking section.
Screenshot_26
You can see our guiding document here and you can read our technical documents here that cover schema.
Happy tracking!
Zeno from FunnelFlux
We shipped several updates to make organic tracking, referrer protection, cleanup workflows, reporting, and bulk event uploads easier to manage.
Spreadsheet Uploads for Conversions and Custom Events
Conversion uploads now support spreadsheet-style batch workflows, including custom events.
Screenshot_15
You can upload rows for conversions and Custom Event 1 through Custom Event 10, with optional revenue, event data, timestamps, PII passthrough fields, and external dedupe IDs.
This makes it easier to import event data data in bulk.
Default Funnel Tracking for Pages
Pages can now have a default funnel, node, and traffic source.
When a visitor lands on a tracked page organically, with no available context, FunnelFlux can detect the page URL and automatically attribute the visit to an appropriate default funnel context.
This makes organic tracking cleaner because you no longer need to embed funnel and node defaults into every page URL or script setup for common flows -- essentially an alternative to our
fluxDefaults
code embed.
This, along with UMR domain overrides, are available in page settings > advanced settings tab.
Screenshot_16
Ultimate Meta Refresh Domain Overrides
Ultimate Meta Refresh now supports dedicated tracking-domain overrides on offers and offer sources.
This lets you route UMR offer bounces through a specific custom domain instead of the funnel's normal tracking domain. It is useful when you want to protect primary tracking domains, isolate offer redirection behavior, or use a dedicated domain for referrer masking.
Offer-level overrides take priority over offer-source overrides.
Improved Cleanup When Archiving or Deleting Assets
Archive and delete actions now support more complete cleanup options for related child assets.
This helps keep accounts tidier when removing parent assets like categories, offer sources, funnel groups, or funnels. The default behavior remains conservative, while the new cascade options give you more control when you intentionally want related assets cleaned up, moved, or unlinked.
Reporting and Table Improvements
We fixed a few bugs/omissions in reporting.
Raw hit reporting now handles timezone filtering more accurately, especially when querying hit-level data around local-day boundaries.
We also improved table selection behavior in asset tables and the flat report builder. You can now click and drag to select table text, then copy the selected content with
Ctrl+C
/
Cmd+C
. This was working in the past but regressed at some point, though was still working in the tree report builder.
Bug Fixes
  • Fixed the flat report builder so journey actions no longer appear in the attribute picker.
  • Fixed copy behavior in asset tables and the flat report builder so drag selection and keyboard copy work as expected.
Developer and API Updates
These changes also include API updates for users building custom workflows or integrations.
Assets API
Pages now include
defaultFunnel
:
{
"defaultFunnel": {
"enabled": true,
"idFunnel": "funnel123456",
"idNode": "node12345678",
"idTrafficSource": "organic"
}
}
Offer sources now support:
{
"umrDomainOverride": "clean.example.com"
}
Offer params now support:
{
"umrDomainOverride": "offer-clean.example.com"
}
Archive/delete parent mutation requests now support
cascadeAction
and
targetParentID
on supported endpoints:
{
"entries": ["parent-id"],
"cascadeAction": "move",
"targetParentID": "target-parent-id"
}
Supported cascade actions are
cascade
,
move
, and
orphan
, depending on endpoint and asset type.
Reporting API
New endpoint:
PUT /v1/reporting/update/customevents/
This supports Custom Event 1-10 uploads by hit ID, with optional revenue and metadata fields.
Conversion upload rows now also support:
piiZipcode
dedupeEventId
eventData1
eventData2
Custom event upload rows support:
id
eventNumber
revenue
piiEmail
piiPhone
piiZipcode
dedupeEventId
conversionTime
eventData1
eventData2
Funnel Validation Improvements
We have added stricter funnel validation to help prevent broken funnels from being saved.
Active routing-type nodes now require at least one outgoing connection before a funnel can be saved.
This applies to nodes such as:
  • Rotators
  • Conditions
  • Action Proxies
  • AI nodes
  • Visitor Tags
If one of these active nodes has no outgoing connection, the backend will reject the save. This applies whether the funnel is saved through the UI or through the API.
This change helps prevent funnels with broken routing paths from being saved and later causing redirect or routing issues.
We also fixed an issue with duplicated funnels using V2 Conditions, where saving could be blocked after deleting the V2 Condition node.
API Documentation Updates
We have rolled out a new API documentation portal.
You can find it from the API Access page, or access it directly here: https://api-docs.funnelflux.pro/
If you use the FunnelFlux API, please use this new portal as the canonical reference for API documentation going forward.
We will also send a separate API update email with more details about the new documentation and some minor API changes.
We have rolled out a significant improvement to the UI and UX of Condition Nodes.
New Condition UI
Screenshot_2
Now it's much easier to manage multiple routes and create/manage the rules.
You can drag to reorder priorities of routes and can filter them. You can also copy the entire route, rule groups, and individual rules.
The route list shows what kind of operator you're using and the number of groups and rules.
Upgrading Existing Conditions
Screenshot_1
All new conditions created within the Funnel Builder will use the new User Interface. However old ones can be transformed to use the new format by clicking the upgrade button.
Upgrading needs to change the condition and the funnel data so the upgrade is only persisted when you save the funnel.
Conditions were rather fragile before and prone to bugs. This improves this significantly. However please make sure to re-test any links after upgrading conditions, to make double-sure it's still behaving exactly as you expect.
Note it's not possible to upload
global conditions
because these are used across multiple funnels. The funnel data needs to change to complete the upgrade. It's not possible to trigger updates across all of the related funnels
New Condition Attributes
We have added UTC offset as a new attribute you can route by. The current timezone attribute uses a large unhelpful list -- the UTC offsets help you match a broader set of users more easily. We plan to deprecate the old timezone attribute later.
We have updated the IP address attribute to allow specifying ranges as well as specifying wildcards to match.
For example,
123.123.X.X
will now match all IPs matching this format. This is only possible for the C and D range. Needing to match greater ranges is unlikely in practice. Also the IP range option will limit you to similar ranges to prevent destructive rules.
API Updates
We consolidated our category APIs to a single canonical endpoint rather than a category path under every asset.
The new V2 conditions specify a route ID alongside route names as well as a priority key, which sets the ordering that they're processed by the edge.
For route ID we suggest using our ID generator and creating IDs like
route_{id}
. However you can also give them semantic names. They are limited to 64 characters.
Funnel data now refers to these route IDs explicitly for which connections map where.
We have updated our API docs accordingly.
Please review them if you are creating funnels via API. Note the old format will still work but we would highly recommend moving to V2 conditions, as they are less brittle and easier to manage.
Improved Category Management
We've made categories more consistent across the app.
Categories now use a single shared API system across assets, which helps reduce inconsistencies between traffic sources, offer sources, offers, landers, conditions, visitor tags, and related areas.
Deleting a category is also clearer now. When a category is deleted, assigned assets are moved to
Uncategorized
before the category is removed.
Fixed Category Updates In Tables
We fixed several issues where category name changes did not immediately appear in tables.
When you rename or update a category, related tables should now update more reliably without needing a manual refresh. This also fixes cases where old category names, duplicate-looking rows, or mismatched drilldowns could appear after editing categories.
Improved Asset Editing
Editing assets should now feel smoother and more reliable.
We improved how asset names, categories, and parent groups update after saving. This includes fixes for funnels, funnel groups, traffic sources, offer sources, offers, and landers.
We also fixed cases where moving or duplicating funnels did not immediately show the correct result in the table.
Better Validation For Asset Names
We improved validation when saving assets.
Names are now checked more consistently, including duplicate funnel names and invalid formatting. When a save fails, the app now shows clearer error messages so it is easier to understand what needs fixing.
Improved Uncategorized Handling
We cleaned up how
Uncategorized
is handled across category lists, reports, and asset selectors.
This should reduce confusing category rows and make reporting drilldowns more consistent, especially when assets have no category assigned.
Performance And Reliability Improvements
We improved loading behavior for edit sidebars and reduced unnecessary refreshes in several places.
Opening and reopening edit panels should now make fewer repeated requests, while still keeping data up to date after changes.
Reporting Fixes
We fixed several reporting edge cases around empty traffic, uncategorized assets, unknown values, and category drilldowns.
Reports should now better match the underlying data and avoid showing misleading rows.
Funnel Builder
The node palette has been updated so that you can better see the category/source of pages when searching and adding them. You can also filter to a specific category to refine your search.
Node palette
Long names are handled better with two lines + truncation and a tooltip of the full name on hover. Canvas nodes have similar new tooltips.
In page groups, the add page drop-down is now a more detailed selector that lets you quickly add multiple pages matching your search:
Better search
The page list inside of page groups has been revamped to better show the full names, the page category, and offer source if it's an offer:
New page settings
This page settings area also has a new sort drop-down which lets you conveniently sort the entire list by name, category, or rotation weight.
We also recently rolled out a new "big nodes" toggle that allows showing longer names on nodes.
General UI Improvements
We noticed for users with very long asset names, there were multiple places where it got annoying.
So have rolled out a number of tweaks:
  • Asset names in some lists were getting truncated to 100 characters. We have expanded this to 256 chars and set stricter validation on the frontend and backend to clamp asset names to this limit
  • In many assets, we have changed the name fields to expand to multple lines rather than scroll left to right, so that you can always see the full name.
  • Have done the same for base URLs
  • We also updated the duplication flow When duplicating an asset, we now disable tabs and state clearly what data can be changed -- this avoids cloning something then finding some changes were not saved
  • Notifications now have their width clamped
  • Some new validation to stop accidentally saving conditions with empty groups. These still functioned on our backend but would always evaluate to "no match".
Performance
  • We made significant performance optimisations to the funnel canvas. Especially if you have quite large funnels, you should find panning and dragging has become a lot smoother.
New Support System
  • We are moving to a new support system. You will see the in-app chat interface changes and past conversations are not present.
  • There will be a bit of a transition period, apologies in advance for any confusion. If you encounter issues, you can always email our support directly at support@funnelflux.pro.
Tag Nodes are Coming
We are working on implementing tag nodes and are in the final testing stages. We have added them to the UI but disabled them for now.
They will be a free feature for all users.
We have rolled out a number of important improvements to reporting, particularly around drilling down into lander/offers, as well as a new UI for analysing specific hits and visitor sessions.
New UI - Hit Explorer​
Screenshot_13
This new UI is primarily to help with critical debugging of hits and session flows.
For visitor IDs, you can see a timeline of hit events. You can click these blocks to jump between inspecting a specific hit, and can click visitor ID again to go back to the visitor ID analysis.
f156e38a0516d6c303ddbabf6d16fff5ea0ad35bae0e34818c675dac48e585dcScreenshot_15
Additionally, we have added an "inspect" button to the raw event and postback pages, allowing you to jump to this inspector.
Improvements to Raw Events​
On the raw events page, we have made the following quality of life improvements:
  • Now limited to 20 columns max (up from 15)
  • Timestamp, event type, hit ID are all pinned columns on the left now and are removed from column selection
  • Asset names and ID are extended -- you can now get page ID, page name, offer source ID, name etc.
  • You can now click an inline inspect icon to jump to the hit inspector
2a6d83fbf3fdd59a2271ac91e6ae982bc9b8d66b3e8c75c464e897d55aabce1aScreenshot_11
Improvements to Posback Logs​
We have added page name, page category and offer source as columns
Have also updated to make timestamp, event, hit ID permanent pinned columns
Also added an inspector button to jump to see full details of a specific hit
Filtering Updates​
We discovered a new user-agent that was responsible for a lot of bot traffic -- 'hertz', specifically associated with a TikTok ISP and Singapore-based.
We now filter it and will be removing it from historic data to clean up reporting.
Reporting Improvements​
We have rolled out changes to improve the cost and conversion attribution data, especially when drilling down into lander/offer type attributes.
This will mainly affect the data you see when opening quickstats for an offer or lander, or doing drilldowns in the report builder that group by a page attribute, followed by others.
For example: Funnel > Offer > Traffic Source > Country
These are inherently complex, because it groups by viewing a specific page that is deep inside a funnel somewhere, then expands further.
In general you can't simply filter to that page, because you lose context of the overall funnel visits, the cost it truly took to get people to that page, and in the case of landers you need to consider the downstream offer conversions that attribute back up the journey.
This is one of the most complex parts of our system because of how FunnelFlux lets you make any sort of funnel, with steps in any order.
I am somewhat jealous of most other trackers that have really simple traffic > lander > offer flows only (often with the offer destinations pre-ordained in advance)... must be much easier to deal with the query logic!
Otherwise, we've also tweaked caching, so swapping between pages and quickstat reports is smoother and faster than ever before.
Within FunnelFlux we have separate lander and offer metrics.
This is accurate but can be a little confusing and inefficient when you just want to see "page metrics".
So, we have rolled out new page metrics that represent lander and offer activity (i.e. pages) in one column. It's the sum of lander and offer metrics added together.
These are now available on all reports. We have also updated the common metrics tab to include these and improved the set here to have all the most popular columns:
Screenshot_3
You can update to try these new metrics by clicking column settings on any page.
Journey Improvements
We found a logic issue where repeated clicks from pages were making longer and longer journey paths, rather than forking.
This was resulting in excessively long and complex trees, especially in listicle situations and those where multiple clicks originate from the same page.
The end result is lander reports becoming extremely slow in some cases, due to the sheer number of unique paths involved (something which is used behind the scenes to show downstream conversions on landers).
We have made updates to this, so journey complexity and lander reporting speed should improve for impacted users.
Miscellaneous Fixes
  • We fixed the footer summary row caching when reloading pages (was disappearing, now is maintained)
  • More optimisations to backend queries, making all lander/offer reporting faster
  • Fixed an issue with ROI highlighting always turning on, instead of toggling correctly
  • Fixed compact table mode, which had regressed and was not styling properly
Load More