Changelog

Follow up on the latest improvements and updates.

RSS

new

Reporting

User Interface

Funnel Building

Tracking

Major updates to triggering events!

We've released quite a lot of update so this is a long one – it took us a while to get these out due to overlapping functionalities.
Custom events triggered by actions
We have now completed the last major step in our development of custom events.
Now, you can trigger custom events in your funnel builder directly on action connections (i.e. on clickthrough).
Screenshot_2
This makes it easy for you to fire events server side to platforms like FB/Google that would otherwise require JS on pages.
For those of you doing email submits, this will be great news as you can shift to fully server-side sending of your events to the traffic source.
Additionally, we have added new options to action connections that let you set revenue overrides for the conversion/custom event, as well as transaction ID overrides.
New advanced settings for traffic sources
You can now set optional overrides for traffic sources:
  • Incoming cost overrides
  • Outgoing revenue overrides
  • Disabling of zero revenue postbacks
Screenshot_3
The incoming cost overrides will be key for those of you running platforms with high click loss that can pass cost data (e.g. pops).
Now, if you have e.g. 10% click loss, you can enable this setting -> set a value of 110% to modify incoming costs to compensate.
Outgoing revenue overrides will allow you to modify what values get sent to traffic sources. Use this to manipulate algorithms. This will not affect your data inside FunnelFlux.
Disabling of zero revenue postbacks lastly allows you to prevent postbacks to your traffic source if the payout is zero. This can be handy if you have some initial conversions at zero revenue that are later updated to a real revenue, where you want to keep them as the same conversion event, but avoid double-posting to the source.
Raw Events page
The raw events page has been revamped and simplified. Now, you no longer have to select funnels and traffic sources. Instead, you can optionally add filters to your data, much like on the reporting page.
Screenshot_1
There's a lot more filtering available here, as well as include/exclude options, making it easier to pull specific data reports.
New postback service
We are migrating all postback handling to a new service.
This has added postback logs on our backend, which we will be able to add to the UI in due time.
I'm sure a lot of users will appreciate this for debugging traffic source conversion tracking - has been a long-time coming.
Other minor changes
  • Added disable postbacks toggle to the update conversions page
Fixes
  • Tracking field data was not displaying correctly in quickstats, where custom event counts were absent
  • Fixed device main language in conditions, which was not allowing saving
  • Fixed some issues with column data formatting
We've rolled out a few small updates over the past week.
Most of our time has been spent getting
on action
events completed, which will allow you to trigger conversion and custom events via actions in the funnel builder (including with tx/revenue overrides).
Here are our recent changes.
API changes
  • Conversion time overrides are now fully working and available via postbacks, JS and API uploads. They will be added to the UI later when we refactor the update conversions page.
  • Added API docs for creating funnels, which is quite nuanced/complex
Integrations
  • We have updated the Snapchat integration to use their new V3 API
Templates
  • Added Pinterest
  • Updated Snapchat
  • Updated BigoAds
  • Updated Ads.com
Fixes
  • Fixed an issue with condition route auto-naming
  • Updated tracking fields in conditions to allow
    blank
    values so that you can route based on the field being absent or empty
  • Fixed the
    {conversion-time}
    token when used for custom events - it now returns the custom event time as expected
Infrastructure
  • We have made various updates to our health/failover logic to improve latency during spikey traffic
We've rolled out a number of general updates, and are still working on finalising our custom event features.
General Updates
  • Added Bigo Ads integration and custom scenario
  • Updated some asset pages to be a little faster in their reports
  • Added custom event JS to the tracking codes page
Infrastructure and performance
  • Infrastructure improvements have been made to improve latency globally -- particularly in Asia
  • We had some DB issues arising from excessive API queries. We have now added workload management to reporting such that user queries cannot consume excessive resources so easily. If you're an API user please take note of our new API best practices page here.
API Changes
  • Updated Raw Events API to allow a lot more data - most columns, limits of up to 10,000 rows.
  • There's limitations for now but you can check the API docs for more information
  • Added best practice documentation
  • Added hit ID to default JS responses, so you no longer need additional code to get hit IDs from JS
Fixes
  • Fixed an issue with custom event counts/revenue not showing correct totals in footer
  • Removed "no offer source" from the offer sources page as it's a little confusing to show data coming from no related source
  • Patched some issues with the new conversion tracking settings for custom events (a little fiddly to make sure all old assets updated correctly on open/save)
  • Fixed an error with day of the week attribute in conditions
  • Fixed the {conversion-time} token for custom events
  • Fixed device main language reporting
  • Fixed an issue with the traffic source > tracking fields attribute showing incorrect sums.
