Lesson 8 of 9
Patch It Now, Or Fix The Source?
Every technique in this course is, in some sense, a workaround. The honest question on each request is whether to ship the workaround or to ask the developers for a clean dataLayer push instead. There is no universal answer, only a trade-off — and a default.
Patch it in GTM now
- Unblocks a campaign or report today
- No dev cycle, no deploy to wait on
- Fine for low-stakes or short-lived needs
- Cost: fragile, yours to maintain forever
Request a dataLayer push
- Stable, owned by the app, survives redesigns
- Right call for revenue / core conversions
- Cost: needs a dev, a deploy, and patience
- Pays back every time the markup changes
The escalation ladder
Prefer the highest rung you can reach for the value at stake. Drop down only when the rung above isn't available and the stakes don't justify waiting for it.
How to ask for a good push
A vague "can you add a dataLayer event?" gets a vague result. Hand developers a spec they can implement without guessing: the event name, the exact keys and their types, and the precise moment it should fire.
dataLayer.push({
event: "demo_request", // fixed name, fires once on server-confirmed success
formId: "demo-request",
plan: "pro", // string
value: 500, // number, no currency symbol
currency: "USD"
});For anything that drives money or decisions, push for the push. For a quick, low-risk measurement you need this week, a well-guarded GTM capture is a reasonable answer — as long as you write down what you did and why, so the next person knows it is a patch, not a foundation.
Key takeaway
Default to the cleanest source you can get for the stakes involved: a real dataLayer push for anything important, a guarded GTM workaround for the small and urgent. Whatever you ship, document it — an undocumented workaround is a future outage.