<script async> appended to <body>
wire.js is injected near the bottom of the page by client-side JavaScript after React has finished hydrating — the standard pattern for installs that come from a tag manager, a marketing "scripts" component, or a CMS plugin. Because the injection happens later in the page lifecycle, V1 is more likely to lose the race here than with a head install.
Each side runs the same scenario in its own iframe. The iframes load independently, so you can see how each pixel version behaves under identical conditions.
How to test:
- Load the page and wait ~5 seconds.
- Compare the timing of window.load vs wire.js.
- Look at the pixel column on each side.
Expected: V2 — always fires. V1 — usually fails on this test (the iframe is light, so window.load fires before the body-injected wire.js arrives). On a heavier real-world page, V1 may pass.
V1 · current pixel
Verdict
Initialising…
window.load
—
wire.js
—
pixel
—
Event timeline
- No events recorded yet…
Script tag for this scenario
// Appended to <body> after hydration <script type="text/javascript" async src="https://staging-api.wire.spbx.app/wire.js?account_id=79&property_id=6a2111320c2dee2dc5548935"></script>
V2 · proposed fix
Verdict
Initialising…
window.load
—
wire.js
—
pixel
—
Event timeline
- No events recorded yet…
Script tag for this scenario
// Appended to <body> after hydration <script type="text/javascript" async src="https://staging-api.wire.spbx.app/wire.js?pixel_id=6a211df10c2dee2dc5548936&account_id=79&property_id=6a2111320c2dee2dc5548935"></script>