E2E Test Form
GTP-WP → Nova E2E test harness
Staging only · noindex. Form sections post to /wp-json/galvanize/v1/form-submissions via the server-side proxy. CTA sections are plain links into Nova staging (beta.learn.galvanizetestprep.com). Add ?gf_debug=1 to print the attribution envelope on load.
galv_client_id stitch (LIVE): galvanize-tracking v0.2.0 decorates these Nova CTAs with the live _ga-derived galv_client_id (+ gclid) at load + click. The links below carry NO hardcoded id — set a _ga cookie (or have GA4 present) and inspect a CTA href to see it appended. Staging is now staging.galvanizetestprep.com — same galvanizetestprep.com registrable domain as Nova staging, so the _ga cookie crosses natively here too; the URL param stays as belt-and-braces (still required for any true cross-domain surface).
1 · Lead-magnet handoff — #888 §C — CTA into Nova (NOT a form)
Register-gated lead magnet = CTA → Nova entry page (register → OTP → consume). lead_magnet_submitted fires Nova-side; no GTP form POST. Path-based grammar per nova_lead_magnet_handoff_contract + locked URL architecture.
C1 · SOP template (42K query)
C1 · hub path, no asset → generic chooser
C4 · expired/unknown asset → “not available”
Live-today equivalent (old root path, pre-migration): learn.galvanizetestprep.com/sat-free-resources/mock-test/register
2 · Generic enquiry — #888 §A / §B — on-page form — form_id: contact_general
Plain form_submit. Alias country values (USA / U.A.E / Atlantis) for Nova reference normalization (§B7). Unhide + fill the website honeypot via devtools for the silent drop (§B3). Submit, then re-POST the printed envelope via curl for idempotent replay (§B1).
3 · Newsletter / minimal — #888 §A — on-page form — form_id: newsletter_footer
Second distinct form_id so multi-form attribution + per-form routing can be checked on one page.
4 · Pricing → /purchase handoff — #888 §D — CTA into Nova
Producer side only. Same host family + decorator stitch as §1 (base via GALVANIZE_NOVA_PURCHASE_BASE → beta.learn). What Nova does after the click — view_item, no-price-on-the-wire, checkout + Payment_Events funnel (§E) — is tested in the Nova app.
/purchase link-grammar CTAs (nova#888 §D)
D1 full deep linkD2 missing exam+skuD3 retired/unknown skuD4 CTA utm wins over page utmD5 trialOut of scope on this page (Nova-side — don’t expect to test here)
- §C register/OTP/consume — on the Nova entry page after the CTA click, not on this WP page.
- §E Checkout + Payment_Events funnel — inside Nova after a /purchase click.
- §F / §G Lifecycle + test attempts — in-product Nova.
- Cart-intent beacon, events-registration (own F2 gate), email_gate/ungated lead magnets (different path).
