> For the complete documentation index, see [llms.txt](https://addressable.gitbook.io/knowledge-base/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://addressable.gitbook.io/knowledge-base/event-tracking/addressable-pixel/pixel-via-google-tag-manager-gtm.md).

# Pixel via Google Tag Manager (GTM)

{% hint style="danger" %}
**Using the previous version of the template?**

If you're still using the older Addressable Pixel template (prior to Apr 15th 2026), see our [Migration Guide](/knowledge-base/event-tracking/addressable-pixel/pixel-via-google-tag-manager-gtm/google-tag-manager-template-migration-guide.md) to upgrade. Additionally, the [previous setup guide](/knowledge-base/event-tracking/addressable-pixel/pixel-via-google-tag-manager-gtm/deprecated-pixel-via-google-tag-manager.md) is still available.
{% endhint %}

***

## Enabled with the Addressable Pixel

Once set up, the following features become available:

* **User Insights** — Insights into each of your users
* **Clear Reporting** — In-Depth marketing & funnel reports
* **Campaign Details** — Detailed attribution for paid campaigns

***

## <mark style="background-color:yellow;">Getting Started — Required</mark>

The following steps will walk you through setting up the base pixel on your website or platform. This will enable attribution and additional insights for each of your users. If you need any help, please let us know.

{% hint style="info" %}
If you don't have Google Tag Manager set up yet, please refer to [Google's docs](https://support.google.com/tagmanager/topic/14598735?hl=en\&sjid=14600134600964648548-NA) before continuing or consider another [implementation path](https://addressable.gitbook.io/knowledge-base/event-tracking/addressable-pixel).
{% endhint %}

### Settings up the Base Pixel

{% stepper %}
{% step %}

#### Get your Pixel ID

*First, we need to get your Pixel ID for the next step*

**Follow These Steps:**

1. Log into **Addressable** and click **Data Sources**
2. Select [**Addressable Pixel**](https://app.addressable.io/data-sources/addressable-pixel/events) then click on **Connect**
3. Copy the **Pixel ID** for the third step
4. Either keep this page open or paste the ID somewhere else

{% hint style="info" %}
Your Pixel ID is a 32-character code (e.g. `a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4`).

You can always find it in **Data Sources > Addressable Pixel > Connect**.
{% endhint %}
{% endstep %}

{% step %}

#### Add the Community Template

*Second, we need to add the official* [*Community Template*](https://tagmanager.google.com/gallery/#/owners/addressableid/templates/addressable-gtm-template) *for the Addressable Pixel.*

**Follow These Steps:**

1. Log into [**Google Tag Manager**](https://tagmanager.google.com/)
2. Select the correct **Account/Container**
3. On the left sidebar, click on **Templates**
4. Under **Tag Templates**, click the **Search Gallery** button
5. Click on the **Magnifying Glass** icon (Search icon) on the top right of the side panel
6. Search for *`Addressable Pixel`* and select it
7. Click the **Add to workspace** button
8. Click the **Add** button
   {% endstep %}

{% step %}

#### Configure the template and publish

*Third, we need to configure the newly added template.*

**Follow These Steps:**

1. *Back to Google Tag Manager, aka the tab from Step 2*
2. On the left sidebar, click on **Tags**
3. Then click on **New** button
4. Click **Tag Configuration** and select **Addressable Pixel** from the "Custom" section
5. Paste your **Pixel ID** from Step 1
6. Make sure the following is set:
   1. Do not rename yet — it'll ask you when you save
   2. Under **Tracking Mode**, keep **PageView (default)** selected
7. Click **Triggering** (scroll down) and select **All Pages** under "Choose a trigger"
8. Click Save
9. In the Rename **Tag popup**, enter `Addressable - Page View` — This is *not required.*
10. Go back to **Overview** on the left sidebar
11. Click **Submit** on the top right (blue button)
12. Give the release a clear name, such as `Added Addressable Pixel`
13. Click **Publish** on the top right (blue button)
14. *Note: If your platform has **Content Security Policy** (CSP), you will need to* [***configure our domains***](https://addressable.gitbook.io/knowledge-base/event-tracking/addressable-pixel/content-security-policy-csp) *as well — If you're unsure, we're happy to help.*
    {% endstep %}
    {% endstepper %}

{% hint style="success" %}
**Congratulations** :tada:

You successfully set up Page View and Wallet Connect events in Addressable.

*Please allow up to 24 hours for these events to show up in our platform or troubleshooter.*
{% endhint %}

### Debugging Details

**This is only helpful if you're tech-savvy and running into issues.**

* You can see a live feed of events logged by the Pixel every \~60 seconds.
* This is also where you can access the [**Troubleshoot Tool**](https://app.addressable.io/data-sources/addressable-pixel/raw) as well.

  *NOTE: There is a 24 hour delay for the tool to show data in our system as completed.*
* *You can log back into **Addressable**, click on **Data Sources**, click on **View Events** under Addressable Pixel, and go to the* [***Raw Events***](https://app.addressable.io/data-sources/addressable-pixel/raw) *tab.*

***

## <mark style="background-color:yellow;">Custom Events & Revenue Tracking — Recommended</mark>

After setting up the base pixel, we recommend setting up **additional events** to better understand how users interact with your website or platform. Events enable more of your Addressable dashboard by helping you measure meaningful user actions, identify drop-off points, and track conversions more precisely across your funnel.

**Understanding Event Types**

Beyond the base PageView, there are three types of events you can set up. Think of them as three buckets:

<table><thead><tr><th width="199.95172119140625">Type</th><th width="296.141357421875">What It Is</th><th>Example</th></tr></thead><tbody><tr><td><strong>Key Events</strong></td><td>Any notable action a user takes that signifies early progress toward your business goals. These help you understand behavior and measure engagement across your funnel.</td><td>"Started Signup", "Downloaded App", "Viewed Pricing Page"</td></tr><tr><td><strong>Conversion Events</strong></td><td>The 1–3 end-goal actions that mean a user hit a business goal. These are what you'd use to measure campaign success.</td><td>"Completed Registration", "Submitted Lead Form", "Completed Swap"</td></tr><tr><td><strong>Revenue Events</strong></td><td>Financial transactions you want to track — dollars (or tokens) in the platform. Always treated as conversions.</td><td>"Purchase", "First Time Deposit", "Deposit"</td></tr></tbody></table>

{% hint style="info" %}
**How these build on each other:** Key events track progress. Conversions track success. Revenue tracks money. Start with key events, add conversions for the actions that matter most, and layer in revenue tracking when you need ROAS and ROI data.

Not sure which events to set up? Your Addressable team can help you identify the right ones for your funnel.
{% endhint %}

#### <mark style="background-color:yellow;">Wallet Connect Event (User Defined)</mark>

Use this when you want to explicitly track wallet connections from your own UI — for example, when a user connects via your app's wallet connect flow.

{% hint style="warning" %}
Basic wallet connect events are **already tracked automatically** when the PageView pixel is installed. This suggested event is for when you want to track wallet connections from your own connect flow, with the specific wallet address and chain ID that you have access to.
{% endhint %}

{% stepper %}
{% step %}

#### Configure a Wallet Connect event

**Follow These Steps:**

1. Log into [**Google Tag Manager**](https://tagmanager.google.com/)
2. Select the correct **Account/Container**
3. Go to **Tags > New**
4. Click **Tag Configuration** and select **Addressable Pixel** from the "Custom" section
5. Enter your **Pixel ID**
6. Under **Tracking Mode**, select **Event Tracking**
7. Under **Choose Event Tracking Type**, select **Suggested Events**
8. Under **Event Type**, select **Wallet Connect (User Defined)**
9. Enter the **Wallet Address** — use a GTM variable (click the brick icon) to dynamically pass the user's wallet address
10. Enter the **Chain ID** — the EVM chain ID (e.g. `1` for Ethereum Mainnet, `137` for Polygon)

{% hint style="info" %}
We use the [EIP-155](https://eips.ethereum.org/EIPS/eip-155) standard for chain IDs. You can find a list of chain IDs at [chainlist.org](https://chainlist.org/).
{% endhint %}

11. Set the appropriate **Trigger** for when this event should fire
12. Click **Save** and name the tag (e.g. `Addressable - Wallet Connect`)
13. Click **Submit** and then **Publish**
    {% endstep %}
    {% endstepper %}

### <mark style="background-color:yellow;">Setting up Key Events & Conversion Events</mark>

Custom events let you track any action that matters to your funnel using a name you define. These are great for tracking specific steps or milestones that don't fit the suggested events.

{% stepper %}
{% step %}

#### Configure a custom event

**Follow These Steps:**

1. Log into [**Google Tag Manager**](https://tagmanager.google.com/)
2. Select the correct **Account/Container**
3. Go to **Tags > New**
4. Click **Tag Configuration** and select **Addressable Pixel** from the "Custom" section
5. Enter your **Pixel ID**
6. Under **Tracking Mode**, select **Event Tracking**
7. Under **Choose Event Tracking Type**, select **Custom**
8. Enter your **Event Name** — choose an explicit and memorable name, as this is exactly what you'll see in the Addressable dashboard

{% hint style="warning" %}
**Important:** The event name you enter here will be the exact name shown in the Addressable dashboard. Choose something clear and consistent.
{% endhint %}

9. If this event represents a meaningful completion in your funnel, check **Mark as conversion event**

   > **When should I mark something as a conversion?**
   >
   > A conversion is any action that represents meaningful progress, completing a signup, making a purchase, submitting a lead form, or reaching a key milestone. If you'd use it to measure campaign success, it's probably a conversion.
10. Optionally, expand **Additional Event Properties** to send extra context with the event
    1. Click **Add Row** to define each property
    2. **Property Name** → Use a clear name, such as "plan\_type" or "referral\_source"
    3. **Property Value** → Select a dynamic variable defined in GTM using the brick icon
11. Set the appropriate **Trigger** for when this event should fire
12. Click **Save** and name the tag (e.g. `Addressable - Started Checkout`)
13. Click **Submit** and then **Publish**
    {% endstep %}
    {% endstepper %}

### <mark style="background-color:yellow;">Setting up Revenue Tracking</mark>

Revenue events let you track financial transactions — purchases, deposits, swaps — and tie them back to campaigns, users, and attribution. This enables ROI tracking, user-level revenue, ROAS for campaigns, and more in your Addressable dashboard.

{% hint style="info" %}
Revenue events are **always treated as conversions**. You don't need to check a separate conversion box, it's automatic.
{% endhint %}

#### Suggested Revenue Events

The template includes three pre-built revenue event types:

| Event Type                   | When to Use                                                           |
| ---------------------------- | --------------------------------------------------------------------- |
| **Purchase**                 | One-time payments, trades, or purchases                               |
| **First Time Deposit (FTD)** | A user's first deposit — commonly used in gaming, DeFi, and exchanges |
| **Deposit**                  | Any subsequent deposit after the first                                |

For other revenue events (swaps, withdrawals, custom transactions), select **(Custom Revenue Tracking)** and define your own event name.

#### Supported Transaction Types

Each revenue event requires a **Transaction Type**, which determines what additional fields are needed:

<table><thead><tr><th width="200">Transaction Type</th><th width="250">Example Use Case</th><th>Required Fields</th></tr></thead><tbody><tr><td>United States Dollar (USD)</td><td><ul><li>Payments</li><li>Trading</li></ul></td><td><ul><li>Unique Transaction Identifier</li><li>Transaction Amount</li></ul></td></tr><tr><td>Token Contract (Non-Native)</td><td><ul><li>Stablecoin payments</li><li>DeFi interactions</li></ul></td><td><ul><li>Unique Transaction Identifier</li><li>Transaction Amount</li><li>Chain ID</li><li>Token Contract Address</li></ul></td></tr><tr><td>Native Token</td><td><ul><li>Value transfer between wallets</li><li>Staking</li></ul></td><td><ul><li>Unique Transaction Identifier</li><li>Transaction Amount</li><li>Chain ID</li></ul></td></tr><tr><td>Foreign Currency Exchange</td><td><ul><li>Converting EUR to USD</li></ul></td><td><ul><li>Unique Transaction Identifier</li><li>Transaction Amount</li><li>USD Exchange Rate (Spot Rate)</li></ul></td></tr></tbody></table>

{% stepper %}
{% step %}

#### Configure revenue tracking

**Follow These Steps:**

1. Log into [**Google Tag Manager**](https://tagmanager.google.com/)
2. Select the correct **Account/Container**
3. Go to **Tags > New**
4. Click **Tag Configuration** and select **Addressable Pixel** from the "Custom" section
5. Enter your **Pixel ID**
6. Under **Tracking Mode**, select **Event Tracking**
7. Under **Choose Event Tracking Type**, select **Suggested Events**
8. Under **Event Type**, select one of the following:
   * **Purchase** — for one-time payments or trades
   * **First Time Deposit** — for a user's first deposit
   * **Deposit** — for subsequent deposits
   * **(Custom Revenue Tracking)** — for any other revenue event (you'll also enter a custom **Event Name**)
9. Select the **Transaction Type** that matches your use case (see table above)
10. Fill in the required fields:
    * **Unique Transaction Identifier** — A unique string for each transaction (e.g. a blockchain tx hash, order number, or internal ID). This ensures each transaction is processed only once.
    * **Transaction Amount** — The total value of the transaction
11. Fill in any additional fields based on your transaction type:
    * **Chain ID** — The EVM chain ID (shown for Token Contract and Native Token types)
    * **Token Contract Address** — The smart contract address of the token (shown for Token Contract type only)
    * **USD Exchange Rate (Spot Rate)** — The exchange rate at the time of transaction (shown for Foreign Currency Exchange only)

{% hint style="info" %}
Use GTM variables (click the brick icon) to dynamically pass values like transaction amount, transaction ID, and chain ID from your website's dataLayer.
{% endhint %}

12. Set the appropriate **Trigger** for when this event should fire
13. Click **Save** and name the tag (e.g. `Addressable - Purchase`)
14. Click **Submit** and then **Publish**

{% hint style="warning" %}
After setting up revenue tracking, contact your Addressable Customer Service representative to ensure your revenue events are properly configured on our end.
{% endhint %}
{% endstep %}
{% endstepper %}

#### Validate Your Configuration

For proper funnel configuration, we recommend configuring at least:

1. A **PageView** tag (the base pixel, firing on All Pages)
2. At least one **Event Tracking** tag marked as a conversion

You can validate events are coming in through our dashboard, by selecting Data Sources then [Addressable Pixel](https://app.addressable.io/data-sources/addressable-pixel/events) then click on View Events then click Raw Events.

### <mark style="background-color:yellow;">Setting up User Properties</mark>

User Properties let you attach additional data to a user's profile — such as their internal User ID, wallet address, email, or social handles. This enriches the identity data in your Addressable dashboard beyond what the pixel automatically detects.

{% hint style="info" %}
User Properties don't fire as events in your funnel. They enrich the user's profile so you can identify and understand them better across the platform.
{% endhint %}

#### Suggested User Properties

The template includes pre-built property types that Addressable automatically recognizes:

| Property            | What It Is                               |
| ------------------- | ---------------------------------------- |
| **User ID**         | Your platform's internal user identifier |
| **Wallet Address**  | The user's blockchain wallet address     |
| **Email Address**   | The user's email                         |
| **X Handle**        | The user's X (Twitter) handle            |
| **Telegram Handle** | The user's Telegram handle               |

#### Using Suggested Properties

{% stepper %}
{% step %}

#### Configure suggested user properties

**Follow These Steps:**

1. Log into [**Google Tag Manager**](https://tagmanager.google.com/)
2. Select the correct **Account/Container**
3. Go to **Tags > New**
4. Click **Tag Configuration** and select **Addressable Pixel** from the "Custom" section
5. Enter your **Pixel ID**
6. Under **Tracking Mode**, select **User Properties**
7. Under **User Property Name**, select **Suggested**
8. In the table, click **Add Row**:
   * **Property Name** → Select from the dropdown (e.g. User ID, Wallet Address, Email Address)
   * **Property Value** → Use a GTM variable (click the brick icon) to dynamically pass the value
9. Add as many rows as needed — you can send multiple properties at once
10. Set the appropriate **Trigger** for when this should fire (e.g. when a user is logged in)
11. Click **Save** and name the tag (e.g. `Addressable - User Properties`)
12. Click **Submit** and then **Publish**
    {% endstep %}
    {% endstepper %}

#### Using Custom Properties

If you need to send properties not included in the suggested list, select **Custom** under **User Property Name** and define your own key-value pairs in the table.

The steps are the same as above, except you'll type in your own **Property Name** (e.g. "membership\_tier", "signup\_source") instead of selecting from a dropdown.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://addressable.gitbook.io/knowledge-base/event-tracking/addressable-pixel/pixel-via-google-tag-manager-gtm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
