When HubSpot, GA4 and Google Ads report different numbers, the fix is not to pick the tool you like most. The fix is to repair the chain in order.
First, confirm the event itself. Does it fire once, at the right moment, with the right consent state? Second, check parameters and UTMs. Are source, campaign, content and term preserved through redirects, forms and payment or signup paths? Third, inspect the CRM record. Are first-touch and latest-touch fields separated, protected and mapped to the right lifecycle object?
Only after that should dashboards or bidding strategies be touched. Otherwise the dashboard beautifies bad data and the ad account optimizes toward broken feedback.
This repair order is simple, but it saves weeks because it follows the real route: browser event, analytics event, CRM record, reporting model, decision.