Four Things to Get Right Before Uploading Anything
This work is easy to do badly, and doing it badly produces confident numbers that are wrong plus a compliance exposure you did not have before.
You can only connect what you can identify
A counter sale becomes attributable when it can be tied to a person, usually through a loyalty scan, an email captured for the receipt, or a phone number. Everything downstream depends on that capture rate, and a business scanning loyalty on a small share of transactions has a ceiling no integration can raise. If capture is low, the first project is improving it at the counter, not building a data pipeline that will faithfully report a thin slice of your trade as though it were the whole picture.
Consent for a receipt is not consent for marketing
Taking an email address to send a receipt is a different purpose from adding that person to a campaign audience. Under the Privacy Act 1988 and the Australian Privacy Principles you need a proper basis for the secondary use, and the Spam Act 2003 governs commercial email and text messages separately, requiring consent, sender identification and a working unsubscribe. Capture the consent explicitly at the counter, record when and how it was given, and make sure it flows to every system that might act on it.
A conversion value has to mean something
Before revenue leaves your systems, decide whether the figure is GST inclusive or exclusive and apply it consistently, exclude the things that are not new revenue such as gift card redemptions and staff purchases, and decide how returns are handled. In a category with meaningful returns, uploading gross sales and never adjusting them teaches the ad platforms to chase the customers most likely to send the goods back. Every figure should be reproducible from your own ledger.
Deduplication is the difference between insight and nonsense
Click and collect orders are placed online and collected in store, so they will be counted twice unless you say otherwise. So will a phone order keyed at a till after an online abandonment. Every event that leaves your systems needs a stable identifier and a rule about which channel owns it, applied before upload rather than corrected in a spreadsheet afterwards. Get this wrong and the channel that looks most efficient is simply the one being counted twice.