You hold data the advertising platforms do not have: who actually bought, for how much, and what came back as a return.
Enhanced Conversions in Google Ads. You send hashed customer details along with the conversion, such as email address, phone number, and name with address. Google matches them against signed-in users and closes part of the gap that cookie loss leaves behind. Hashing is SHA-256, after normalising: trim the whitespace, lowercase everything.
Meta's Conversions API. Same idea, from your server. If you run both the pixel and server events, use one event_id in both so Meta can deduplicate.
Offline conversions from your CRM. For lead generation this is the biggest step. You import which lead became a quote and which quote became an order, carrying the gclid or a user identifier. Google Ads then optimises towards signed deals rather than submitted forms.
First-party data is not a free pass. Sending customer details back to an advertising platform needs a legal basis, and in practice consent. The ad_user_data and ad_personalization signals in Consent Mode cover exactly this: without permission, those details should stay with you.