A contact form looks normal, but enquiries have stopped appearing. Before changing its tracking, establish whether the website still completes the action.
That requires a working model of the web. You need to distinguish the code delivered to the browser, the interface it builds, and the server response to an interaction. Each provides different evidence.
The aim is practical: identify which part to inspect next and give the developer a useful description of the failure.
A page is assembled from several resources
The browser is a client. It requests resources from servers and uses their responses to build the page. DNS helps it find the network address for a domain. HTTP defines the request and response exchange.
A navigation can involve an HTML document, stylesheets, JavaScript files, images and later data requests. These resources can come from different servers. A successfully delivered document does not establish that every dependent resource loaded.
HTML defines the content and structure. CSS controls presentation, including layout and visibility. JavaScript can respond to actions, change content and request more data. These roles work together, but they are separate places where a problem can occur.
MDN explains the client and server exchange. For an analyst, its useful consequence is simple: inspect the relevant resource or action, rather than treating the entire page as one successful load.
The current interface is a DOM, not just the original HTML
The browser represents the document as a tree of objects called the Document Object Model, or DOM. Scripts can change that tree after the document arrives. MDN describes how the .
