Skip to content

Shopify

Shopify’s native channels cover the basics for Meta and Google. Connecting Shopify as a source adds server-side delivery to every platform you buy on, from the same order and checkout event stream, so a sale is credited on the platforms those native channels do not reach.

Every checkout the storefront completes is hashed and delivered server-side, and deduped against whichever pixel is already installed, so nothing is counted twice. The native Meta and Google channels can stay exactly where they are and run alongside this.

The Datahash app handles all of it from inside Shopify, so conversion tracking no longer depends on Google Tag Manager. Because events come from Shopify’s own pixel API rather than from theme code, a storefront redesign or a move to Checkout Extensibility does not interrupt delivery.

Setup is heavier than the other connectors in this group. It runs to an app install, a subdomain, linking the two, an app embed in your theme and a custom pixel under Customer Events, rather than a single step.

  • An active Shopify store subscription.
  • Administrative access to your Shopify store.
  • A registered domain whose DNS you can manage. Any DNS provider works.

Install the Datahash Conversions API app from the Shopify App Store, checking first that you are signed in to the correct Shopify store. Click Install and grant the requested permissions. You then land on the Datahash App page, where you click the Click Here link to continue.

That link takes you to Studio. Sign in, open Sources, find the Website & E-commerce category and click the Shopify connector tile. Subdomain setup comes before anything else on the connector and is mandatory, because it is what enables server to server first-party tracking.

On the Subdomain screen, enter the subdomain you want to use, for example tracking.yourstore.com, then click Next. Studio generates the DNS records for it, either four NS records or a single CNAME depending on what you are given, which you add at whichever provider manages your domain. Any DNS provider works. Once they are in place, click Proceed and then Finish. See Subdomain setup for the record types and the steps at each provider.

The subdomain has to be hosted under the main domain’s registry, and must not be hosted as a primary domain. DNS changes take time to take effect, so if a later step fails immediately after you add the records, wait rather than starting again.

Copy the subdomain from Studio, paste it into the Datahash app in Shopify, and click Enable Tracking.

In the Shopify admin, go to Online Store, then Themes, then Customize, and select App embeds in the left panel. Find NeoTag, enable it, and click Save followed by Publish.

In the Shopify admin, go to Settings, then Customer Events, and click Add Custom Pixel. Give the pixel a name and click Add Pixel. Copy the code from the Shopify connector in Studio, paste it into Shopify, then click Save and Connect.

A project holds one subdomain, so the site this connector tracks is settled once the subdomain is in place. To track a different domain, set it up in a new project.

The data collection fields can be changed at any time. Click the view icon on the connection, tick or untick the fields you need, and confirm.

Personal identifiers are normalized and SHA-256 hashed before they are sent to any destination.

  • Complete the subdomain and confirm it resolves before touching the store. Everything else depends on it.
  • Use a staging store if you have one, so a misconfigured event does not distort live reporting.
  • Place a test order and confirm the events fire before judging the numbers.
  • Check the app embed is enabled in the theme that is actually live, not only the one you were editing, and that the custom pixel appears under Customer Events.

The subdomain will not verify. The records are wrong or have not taken effect yet. Check they match what Studio showed, then wait before retrying. See Your subdomain is not resolving.

The subdomain was rejected. It has to sit under the main domain’s registry, and it cannot be hosted as a primary domain.

It was working and stopped. A theme or plugin update may have removed the integration. Check it is still in place on the site.