Earlier quoted context omitted.
If facebook had the clear or hashed data anywhere else you’re still leaking it just with extra steps. Hashes don’t by themselves anonymize. If you have access to the original data it’s trivial to recompute the hash and build your association that way. You could assume the data is salted but that’s not always a safe assumption.
I am not here to defend Meta, only clarify how data is transmitted. Data is not salted as far as I can tell, it's normalized and hashed via SHA256. They publish SDKs for serverside integrations so you can see how the code is set up. https://developers.facebook.com/docs/marketing-api/conversio...
On my Mac, sha256() takes 288ns, so running nine billion of them to find the collision would take about 43 CPU-minutes.