Problem

Customers running paid campaigns (e.g. Yuma's LinkedIn ads) lose attribution before the form is ever opened: the Surface tag reads window.location.search fresh on every STORE_UPDATE, so when a visitor lands on a paid landing page with utm_source/utm_medium/click-id params and then navigates to another page (often via an internal CTA that replaces the query string with internal tags like utm_content=home_homepage-hero), the paid params never reach URL_DATA.params and the HubSpot UTM hidden fields. Verified in Yuma's prod data: across two LinkedIn campaign windows, zero genuine prospect submissions carried LinkedIn-paid params — only internal test submissions that converted directly on the tagged landing page. Result: Paid Social shows zero in the customer's HubSpot; contacts land as Direct/Offline.

Solution

Tag-only change in trysurface/scripts (no surface_forms changes needed):