- Reference
- Website tag setup
Website tag setup
The Datahash tag collects events from your website and sends them to the advertising platforms you have connected in Studio. It replaces the base code each platform would otherwise ask you to install, and it reports both browser-side and server-side, so a browser request that is blocked does not lose the event.
There are two tags and they are mutually exclusive. NeoTag is one script that can feed every destination you have connected. dhPixel is generated per platform and feeds only that platform.
Why the tag is first-party
Section titled “Why the tag is first-party”The tag script loads from a subdomain of your own site rather than from a Datahash address, and that changes how browsers and ad blockers treat it.
- A cookie set by code loaded from your own domain is a first-party cookie. A cookie set by code loaded from somewhere else is a third-party cookie, and browsers have been restricting those for years.
- An ad blocker treats a request to a subdomain of the site the visitor is on as internal and does not block it.
Both effects are about identifiers surviving rather than events arriving, which is why an unfinished subdomain shows up as poor match quality rather than as an outage. Set the subdomain up before you install the tag: the script loads from it, so nothing works until it resolves. See Subdomain setup.
What the tag collects
Section titled “What the tag collects”The tag identifies the visitor, records what they do, and sends the event onward. Every event carries three things.
| Part | What it holds |
|---|---|
| Event name | One of the standard events, such as purchase or generate_lead. See the event reference. |
| Event properties | The values that describe the event: currency, value, transaction ID, and the products array on commerce events. |
| User data | The identifiers Studio is configured to collect, such as email address, phone number and name. These are normalized and SHA-256 hashed before they leave for any destination. |
A page view is recorded automatically on load, including the full URL and any UTM parameters. Everything beyond page views is an event you configure.
Choosing your data fields
Section titled “Choosing your data fields”Studio asks which user data fields to collect before it generates any code, on the Configure Data Filter screen. Fields that connected destinations require are preselected and cannot be turned off.
On the Website source the selectable fields are Click Id, Email, First Name, Last Name and Mobile. Alongside them, Browser Agent, City, Country, IP and Pixel Id are always sent and are not selectable.
Select as many as you can. Match quality at the destination depends on how many identifiers arrive with the event, so a narrow selection here caps every destination downstream. You can change the selection later from the source’s Overview tab, under Website Tag Setup, by clicking Edit beside Data Collection.
NeoTag or dhPixel
Section titled “NeoTag or dhPixel”Both collect the same events and behave the same way. The difference is how many destinations one installation can feed.
| NeoTag | dhPixel | |
|---|---|---|
| Destinations per installation | Every destination connected in the project | The one platform its code was generated for |
| How you install it | A new script in the page head or a new tag in your tag manager | Replaces the platform’s own base code inside the tag you already have |
| Adding a platform later | Connect it in Studio, no change on the site | A second dhPixel to generate and install |
| Available for | All destinations | Google Ads, Meta, OpenAI, Snapchat and TikTok |
Choose NeoTag unless you are certain you will only ever send to one destination. Moving from dhPixel to NeoTag later means reworking the tags you have already built, so the cost of guessing wrong falls on the dhPixel side.
Choose dhPixel when you are connecting one destination and you would rather not add a script to the site. Because it replaces the platform base code in place, the rest of your tag manager setup stays as it is.
Before you start
Section titled “Before you start”- A website source configured in Studio. The tag code is on the Setup tab of that source.
- Your subdomain set up and resolving, because the script loads from it. See Subdomain setup.
- Access to your site’s HTML, or to a tag manager such as Google Tag Manager.
- Agreement on which events matter. A tag is configured per event, so the list decides how much work the install is.
Copy the code from Studio rather than retyping one from documentation. It already carries your subdomain and your key, and a hand-typed copy of either fails silently.
Migrating existing tags
Section titled “Migrating existing tags”On the NeoTag setup screen, Migrate Now runs a guided migration of your existing platform tags across to NeoTag. Or Setup Manually gives you the base code to install yourself, and the expand icon shows the full code. The dhPixel codes sit under More Setup Options.
Whichever route you take, remove or pause the platform’s own script for any pixel the Datahash tag is now handling. Two scripts reporting against the same pixel produce conflicting and duplicated tracking, and the duplicate is not visible in the tag manager because both tags fire correctly.
Verifying the install
Section titled “Verifying the install”Use your tag manager’s preview mode to confirm the base code fires on page load and each event tag fires on its trigger. Then publish: a container that is saved but not submitted and published is not live, which is the most common reason a correct install reports nothing.
Datahash verifies the implementation from our side once data starts arriving, and you get an email or an in-app notification when it does.
Where to go next
Section titled “Where to go next”- Subdomain setup to get the subdomain the tag loads from resolving.
- Match quality & EMQ for what the identifiers you selected are worth at the destination.
- Deduplication if a browser pixel is still running alongside the tag.

