Three steps, one page, no navigation between them. The contact step is built in JavaScript when the visitor reaches it — long after the Tag finished substituting placeholders. Build the hidden field there and it stays a placeholder. Put it in step one instead and the problem disappears.
--CLICK-ID-- default. The
substitution pass has long finished, so it keeps the literal text. Steps one and two looked fine
only because they carried no Click ID at all — the problem surfaces exactly at the step that
matters.
function showFinalStep() {
buildContactFields();
AnyTrack(function () {
AnyTrack('trigger', 'ViewContent');
});
}
ViewContent and not a name of your own. It is one of AnyTrack's
standard events, so it maps itself to each connected platform. A custom name — QuizStep3,
say — is allowed (40 characters, no spaces) but then you have to create a matching custom
conversion on Meta, Google and TikTok by hand before any of them can optimise toward it.
<form>, so the final button completes a genuine submit — the form event fires
without any manual triggering. It POSTs, so the email never lands in a URL.