Martin Heymann has optimized provisioning and billing at zanox and has been an engineer at Ingenious Technologies for nearly 10 years. No one can build CPO billing systems as well as he can: they work and are stable. He enjoys the responsibility and the opportunity to make a difference through data. In this podcast episode, Martin and Tobias Rast discuss the sluggishness of older systems. When a system reaches a certain age (e.g., 10 years), developers typically respond to most requests with “it’s not possible”—why is that, and more importantly, what does a good solution look like?! And: How did this lead to the Conversion Requests feature at Ingenious Technologies??!
PM18 – How do you achieve product innovation despite legacy software, Martin Heymann? – #TechnologyExplained
This episode is about:
- The project from the past few months: Conversion Updates (01:20)
- Overcoming Legacy as an Obstacle to Innovation (05:40)
- Customers and a System's Innovative Capacity (9:40 a.m.)
- The Wish List (5:30 p.m.)
- The Result: Conversion Updates (27:15)
- Key Updates: Conversion Requests (32:45)
- To me, affiliate marketing is … (44:40)
The project from the past few months: Conversion Updates
In recent years, partner marketing has evolved significantly, and with it, both the opportunities and the demands placed on a SaaS platform for partner marketing have changed. The area of conversion, in particular, has matured considerably, leading to the addition of numerous features to the Ingenious Partner Marketing Platform. Over time, this has resulted in a complex and unwieldy structure. A good analogy here is a Jenga tower, symbolizing a system that has grown over the years: blocks are removed from the base and placed on top, and additional blocks are added—to the point where, after some time, you’re no longer even sure where they actually came from. So while the system grows, it also becomes more unstable and, above all, harder to maintain.
Therefore, it was imperative to fundamentally overhaul the process chain.
This has made conversions fully accessible again, and every user can now make full use of them.
Overcoming the Innovation Barrier of Legacy Systems
Back to the Jenga tower: The further the game has progressed, the harder it becomes to remove and add blocks. It therefore seems completely unimaginable, for example, to move the tower to a different surface, transport it, or make other significant changes. The same applies to a system: Once a system has been in place for some time, it becomes difficult to implement profound changes. You are never as free again as you were at the very beginning, when the system resembles a blank sheet of paper and not many customers are using it yet. Halting the system for an extended period is not possible during ongoing customer processes due to obligations to the customers.
That is why the “Conversion Updates” feature was developed, so to speak, behind the scenes, while (most) customers were still working with the original module, unaware of the changes.
To fundamentally transform an existing system, it is important to step back, take a step back, and—in our case—document the full range of features related to conversions and break them down into their individual components. With this overview, each feature is then scrutinized so that all necessary features can be reassembled in a new and simplified way, and new functions can be added. The goal is to provide the customer with a cohesive picture.
Customers and a system's innovative strength
Customers, too, can sometimes hinder a system’s innovative potential. Not everyone welcomes change with open arms; rather, they tend to be skeptical and are reluctant to embrace new developments. Furthermore, minor adjustments to the system cannot be implemented as quickly as usual during a large-scale project. However, in the long run, customers benefit enormously from such a comprehensive innovation. To minimize skepticism and resistance, some customers were involved in the development process of the new feature and asked for their specific wishes, needs, and feedback.
The Wish List
The list of our own requests and those of our customers was too long, and not all of them could be fulfilled, as there was a risk that the project would never be completed and the new feature would never be launched. During individual project iterations, we fulfilled as many requests as possible while ensuring that the project remained feasible. Some requests could not be fulfilled (immediately), but will be addressed in the future.
Every customer’s requirement is understandable and valid. Nevertheless, compromises must be made in certain project phases to ensure the clarity and comprehensibility of the iteration. When selecting requirements, the sustainability of the solution should always be questioned: Is this a quick fix, or is the solution designed to last 5–10 years? After all, there is little point in solving a problem or building a feature that will require another update in the near future.
For our project, when asked, “What is the most important thing (right now)?”, we decided to focus on the following core functions: structuring conversions and making fields editable.
The result: Conversion Updates
The Conversion Updates feature wasn't released all at once with a big fanfare. Instead, there were incremental releases over time, during which features were gradually integrated into the system.
The result was a clearer format for customers to view the conversion. The current format is also more user-friendly and responsive, and includes a robust set of validations and pre-checks that prevent invalid data from being entered: in real time—that is, the moment data is uploaded or submitted—the user receives immediate feedback, and any errors in the cell are clearly highlighted.
Important new feature: Conversion Requests
Furthermore, partners who were previously passive can now actively participate and communicate via conversion requests to request missing conversions or correct erroneous ones. These requests and their status represent the communication between the parties (partners and admins). When a conversion is entered retroactively, the feature also automatically assigns the commission rate in effect at the time of the conversion, including the model name, so users do not have to look this up manually.
In addition, when users modify individual fields of an existing conversion (e.g., Category Target, Sub IDs, Order Value, Status, Device), they will see a preview of the resulting impact (i.e., the adjusted commission) if the request is accepted. This ensures a high degree of transparency and traceability for both the advertiser and the partners. In the future, changes to a conversion will also be traceable in the history.
To me, affiliate marketing is …
… the opportunity to bring together various parties within an ecosystem I helped create and to help them succeed through data that I can also help shape.










