Store sales tracking

If you advertise on Google or Meta, you also want to know which ads lead to purchases in your shops. Odoo can report the paid orders of the PoS as offline store sales to the advertising platforms, so that they can measure the effect of the ads on your physical stores and optimize the campaigns.

This feature is installed automatically when the Point of Sale and the Google or Meta app are installed.

Important

No cookie consent can be collected at the counter. Only the customers you identified are reported, and only if the settings of the platform allow store sales. Enable this feature only if your legal basis allows it, and mention it in your privacy policy. See Privacy notes.

Set up the store sales

  1. In the settings of the platform, enable the store sales:

    • Meta: go to Meta ‣ Configuration ‣ Settings and enable Store Sales in the Conversions API block (see Store sales).

    • Google Analytics 4: go to Google ‣ Configuration ‣ Settings and enable Store Purchases in the Measurement Protocol options.

  2. Go to Point of Sale ‣ Configuration ‣ Settings, select the point of sale in the Point of Sale field if needed, and in the Report Store Sales setting, select the Report Sales to Ads website. It is the website whose Google and Meta settings (pixel, dataset, tokens) apply to this point of sale.

  3. Click Save.

screenshot: pos-settings-store-sales
menu
Point of Sale ‣ Configuration ‣ Settings
shows
The Report Store Sales setting of the Point of Sale settings, with the Report Sales to Ads field set to a website.
highlight
The Report Sales to Ads field (red frame).
data
Website "My Website".
notes
English UI, light theme, 1440px width, crop to the setting.

Leave the field empty to report nothing for this point of sale. Each point of sale has its own setting, so you can report some shops and not others.

Which orders are reported?

When a PoS order is paid, Odoo reports it as a purchase if:

  • a website is selected for the point of sale;

  • the order has a customer with an email address or a phone number (the platforms use them to match the sale with a person, after hashing);

  • the total of the order is positive;

  • the platform has the store sales enabled.

The order is sent once, with its date and time, its currency, its untaxed amount, its reference, and the products (identifier, name, unit price, and quantity). The product identifier is the same as in the product feeds and the website events.

The customer’s email, phone, name, and address are hashed with SHA-256 before being sent. The sales without an identified customer are never reported.

Tip

Ask your cashiers to identify the customer (a loyalty card or a customer account) so that the sale can be matched. The unidentified sales cannot be attributed to an ad.

The reports are put in the queue of the server events (Website ‣ Configuration ‣ Tracking & Consent ‣ Server Events), where you can see whether they were sent.