A few changes have been rolled out, particularly addition of the next step of custom events.
Custom Event Postbacks
  • You can now set individual postbacks or custom scenario settings per custom event, in your traffic source settings
Conversion Time Overrides
  • You can now add
    conversion_time=timestamp_value
    to postbacks to override the conversion time of the event
  • These timestamps are ideally unixtimestamp formats but a few others are supported
  • If the timestamp is invalid or before hit time, time will default to the hit's time.
  • If the timestamp is in the future, it will default to current time instead
  • You can also provide
    conversionTime
    in JS and API-based conversion uploads, though we have not yet updated the API docs or added this to the UI yet, as we will need to make the UI for uploads a bit easier with so many pieces of data now possible
Bugfixes
  • We have adjusted JS tracking to ignore deleted nodes when first attempting to attribute a view, where no explict node/pages hage been provided. This should reduce issues with funnel navigation where the JS has to guess, based on URL or page ID, what node the user is visiting
  • We found an issue where tokens used in domain hostnames could cause
    https:///
    responses that specifically affected Safari and have improved URL handling
Ongoing issues
  • We are still investigating issues that cause reporting caching to give odd results, e.g. new assets disappearing temporarily or IDs showing instead of names. Ultimately we will resolve this with a larger task of migrating to a new assets database.
We have rolled out a number of technical improvements to postbacks, JS tracking and API uploads that enables some useful features:
Disabling traffic source postbacks
  • You can now pass
    disable_postbacks=true
    into postback URLs to prevent firing of events to your traffic source for a conversion. This is particularly important for search arbitrage users where you may want real time tracking followed by delayed postbacks to update revenue
  • Likewise you can also pass this into your conversion API uploads (see updated docs) and set the same parameter in JS tracking events
Event statuses
  • You can now pass
    status=value
    into postbacks to set a pseudo event status. This is not yet a field in our database or reporting.
  • However, when you send a status of
    pending
    ,
    hold
    or
    preapproved
    , our system will adjust revenue to
    0.01
    .
  • When status is set to
    rejected
    ,
    reject
    ,
    trash
    or
    cancelled
    , the revenue will be set to
    -1
    and this will delete the conversion
  • This has been added to assist with networks where they can only set a single postback, but can send a dynamic status value for the various events.
  • Let us know if there are other values you need caught here, or if you'd prefer a revenue of
    0
    instead of
    0.01
    for the pending conversions.
  • We intend to add a mutable event status column to our database later
POST support in postbacks
  • Incoming postbacks using POST rather than GET are fully supported
  • We will check the POST body for relevant parameters for hit, revenue and transaction ID - we have a list of possible names here we will check through
  • The standard keys/values in the query string will take priority
Other changes
  • We have moved our reporting system's caching back to an old version to remedy the issues some users were having with asset pages not showing updates reliably (e.g. you delete an offer and it reappears on refresh of the table).
custom events
We have FINALLY released the long-awaited custom events feature.
You can now find information on these in the tracking codes area, set aliases under system settings, and can see our help article here.
This is an initial release so not all aspects are finished, but you can now:
  1. Send 1-10 custom events back to FunnelFlux via postback URL and JavaScript
  2. Send optional revenue with those events
  3. Set aliases for use in the reporting UI
  4. In all reporting pages, you can see custom event count, event revenue, completion rates per visit, revenue per custom event, and cost per custom event
We have some upcoming further changes to complete custom event implementation:
  • Ability to set postbacks for each one in traffic source conversion tracking (an obvious feature that we should release in the coming days)
  • Ability to trigger custom events in the funnel builder as users perform an action
  • Ability to upload custom events via API much like conversions
  • Addition of custom events to the raw events reporting
  • Adding total revenue columns to reporting to sum all revenue sources, and updating ROI/P&L metrics to use these as well (right now, "revenue" is actually
    conversion
    revenue only).
Please note custom events have the following limitations:
  1. Custom events can only happen once per user. Our current database design prevents duplicates of custom events. We intend to change this in the future, as we feel there's many scenarios where you want to send custom events multiple times.
  2. Custom events cannot pass unique transaction ID data
  3. You can only trigger custom events using their number when using postbacks/JS. We won't allow triggering by alias (e.g. event_name=lead), because if you ever changed aliases in our UI you could break existing events or make them switch to new event columns in our database, fragmenting your data.
