It all started with an unexpected drop in the purchase flow, a blank page, an automatic restart, and a sale that didn’t go through. The be bolder team was called in to investigate what, at first glance, appeared to be a minor technical issue. However, the business impact was clear: the failure was directly affecting the client’s user experience and consequently the client’s revenue required immediate attention.
be bolder to the rescue
The investigation was led by Antonio Suárez, one of be bolder’s developers, who was designated to analyze the case due to his technical knowledge of the environment and his ability to understand how system variables interacted. It wasn’t an easy problem to find or replicate, and it couldn’t be addressed with quick or generic solutions.
Far from assigning blame, Antonio proposed a logical approach, based on verifiable facts, cross-validation, and a comprehensive view of the digital ecosystem. With this method, the team mapped out a precise path to understand what was failing, why, and how to resolve it without compromising the client’s operations. We spoke with him to tell you how he solved the mystery.
The starting point: a fault that didn’t fit
The first step was to understand the conditions under which the bug occurred. It wasn’t constant, it wasn’t easily replicated, and it didn’t affect all users under the same scenarios. Even so, the impact was real: at certain points in the purchase flow, the web application would abruptly restart, forcing the user to start from scratch.
The complexity of the case lay not only in the technical aspects but also in the uncertainty. There was no clear sequence leading to the error, nor a simple pattern that would allow identifying its origin. Therefore, the team needed more than diagnostic skills: they needed order, calm, and a reliable method to unravel the problem step by step.
From the beginning, the idea of applying quick fixes or assuming explanations based on intuition was ruled out. The priority was to establish an analysis path that would allow progress to be made logically, validating each hypothesis instead of jumping to random conclusions, and addressing the client’s priorities.
Discarding our own: Reviewing our work
The initial approach was to review what was under our own control. The team knew that any recent change in the code could have caused the error, so the most reasonable course of action was to start there. The latest commits were reviewed, a modification map was drawn, and the dates were compared with the time the problem began.
The result was clear: there was no correlation; the development team’s last updates had occurred months earlier, long before the flaw was detected. Not only was there no evidence of a recent bug, but there were also no relevant changes in the programming that would explain the anomalous behavior.
Discarding that hypothesis didn’t solve the problem, but it did clear the way. Despite the pressure and urgency, be bolder chose not to settle for comfortable explanations. Validating facts, closing scenarios, and moving forward with concrete information was part of the logic that sustained the entire process.
Thinking externally: When the environment changes
Having ruled out an internal cause, the team turned its attention to the execution environment. The error wasn’t consistent, but it appeared to be concentrated in a specific browser: Safari. This pattern reflected the logic applied up to that point: observing in detail, identifying common conditions, and moving forward only with verifiable data.
Reviewing the history of that Safari, Antonio’s team noticed that a new version of the browser had been released in the same weeks during which the first errors were reported. This coincidence in timing led to a new hypothesis: it wasn’t the system that had changed, but the rules of the environment that interpreted it.
To validate this, the team compared the behaviour in previous versions of Safari. In those, the failure didn’t occur. The new browser version, however, broke the flow without warning. It was no longer a matter of finding an internal bug, but of understanding how an external update altered a structure that, until then, had functioned normally.
An unexpected interference: The conflict was elsewhere
With the external cause confirmed, the question was which part of the system was triggering the failure. The focus then shifted to the elements integrated by the client, especially those that were not part of the original development. One in particular caught the attention: the analytics script implemented through Google Tag Manager.
As part of a controlled test, the component was temporarily removed to study the system’s behavior, generating an immediate change. The application stopped restarting, and the purchase flow completed without interruption. The behavior, which had been erratic and difficult to replicate, now disappeared completely.
The finding was conclusive: the GTM script structure was not compatible with Safari’s new version, and this conflict was disrupting the overall operation. Although it was not a component developed by be bolder, it was part of the client’s environment and directly affected its operation. Detecting it required precision, method, and the ability to isolate variables within a complex system.
Beyond the patch: Structural redesign
The conditional solution contained the problem, but it didn’t solve it fundamentally. It was a tactical measure, useful for stabilizing the system without sacrificing data, but it relied on a temporal logic. The goal was to go further: permanently fix the conflict.
To achieve this, be bolder worked directly with the Client’s script provider. After a joint code review, it was found that its structure was overloaded with unnecessary functions, which caused friction with the browser’s new requirements.
With a version of the script adapted to the new environmental conditions, the component was integrated stably, without causing errors or compromising the flow. It was a structural solution that not only solved the problem but also strengthened the system’s technological foundation for the future.
