You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/connections/destinations/catalog/google-ads-gtag/index.md
+39-8Lines changed: 39 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,8 @@ strat: google
9
9
10
10
If you're using the [new Google Ads (Gtag) experience](https://support.google.com/adwords/answer/6095821?hl=en&ref_topic=3165803), you can enable the **Google Ads (Gtag)** Destination (previously called "Google Adwords New") in the Segment catalog. The new Google Ads uses a Global Site Tag (Gtag) and event snippets.
11
11
12
-
**IMPORTANT**: Only use this destination if your Google Ads account is using the _New_ (Gtag) Experience. If you are using Google Tag Manager (a separate product) as well, do not add the global site tag again in your GTM containers. You should also disable any [Google Ads (Classic)](https://segment.com/docs/connections/destinations/catalog/adwords/) destinations within the same source, since **Google Ads (Classic)** cannot load at the same times as **Google Ads (Gtag)**.
12
+
> info "Info message."
13
+
> **IMPORTANT**: Only use this destination if your Google Ads account is using the _New_ (Gtag) Experience. If you're using Google Tag Manager (a separate product) as well, don't add the global site tag again in your GTM containers. You should also disable any [Google Ads (Classic)](https://segment.com/docs/connections/destinations/catalog/adwords/) destinations within the same source, since **Google Ads (Classic)** can't load at the same times as **Google Ads (Gtag)**.
13
14
14
15
## Getting Started
15
16
@@ -19,11 +20,11 @@ Currently this is only supported on the browser.
19
20
20
21
## Page
21
22
22
-
If you want to map all your unnamed `.page()` calls to a default Page Load Conversion, you can enter it in our settings. However, if you created specific Page Load Conversions in Google Ads that you'd like to map your named `.page()` calls in Segment, you can also do that by mapping the events in **Page Load Conversions** setting.
23
+
If you want to map all your unnamed `.page()` calls to a default Page Load Conversion, you can enter the AdWords Conversion ID in **Settings > Default Page Conversion**. However, if you created specific Page Load Conversions in Google Ads that you'd like to map your named `.page()` calls in Segment, you can map the events in **Settings > Page Load Conversions**.
23
24
24
-
Segment forwards all the `properties` of the page call, such as `path`, `title`, `url`, and so on, because by default Google Ads (Gtag) makes these available in your remarketing campaigns.
25
+
Segment forwards all the `properties` of the page call, such as `path`, `title`, `url`, because by default, Google Ads (Gtag) makes these available in your remarketing campaigns.
25
26
26
-
You can send Google's semantic properties, such as `value`, `currency`, or `transaction_id`, as integration specific options. However, we recommend just creating a Click Conversion instead and mapping them to `.track()` calls. The example below shows these properties as integration-specific options:
27
+
You can send Google's semantic properties, such as `value`, `currency`, or `transaction_id`, as integration specific options. However, Segment recommends you to create a **Click Conversion** instead, and map them to `.track()` calls. The example below shows these properties as integration-specific options:
27
28
28
29
```javascript
29
30
analytics.page({}, {
@@ -35,15 +36,45 @@ analytics.page({}, {
35
36
});
36
37
```
37
38
38
-
**NOTE**: The `'Google Ads (Gtag)'` is case sensitive. We ask for `order_id` rather than `transaction_id` to stay more consistent with our own [ecommerce spec](https://segment.com/docs/connections/spec/ecommerce/v2). However, we will send it as `transaction_id` in the request itself to satisfy Google's specifications.
39
+
> note ""
40
+
> **NOTE:** The `'Google Ads (Gtag)'` is case sensitive. Segment prefers you to use `order_id` rather than `transaction_id` to stay more consistent with the [ecommerce spec](https://segment.com/docs/connections/spec/ecommerce/v2). However, Segment will send it as `transaction_id` in the request itself to satisfy Google's specifications.
39
41
40
42
## Track
41
43
42
-
You can map your custom `.track()` events to any **Click Conversions** you created inside Google Ads. We will pass any `properties` so you can use them during your remarketing campaigns.
44
+
You can map your custom `.track()` events to any **Click Conversions** you created inside Google Ads. Segment passes any `properties` so you can use them during your remarketing campaigns.
43
45
44
-
If you pass `properties.value`, `properties.currency`, or `properties.order_id`, we will map them to Google's semantic `value`, `currency`, or `transaction_id` respectively.
46
+
If you pass `properties.value`, `properties.currency`, or `properties.order_id`, Segment maps them to Google's semantic `value`, `currency`, or `transaction_id` respectively.
45
47
46
-
The only exception is that for `Order Completed` events, we will map Google's semantic `value` field to your `properties.revenue`.
48
+
The only exception is that for `Order Completed` events, Segment will map Google's semantic `value` field to your `properties.revenue`.
49
+
50
+
## Troubleshooting AdWords Conversions
51
+
To figure out if an event is flagged for Conversion by the AdWords SDK, follow these steps:
52
+
1. Confirm that the events mapped to Google Ads Conversion are being sent in device-mode while using the Segment Analytics.js library. To do this:
53
+
1. Go to **Connections > Sources** in your workspace and choose your Source.
54
+
2. Go to the **Debugger** tab.
55
+
3. Click on an event and look at the **Raw** view to make sure the events have a library name of `analytics.js`. There should be a snippet of code that looks like this:
56
+
57
+
```js
58
+
"library": {
59
+
"name":"analytics.js",
60
+
```
61
+
62
+
2. Verify that the [Google Conversion ID](/docs/connections/destinations/catalog/google-ads-gtag/#google-conversion-id) in your Segment workspace is correct.
63
+
3. Find your ad online and click on it. This will redirect you to your website.
64
+
4. Open the Network tab in your browser and make sure the **Preserve log** checkbox is checked and **All** is selected. Keep this Network tab and webpage open.
65
+
66
+

67
+
68
+
5. Go to the **Settings** tab for your Gtag destination in Segment on a new webpage and choose **Click Conversions** to look at the mapped `track()` events and make sure the events are mapped to the correct **Adwords Conversion Label**.
Copy file name to clipboardExpand all lines: src/connections/destinations/catalog/mixpanel/index.md
+7-2Lines changed: 7 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -197,10 +197,15 @@ If you're not familiar with the Segment Specs, take a look to understand what th
197
197
analytics.alias('newUserId')
198
198
```
199
199
200
-
**Important:** Mixpanel used to require that you call `alias` in all libraries to connect anonymous visitors to identified users. However, with the release of Mixpanel's new [Identity Merge feature](https://help.mixpanel.com/hc/en-us/articles/360039133851#enable-id-merge) this is no longer necessary. To enable ID Merge, go to your Mixpanel Settings Dashboard, navigate to **Project Settings > Identity Merge** and enable the setting from that screen. If you are _not_ using this setting, use the instructions below.**
200
+
> info ""
201
+
> **Important:** Mixpanel used to require that you call `alias` in all libraries to connect anonymous visitors to identified users. However, with the release of Mixpanel's new [Identity Merge feature](https://help.mixpanel.com/hc/en-us/articles/360039133851#enable-id-merge) this is no longer necessary. To enable ID Merge, go to your Mixpanel Settings Dashboard, navigate to **Project Settings > Identity Merge** and enable the setting from that screen. If you are _not_ using this setting, use the instructions below.
201
202
202
203
203
-
As soon as you have a `userId` for a visitor that was previously anonymous you'll need to [`alias`](/docs/connections/spec/alias/) their old anonymous `id` to the new `userId`. In Mixpanel only **one** anonymous user history can be merged to **one** identified user. For that reason you should only call `alias` once, right after a user registered, but before the first `identify`.
204
+
As soon as you have a `userId` for a visitor that was previously anonymous you'll need to [`alias`](/docs/connections/spec/alias/) their old anonymous `id` to the new `userId`. In Mixpanel only **one** anonymous user history can be merged to **one** identified user. For that reason you should only call `alias` once, right after a user registered, but before the first `identify`. To merge identities in Mixpanel, send an identify call with both the previous anonymous ID, and the new user ID, as follows:
205
+
206
+
```javascript
207
+
analytics.alias('anonId','newUserId');
208
+
```
204
209
205
210
You'll also want to `track` the action that caused the user to be identified or created. Read our [guide on how to identify new users](/docs/connections/spec/best-practices-identify/) to learn why.
Copy file name to clipboardExpand all lines: src/connections/sources/catalog/libraries/server/java/index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -408,7 +408,7 @@ For more advance logging, you can check out the [sample code](https://github.com
408
408
409
409
## Java Support
410
410
411
-
We officially support Java 8, 9and 10. The library may work on other versions of Java as well, however we don't test for compatibility on unsupported versions.
411
+
Segment supports Java 8, 9, 10, and 11. The library may work on other versions of Java as well, however we don't test for compatibility on unsupported versions.
Copy file name to clipboardExpand all lines: src/connections/sources/catalog/libraries/website/javascript/upgrade-to-ajs2.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Upgrade to Analytics.js 2.0
3
3
strat: ajs
4
4
---
5
5
6
-
Analytics.js 2.0 is fully backward compatible with Analytics.js Classic. To upgrade your sources, follow the manual upgrade steps below, or see the schedule for automatic migration.
6
+
Analytics.js 2.0 is fully backward compatible with Analytics.js Classic. To upgrade your sources, follow the manual upgrade steps below, or see the schedule for automatic migration. As with all upgrades, Segment recommends that you start development on a non-production source to test the upgrade process and outcome, prior to upgrading your production sources.
Copy file name to clipboardExpand all lines: src/personas/journeys/use-cases.md
+3-16Lines changed: 3 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,26 +8,13 @@ To help you get underway, you can reference these sample Journeys.
8
8
9
9
## E-commerce use cases
10
10
11
-
### Cart abandonment
12
11
13
-
In this journey, you'll see a cart abandonment campaign designed to win users back while still optimizing ad spend and discounting based on customer engagement.
1. Create the entry condition with the step name `Cart abandoners`.
18
-
1. All users who performed **Product Added** at least once within **1 day**, and performed **Order Completed** zero times within **1 day**.
19
-
2. Add a wait duration of **1 hour**.
20
-
3. Send this audience to relevant destinations, for example Facebook Custom Audiences or Google Adwords.
21
-
4. Add a wait duration of **1 day**.
22
-
5. Add a True/false split.
23
-
1. Split the audience based on those who performed **Page Viewed** at least once, and where the **utm_source** equals the ad destination in step 3, within the last day.
24
-
2. For the True branch, send the list of users to Email and Advertising destinations.
25
-
3. For the False branch, send the list of users to an Email destination.
26
-
27
-
### Repeat Purchase Campaign
12
+
### Repeat purchase campaign
28
13
29
14
This journey focuses on converting one-time buyers into repeat purchasers by delivering communications in their preferred channels.
Copy file name to clipboardExpand all lines: src/protocols/tracking-plan/libraries.md
+13-12Lines changed: 13 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ title: Tracking Plan Libraries
5
5
{% include content/plan-grid.md name="protocols" %}
6
6
7
7
8
-
Tracking Plan Libraries make it easy to scale the creation of multiple Tracking Plans within your workspace. You can create libraries for track events or track event properties. Editing Tracking Plan Libraries is identical to [editing Tracking Plans](/docs/protocols/tracking-plan/create/).
8
+
Tracking Plan Libraries make it easy to scale Tracking Plan creation within your workspace. You can create libraries for track events or track event properties. Editing Tracking Plan Libraries is identical to [editing Tracking Plans](/docs/protocols/tracking-plan/create/).
9
9
10
10
> note ""
11
11
> **Note**: Segment does support advanced JSON schema implementations and identify/group trait libraries.
@@ -23,32 +23,33 @@ To create a new Library:
23
23
24
24
### Tracking Plan Event Libraries
25
25
26
-
Tracking Plan Event Libraries support Track events and associated properties. Event Libraries are helpful when you want to track a group of events consistently across tracking plans. For example, if you are an eCommerce company with multiple apps, you likely need to track [eCommerce Spec](/docs/connections/spec/ecommerce/v2/) events consistently across those sources. Instead of having to re-create the eCommerce spec across multiple tracking plans, simply create a library and import the events to each Tracking Plan.
26
+
Tracking Plan Event Libraries support Track events and associated properties. Event Libraries are helpful when you want to track a group of events consistently across tracking plans. For example, if you are an eCommerce company with more than one application, you may need to track [eCommerce Spec](/docs/connections/spec/ecommerce/v2/) events consistently across those sources. Instead of needing to re-create the eCommerce spec across all tracking plans, create a library and import the events to each Tracking Plan.
27
27
28
28
### Tracking Plan Property Libraries
29
29
30
-
Tracking Plan property Libraries support Track event property groups. Property Libraries are helpful when you have many events in a Tracking Plan that share a common set of properties. For example, if you want to consistently include `order_id`, `currency`, `cart_id` and a `products` array of objects in your checkout flow events, you can create a Library with these properties including descriptions, data types and conditional filters.
30
+
Tracking Plan property Libraries support Track event property groups. Property Libraries are helpful when you have more than one event in a Tracking Plan that share a common set of properties. For example, if you want to consistently include `order_id`, `currency`, `cart_id` and a `products` array of objects in your checkout flow events, you can create a Library with these properties including descriptions, data types and conditional filters.
31
31
32
-
### Importing Libraries into a Tracking Plan
32
+
### Import Libraries into a Tracking Plan
33
33
34
-
Event and property libraries can be easily imported into a Tracking Plan. Enter the Draft mode for a Tracking Plan and click the **Import from Event or Property Library** dropdown. A wizard will appear allowing you to either add the events to a tracking plan, or add properties to selected events already in the tracking plan. After adding your events or properties, remember to merge your changes!
34
+
You can import event and property libraries into a Tracking Plan. Enter the Draft mode for a Tracking Plan and click the **Import from Event or Property Library** dropdown. A wizard will appear allowing you to either add the events to a tracking plan, or add properties to selected events already in the tracking plan. After adding your events or properties, remember to merge your changes!
When importing events from a Library, you can enable syncing to ensure that changes made to the Library are passed down to all "synced" Tracking Plans. Syncing is especially important when you want to make sure all your Tracking Plans define events consistently. For example, it's best practice to create separate tracking plans for mobile and web sources as these two sources share some but not all events. Library syncing is the best way to ensure that the shared events are consistently tracked across Tracking Plans, even as changes are made to the Library.
40
+
> warning ""
41
+
> [Property Library](/docs/protocols/tracking-plan/libraries/) syncing is **not** supported.
42
+
43
+
When you import events from an Event Library, you can enable syncing to ensure that changes made to the Library pass down to all synced Tracking plans.Syncing is important when you want to make sure all Tracking Plans define events consistently. For example, it's best practice to create separate tracking plans for mobile and web sources as these two sources share some but not all events. Library syncing is the best way to ensure that the shared events are consistently tracked across Tracking Plans, even as you make changes to the Library.
41
44
42
-
To enable syncing, simply select the desired Library from the Tracking Plan import flow, and toggle the syncing option. Doing so will automatically select all events in the Library to be imported. Partial syncs are not supported as it would make it impossible to ensure complete compliance with the Library.
45
+
To enable syncing, select the desired Library from the Tracking Plan import flow, and toggle the syncing option. This selects all events in the Library for import. Partial syncs are not supported as it would make it impossible to ensure complete compliance with the Library.
43
46
44
47

45
48
46
-
When synced, events and properties from the synced Library cannot be edited and the Tracking Plan merge step is bypassed. Properties can however be added to synced events. Synced events cannot be removed unless the Library sync is removed. To unsync a library, click View Synced Libraries from the Tracking Plan and click the overflow menu to unsync the Library.
49
+
Syncing a Library makes events and properties un-editable, and bypasses the Tracking Plan merge step. You can add properties to synced events, but cannot remove those synced events unless you also remove the Library sync. To unsync a library, click **View Synced Libraries** from the Tracking Plan and click the overflow menu to unsync the Library.
47
50
48
51
> warning ""
49
-
> All changes made to a synced library will immediately pass through to the Tracking Plans and may impact data deliverability
52
+
> All changes made to a synced library pass through to the Tracking Plans and may impact data deliverability
50
53
51
54

52
55
53
-
> warning ""
54
-
> [Property Library](/docs/protocols/tracking-plan/libraries/) syncing is **not** currently supported.
0 commit comments