Other important changes
In order to make custom events more convenient, we also made a significant change to our hit design.
Previously, only hits (views) to offers could convert. We have now made it possible for all page view events to convert, i.e. lander views as well.
Other fixes/updates
  • We added a "disable VID append" feature to data passing. This is for rare cases where VID may break a downstream system and you want to disable our auto-appending of it on redirect
  • We have added some initial logics to prevent excessive sessions sizes, which is happening to some odd traffic originating from TikTok/Pangle (we think somehow they are caching cookies across users and causing the same VIDs to get used when they should not)
  • We have updated various API schema to use new restrictToMetrics associated with custom events
  • Improved some issues with reporting which were causing updated asset changes to not reflect in the UI (e.g. you delete an asset, it reappears).
We've made a number of small changes and additions as below:
  • We have added a
    cpm_
    prefix that you can use with cost tokens for when a CPM bid value is passed, rather than a cost per click. Thus if cost is passed as
    ..&c=cpm_value
    , our system will take
    value / 1000
    as the incoming cost. See documentation here.
  • We added currency conversion to our Facebook Ads UI, which will note if your account is not in USD and will convert spend values to USD if so (thus, we are assuming your FunnelFlux revenue reporting is in USD). We plan to add this to the Google UI shortly as well.
  • The FB app is still going through approval hurdles with Facebook (they are a bit ridiculous) but can be readily used by reaching out to us to be added as a tester
  • We now have encode/encrypt functions you can add to tokens for when passing data to a page (e.g. an affiliate offer). Available functions are base64, bin2hex, rot13 and md5. Only the latter is irreversible, the others are encoding not encrypting. You can see our documentation here.
  • Patched the 404 URL in system settings, which was failing to redirect as expected
Bug fixes
  • Fixed an issue with URL tracking field filters
  • Fixed a datepicker issue on the dashboard that was crashing the app
  • Improved our memory caching in our edge servers to better handle extremely large assets, such as funnels with a huge number of nodes
  • Fixed an issue with unique metric calculations
  • Fixed an issue stopping funnels/funnel groups from archiving and unarchiving correctly
FB UI released
We have now released another integrated reporting UI, this time for Facebook/Meta.
It functions in the same way as the Google UI -- you can connect your FB user via the sign in button, then choose from your ad accounts and corresponding FunnelFlux traffic source to do data merging.
Right now this is the initial release, so we have not yet added breakdowns or status changing via the UI - but these will come soon.
We have also released a number of small reporting fixes:
  • Reverted our heatmap reporting to an old method which calculated cost correctly per node
  • Patched an issue that was causing unique metrics to recalculate and be incorrect on expanding your tree data in reporting
  • Fixed CPM/CPC/CTR not working properly in the Google Ads UI
Google Ads UI improved
We're working on our integrated UIs and making them more awesome. Google is the guinea pig for this with more to come -- our Facebook UI is almost ready.
Here's what we have added to the Google UI:
  • The UI has been simplified to put setting in a side panel
  • You can now choose to break down by search keywords (at the campaign or ad set level)
  • You can now see the status of assets/keywords
  • You can filter to show assets by their status
  • You can also pause, resume and delete all assets, including keywords, from the FunnelFlux UI
With these changes the UI is much more useful and lets you analyse keywords directly, as well as take optimisation decisions.
We intend to add some other breakdowns later, but felt keywords were the most important for users.
Other UI updates
  • Improved our integrations area. We intend to add sections here to manage the ad accounts you have connected with our upcoming reporting UIs
  • Improved some aspects of the billing page, including how it shows event data
  • Fixed some issues with the CSV-based cost updates function, which broke when column names didn't match traffic source URL tracking field names by case
  • Fixed a few UI bugs
Backend updates
  • Made various improvements to how well redirects were handled while under high load and when autoscaling was in progress
  • Fixed an issue that was causing invalidations of asset updates (e.g. changing a funnel) to not propagate, because of odd data created by API users 😅
  • Patched a JS issue that was causing the JS improvement of tracking to underpeform
  • Fixed some reporting issues that were causing some queries to fail, or return the wrong visitor counts
Google Reporting UIs
We are working on some new
integrated reporting UIs
that pull data from a traffic source and merge it with FunnelFlux data in one table.
The benefit of this is being able to show accurate ad spend data, alongside things like ad impressions, clicks and CTR.
You can find our help documentation here.
We intend to expand this further in the future with breakdowns e.g. keyword -- and likewise for other sources we add. We intend to add Facebook, TikTok and Microsoft Ads in the short-term.
The feature is currently in beta, feedback welcome!
Load More