Skip to content

Commit 23f888c

Browse files
committed
Merge branch 'master' into DOC-192_data-res-ga
2 parents e9ba243 + f2772c1 commit 23f888c

File tree

11 files changed

+100
-105
lines changed

11 files changed

+100
-105
lines changed

src/connections/destinations/catalog/google-ads-gtag/index.md

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ strat: google
99

1010
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.
1111

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)**.
1314
1415
## Getting Started
1516

@@ -19,11 +20,11 @@ Currently this is only supported on the browser.
1920

2021
## Page
2122

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**.
2324

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.
2526

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:
2728

2829
```javascript
2930
analytics.page({}, {
@@ -35,15 +36,45 @@ analytics.page({}, {
3536
});
3637
```
3738

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.
3941
4042
## Track
4143

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.
4345

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.
4547

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+
![Network tab](../../images/network-tab.png)
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**.
69+
70+
![Edit Settings](../../images/conversion-settings.png)
71+
72+
6. Go back to your website and trigger the event mapped to the conversion. For example, as shown in the image above, it would be `Order Completed`.
73+
7. Go to the Network tab in your browser and enter the **Adwords Conversion Label** linked to the event you triggered in the **Filter** field.
74+
75+
![Network tab](../../images/network-tab-search.png)
76+
77+
8. See if the value for the `ct_cookie_present` changed to `true`. If `true`, it means that Adwords counts the event as a conversion.
4778
4879
## Multiple Google Ads Accounts
4980

src/connections/destinations/catalog/mixpanel/index.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,10 +197,15 @@ If you're not familiar with the Segment Specs, take a look to understand what th
197197
analytics.alias('newUserId')
198198
```
199199

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.
201202
202203

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+
```
204209

205210
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.
206211

200 KB
Loading
49.1 KB
Loading
43.5 KB
Loading

src/connections/sources/catalog/libraries/server/java/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ For more advance logging, you can check out the [sample code](https://github.com
408408

409409
## Java Support
410410

411-
We officially support Java 8, 9 and 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.
412412

413413
## Snapshots
414414

src/connections/sources/catalog/libraries/website/javascript/upgrade-to-ajs2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Upgrade to Analytics.js 2.0
33
strat: ajs
44
---
55

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.
77

88
## Manual upgrade
99

56 KB
Loading

src/personas/journeys/use-cases.md

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,13 @@ To help you get underway, you can reference these sample Journeys.
88

99
## E-commerce use cases
1010

11-
### Cart abandonment
1211

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.
14-
15-
![cart abandonment](images/journey_cart-abandonment.png)
16-
17-
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
2813

2914
This journey focuses on converting one-time buyers into repeat purchasers by delivering communications in their preferred channels.
3015

16+
![repeat purchase campaign](images/journey_repeat_purchase.png)
17+
3118
1. Create the entry condition with the step name `One-Time Purchasers`.
3219
- All users who performed `Order Completed` **exactly 1 time**
3320
2. Add a wait duration of **14 days**

src/protocols/tracking-plan/libraries.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: Tracking Plan Libraries
55
{% include content/plan-grid.md name="protocols" %}
66

77

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/).
99

1010
> note ""
1111
> **Note**: Segment does support advanced JSON schema implementations and identify/group trait libraries.
@@ -23,32 +23,33 @@ To create a new Library:
2323

2424
### Tracking Plan Event Libraries
2525

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.
2727

2828
### Tracking Plan Property Libraries
2929

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.
3131

32-
### Importing Libraries into a Tracking Plan
32+
### Import Libraries into a Tracking Plan
3333

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!
3535

3636
![](../images/import_library_to_tracking_plan.gif)
3737

38-
### Enabling Library Syncing
38+
### Enable Event Library syncing
3939

40-
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.
4144

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.
4346

4447
![](../images/sync_library_flow.gif)
4548

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.
4750

4851
> 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
5053
5154
![](../images/unsync_library.png)
5255

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

0 commit comments

Comments
 (0)