---
title: Google Analytics 4 (Device Mode)
slug: google-analytics-4-device-mode
docTags: 
createdAt: 2025-05-29T21:59:14.802Z
---

Google Analytics 4 (GA4) is a web and app analytics tool that tracks user behavior across digital properties. The platform enables event-based tracking, cross-platform insights, and predictive metrics to help organizations understand and optimize customer journeys.

# Getting Started

This is a device mode destination requiring the Measurement ID from your Google Analytics property. To locate this identifier, refer to [Google's support documentation](https://support.google.com/analytics/answer/9539598?hl=en).

# Connecting to the Google Analytics 4 (Device Mode) CDP destination

:::BlockQuote
**Warning:** Before connecting destinations in the Chord CDP, please verify with all Destination owners that all **non-Chord CDP** configured destinations are **disabled**. Running external destinations alongside configured Chord CDP destinations **can result in duplicate events downstream.**
:::

1. Log into the Chord data platform.
2. Navigate to the CDP.
3. Click the **"Add"** button next to Destinations.
4. Select **Google Analytics 4** from the destination catalog.
5. Enter the destination name and **Measurement ID**.
6. Click **"Create"** to connect.

# Event Mapping

Not all Chord Tracking events are used downstream in your configured destinations. The most relevant and important events in the Chord tracking plan are mapped within the CDP destination, relayed and then ingested in the destination.

# Supported Events

| Chord Tracking Event      | GA4 Event                 |
| ------------------------- | ------------------------- |
| Cart Viewed               | `view_cart`               |
| Checkout Started          | `begin_checkout`          |
| Custom Events             | snake\_case name (direct) |
| Generate Lead             | `generate_lead`           |
| Order Completed           | `purchase`                |
| Order Refunded            | `refund`                  |
| Page                      | `page_view`               |
| Payment Info Entered      | `add_payment_info`        |
| Product Added             | `add_to_cart`             |
| Product Added to Wishlist | `add_to_wishlist`         |
| Product Clicked           | `select_item`             |
| Product List Viewed       | `view_item_list`          |
| Product Removed           | `remove_from_cart`        |
| Product Viewed            | `view_item`               |
| Products Searched         | `search`                  |
| Promotion Clicked         | `select_promotion`        |
| Promotion Viewed          | `view_promotion`          |
| Signed In                 | `login`                   |
| Signed Up                 | `sign_up`                 |

# Event Attributes

# Order Completed (`purchase`)

| GA4 Attribute    | Chord Source (in priority order)                                            | Notes                                     |
| ---------------- | --------------------------------------------------------------------------- | ----------------------------------------- |
| `transaction_id` | `properties.order_id` / `properties.orderId`                                | Order identifier                          |
| `value`          | `properties.total` > `properties.revenue`                                   | Conversion value                          |
| `currency`       | `properties.currency` > `properties.meta.i18n.currency` > `"USD"` (default) |                                           |
| `coupon`         | `properties.coupon`                                                         | Coupon code; omitted if not present       |
| `shipping`       | `properties.shipping`                                                       | Shipping cost; omitted if not present     |
| `tax`            | `properties.tax`                                                            | Tax amount; omitted if not present        |
| `discount`       | `properties.discount`                                                       | Discount amount; omitted if not present   |
| `affiliation`    | `properties.affiliation`                                                    | Store affiliation; omitted if not present |
| `items`          | `properties.products[]`                                                     | Array of product items (see below)        |

# Product Added (`add_to_cart`)

| GA4 Attribute | Chord Source (in priority order)                                            | Notes                                   |
| ------------- | --------------------------------------------------------------------------- | --------------------------------------- |
| `value`       | `properties.value` > `properties.total` > `properties.revenue`              | Conversion value                        |
| `currency`    | `properties.currency` > `properties.meta.i18n.currency` > `"USD"` (default) |                                         |
| `discount`    | `properties.discount`                                                       | Discount amount; omitted if not present |
| `items`       | `properties.products[]`                                                     | Array of product items (see below)      |

# Checkout Started (`begin_checkout`)

| GA4 Attribute | Chord Source (in priority order)                                            | Notes                               |
| ------------- | --------------------------------------------------------------------------- | ----------------------------------- |
| `value`       | `properties.value` > `properties.total` > `properties.revenue`              | Conversion value                    |
| `currency`    | `properties.currency` > `properties.meta.i18n.currency` > `"USD"` (default) |                                     |
| `coupon`      | `properties.coupon`                                                         | Coupon code; omitted if not present |
| `items`       | `properties.products[]`                                                     | Array of product items (see below)  |

# Order Refunded (`refund`)

| GA4 Attribute    | Chord Source (in priority order)                                            | Notes            |
| ---------------- | --------------------------------------------------------------------------- | ---------------- |
| `transaction_id` | `properties.order_id` / `properties.orderId`                                | Order identifier |
| `value`          | `properties.total` > `properties.revenue`                                   | Refund value     |
| `currency`       | `properties.currency` > `properties.meta.i18n.currency` > `"USD"` (default) |                  |
| `coupon`         | `properties.coupon`                                                         |                  |
| `shipping`       | `properties.shipping`                                                       |                  |
| `tax`            | `properties.tax`                                                            |                  |
| `affiliation`    | `properties.affiliation`                                                    |                  |
| `items`          | `properties.products[]`                                                     |                  |

# Product Viewed (`view_item`), Cart Viewed (`view_cart`), Product Removed (`remove_from_cart`), Product Added to Wishlist (`add_to_wishlist`)

| GA4 Attribute | Chord Source (in priority order)                                            | Notes |
| ------------- | --------------------------------------------------------------------------- | ----- |
| `value`       | `properties.value` > `properties.total` > `properties.revenue`              |       |
| `currency`    | `properties.currency` > `properties.meta.i18n.currency` > `"USD"` (default) |       |
| `items`       | `properties.products[]`                                                     |       |

# Payment Info Entered (`add_payment_info`)

| GA4 Attribute  | Chord Source (in priority order)                                            | Notes |
| -------------- | --------------------------------------------------------------------------- | ----- |
| `value`        | `properties.value` > `properties.total` > `properties.revenue`              |       |
| `currency`     | `properties.currency` > `properties.meta.i18n.currency` > `"USD"` (default) |       |
| `coupon`       | `properties.coupon`                                                         |       |
| `payment_type` | `properties.payment_method`                                                 |       |
| `items`        | `properties.products[]`                                                     |       |

# Products Searched (`search`)

| GA4 Attribute | Chord Source       | Notes |
| ------------- | ------------------ | ----- |
| `search_term` | `properties.query` |       |

# Signed In (`login`) / Signed Up (`sign_up`)

| GA4 Attribute | Chord Source                            | Notes |
| ------------- | --------------------------------------- | ----- |
| `method`      | `properties.type` > `properties.method` |       |

# Product Item Attributes

Each item in the `items` array contains:

| GA4 Item Attribute | Chord Source                    | Notes            |
| ------------------ | ------------------------------- | ---------------- |
| `item_id`          | product `id`                    | Required         |
| `item_name`        | product `name`                  | Required         |
| `item_brand`       | product `brand`                 |                  |
| `item_category`    | product `category`              |                  |
| `item_variant`     | product `variant`               |                  |
| `price`            | product `price`                 |                  |
| `quantity`         | product `quantity`              |                  |
| `coupon`           | product `coupon`                |                  |
| `discount`         | product `discount`              |                  |
| `affiliation`      | product `affiliation`           |                  |
| `index`            | product `position`              |                  |
| `currency`         | Inherited from order `currency` | Set on each item |

# Identify

Identify events set GA4 user properties from `context.traits`. Reserved properties (`first_open_time`, `first_visit_time`, `last_deep_link_referrer`, `user_id`, `first_open_after_install`) and properties prefixed with `google_`, `ga_`, or `firebase_` are excluded.

# CSP Requirements

If your site uses a Content Security Policy, allow the following domains:

| Directive     | Domain                                                                 |
| ------------- | ---------------------------------------------------------------------- |
| `script-src`  | `https://www.googletagmanager.com`                                     |
| `connect-src` | `https://www.googletagmanager.com`, `https://www.google-analytics.com` |

***

**Updated 09 Mar 2026**
