Building a custom audience used to mean leaving Adside, cleaning up a spreadsheet by hand and walking it through Ads Manager or Campaign Manager. Now you drop the file into chat and ask for an audience.
The agent reads the column headers, works out which one is the email, which is the phone, which is the first name, and shows you the mapping as a card before anything happens. You confirm it, and the upload runs in the background. Meta goes up in batches, LinkedIn takes the list as one file, and the card follows along until it tells you how many rows were sent and how many were skipped. A 12,500 row list finished in under 17 seconds.
Your customer list is never shown to the model and never leaves us as plain text. Every identifier is normalized and hashed before it goes anywhere, and the source file is deleted once the upload is done. If the file isn't really a CSV, has no header row, or the mapping doesn't match what's inside, the import stops and tells you what to change instead of quietly building a half-empty audience.
Matching happens on the ad platform's side and takes up to a few days, so the import leaves a routine behind to watch it. It checks every six hours, stays quiet while the audience is still building, tells you once it's ready, and then turns itself off. You can see it in the sidebar and stop it whenever you want.