From 5fa4bd4958c5ee549bdf233f91c42732ffaf4160 Mon Sep 17 00:00:00 2001 From: joe-ayoub-segment <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 5 Jan 2024 11:49:56 +0100 Subject: [PATCH 01/37] creating shopify doc --- .../website/shopify/images/manage_events.png | Bin 0 -> 39736 bytes .../images/manage_user_profile_details.png | Bin 0 -> 18018 bytes .../libraries/website/shopify/index.md | 268 ++++++++++++++++++ 3 files changed, 268 insertions(+) create mode 100644 src/connections/sources/catalog/libraries/website/shopify/images/manage_events.png create mode 100644 src/connections/sources/catalog/libraries/website/shopify/images/manage_user_profile_details.png create mode 100644 src/connections/sources/catalog/libraries/website/shopify/index.md diff --git a/src/connections/sources/catalog/libraries/website/shopify/images/manage_events.png b/src/connections/sources/catalog/libraries/website/shopify/images/manage_events.png new file mode 100644 index 0000000000000000000000000000000000000000..42293e256c8b6865922411c93323c26249c26e86 GIT binary patch literal 39736 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 literal 0 HcmV?d00001 diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md new file mode 100644 index 0000000000..3aa10378ec --- /dev/null +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -0,0 +1,268 @@ +--- +title: Shopify +redirect_from: +id: +--- + +The Shopify Source enables you to send [Shopify Web Pixel API Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="\_blank"} from your Shopify Store to Segment. Events sent to Segment are formatted to match the [Segment Ecommerce Spec](https://segment.com/docs/connections/spec/ecommerce/v2/) as closely as possible. + +This Source is a free to use [Shopify App Extension](https://shopify.dev/docs/apps/app-extensions){:target="\_blank"} which can be installed via your Shopify Store's Admin interface. + +#### Overview + +Once installed and enabled, Segment events be sent from the user's browser to your Segment 'Shopify' Source in real time. + +- You can control which Segment track() events get collected, as well as how user profile traits get collected. +- This is a Device Mode (client side) Integration. No server side data is sent from Shopify to Segment. +- A custom JavaScript snippet is loaded in the Shopify store. This script transforms Shopify Standard Events to Segment Ecommerce Spec events. Note that Segment's Analytics.js 2.0 library will **not** load on any Shopify store page. +- No post purchase events are collected. +- The Segment anonmousId is set to the value of the Shopify client ID. The Segment userId value is never populated. +- Email address and phone number details will be sent to Segment if they are collected by Shopify. + +If you require more advanced functionality or post purchase events consider using the [Shopify by Littledata](https://segment.com/docs/connections/sources/catalog/libraries/website/shopify-littledata/) Source (paid subscription required). + +## Getting Started + +1. **Log in** to your Shopify Store account. +2. Go the [Shopify app store listing](https://apps.shopify.com/segment-com-by-littledata){:target="\_blank"} for **Segment.com by Littledata**. + ![Screenshot of the Segment listing in the Shopify app store.](images/Nd5L0C6.png) +3. Click **Add app** to begin the installation process. +4. **Choose a Littledata subscription** suitable for your store's volume of monthly orders. +5. Add the [**Segment write key**](/docs/connections/find-writekey/) for the source that is going to send data in the **input field**. + ![Add a Segment write key to Shopify.](images/eLUh6GF.png) +6. Choose either an **Automatic**, a **Manual**, or a **Headless** install. _Automatic installs work in most instances, but if you choose to do a manual install, just follow [this guide](https://help.littledata.io/posts/segment-installation-guide/){:target="\_blank"}._ + ![Screenshot of the Shopify installation type.](images/iYM76VI.png) +7. Segment's **Analytics.js** library, Littledata **tracking script** and **webhooks** will be automatically applied to the store and the installation process will then be complete. + ![Screenshot of adding AnalyticsJS to Shopify](images/kvjNx4M.png) + +## identifiers + +- **anonymousId** - The Segment anonymousId field will be populated with the Shopify client ID. The Shopify client ID is a 'client-side ID of the customer, provided by Shopify'. It is not currently possible to configure the Segment anonymousId to be populated with any other value. +- **userId** - The Segment userId field will not be populated. It is not currently possible to configure the userId to be populated with any value from Shopify. +- **email and phone** - traits.email and traits.phone will be collected via identify() events (unless explicity disabled via the 'Manage user profile details' section in the Shopify App User Interface). + +## track() and page() events sent to Segment + +See the [Shopify Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="\_blank"} documentation for more information regarding when events are triggered. + +| Segment Event Name | Shopify Standard Event Name | Description | +| --------------------- | --------------------------------- | ------------------------------------------------------------------- | +| Page Viewed | page_viewed | A user has visited a page. Send as a Segment page() event | +| Products Searched | search_submitted | A user has performed a search on the Shopify storefront | +| Product List Viewed | collection_viewed | A user has visited a product collection index page | +| Product Viewed | product_viewed | A user has visited a product details page | +| Product Added | product_added_to_cart | A user has added a product to their cart | +| Product Removed | product_removed_from_cart | A user has removed a product from their cart | +| Cart Viewed | cart_viewed | A user has visited the cart page | +| Checkout Started | checkout_started | A user has started the checkout process | +| Shipping Info Entered | checkout_shipping_info_submitted | A user has choosen a shipping rate | +| Address Info Entered | checkout_address_info_submitted | A user has submitted their mailing address | +| Contact Info Entered | checkout_contact_info_submitted | A user has submitted a checkout form | +| Payment Info Entered | payment_info_submitted | A user has submitted their payment information | +| Order Completed | checkout_completed | A user has completed a purchase | + +You can control which track() and page() events to send to Segment via the 'Manage events' section in the Shopify App User Interface. +![Screenshot of the Manage events settings section.](images/manage_events.png) + +## Page context data + +The fields below are automatically sent to Segment with every track(), page() and idetify() call. For page() calls these fields are also included in the `properties` object. + +| Field | Description | Type | +| --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | +| `context.page.url` | The entire URL of the page | String | +| `context.page.search` | a string containing a '?' followed by the parameters or "querystring" of the URL | String | +| `context.page.path` | a string containing an initial '/' followed by the path of the URL, excludes the query string | String | +| `context.page.title` | The title of the current page | String | +| `context.page.referrer` | URI of the page that linked to the current page | String | + +## UTM data + +The fields below are automatically sent to Segment with every track(), page() and idetify() if present in the QueryString of the page url. + +| Field | Description | Type | +| --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | +| `context.campaign.source` | utm_source QueryString value | String | +| `context.campaign.medium` | utm_medium QueryString value | String | +| `context.campaign.name` | utm_campaign QueryString value | String | +| `context.campaign.term` | utm_term QueryString value | String | +| `context.campaign.content` | utm_content QueryString value | String | + +## Page Viewed / page() event properties + +The properties below are included with `page()` events. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. + +| Field | Description | Type | +| --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | +| `url` | The entire URL of the page | String | +| `search` | a string containing a '?' followed by the parameters or "querystring" of the URL | String | +| `path` | a string containing an initial '/' followed by the path of the URL, excludes the query string | String | +| `title` | The title of the current page | String | +| `referrer` | URI of the page that linked to the current page | String | + +## Product Viewed track() event properties + +The properties below are included with `Product Viewed` `track()` events. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. + +| Property | Description | Type | +| --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | +| `product_id` | Unique ID for the product | String | +| `name` | The product name | String | +| `untranslated_name` | Untranslated name of the product | String | +| `variant` | The product variant | String | +| `untranslated_variant` | Untranslated product variant | String | +| `category` | Product type specified by the merchant | String | +| `brand` | The product’s vendor name | String | +| `url` | URL to the product page | String | +| `image_url` | URL to the product image | String | +| `currency` | The three-letter code that represents the currency, for example 'USD' | String | +| `price` | The decimal money amount (price) for the product | Number | +| `sku` | The SKU (stock keeping unit) associated with the variant | String | + +## Product Added and Product Removed track() event properties + +The properties below are included with `Product Added` and `Product Removed` `track()` events. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. + +| Property | Description | Type | +| --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | +| `product_id` | Unique ID for the product | String | +| `name` | The product name | String | +| `untranslated_name` | Untranslated name of the product | String | +| `variant` | The product variant | String | +| `untranslated_variant` | Untranslated product variant | String | +| `category` | Product type specified by the merchant | String | +| `brand` | The product’s vendor name | String | +| `url` | URL to the product page | String | +| `image_url` | URL to the product image | String | +| `currency` | The three-letter code that represents the currency, for example 'USD' | String | +| `price` | The decimal money amount (price) for the product | Number | +| `quantity` | The quantity of the merchandise that the customer intends to purchase | Integer | +| `total_price` | The total decimal money amount (price) for the product | Number | +| `sku` | The SKU (stock keeping unit) associated with the variant | String | + +## Product List Viewed track() event properties + +The properties below are included with `Product List Viewed` `track()` events. `products.$.` indicates an array called 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. + +| Property | Description | Type | +| --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | +| `products.$.product_id` | Unique ID for the product | String | +| `products.$.name` | The product name | String | +| `products.$.untranslated_name` | Untranslated name of the product | String | +| `products.$.variant` | The product variant | String | +| `products.$.untranslated_variant` | Untranslated product variant | String | +| `products.$.category` | Product type specified by the merchant | String | +| `products.$.brand` | The product’s vendor name | String | +| `products.$.url` | URL to the product page | String | +| `products.$.image_url` | URL to the product image | String | +| `products.$.currency` | The three-letter code that represents the currency, for example 'USD' | String | +| `products.$.price` | The decimal money amount (price) for the product | Number | +| `products.$.sku` | The SKU (stock keeping unit) associated with the variant | String | + +## Products Searched track() event properties + +The properties below are included with `Products Searched` `track()` events. `products.$.` indicates an array called 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. + +| Property | Description | Type | +| --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | +| `products.$.product_id` | Unique ID for the product | String | +| `products.$.name` | The product name | String | +| `products.$.untranslated_name` | Untranslated name of the product | String | +| `products.$.variant` | The product variant | String | +| `products.$.untranslated_variant` | Untranslated product variant | String | +| `products.$.category` | Product type specified by the merchant | String | +| `products.$.brand` | The product’s vendor name | String | +| `products.$.url` | URL to the product page | String | +| `products.$.image_url` | URL to the product image | String | +| `products.$.currency` | The three-letter code that represents the currency, for example 'USD' | String | +| `products.$.price` | The decimal money amount (price) for the product | Number | +| `products.$.sku` | The SKU (stock keeping unit) associated with the variant | String | +| `query` | The search query that was executed | String | + +## Cart Viewed track() event properties + +The properties below are included with `Cart Viewed` `track()` events. `products.$.` indicates an array called 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. + +| Property | Description | Type | +| --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | +| `products.$.product_id` | Unique ID for the product | String | +| `products.$.name` | The product name | String | +| `products.$.untranslated_name` | Untranslated name of the product | String | +| `products.$.variant` | The product variant | String | +| `products.$.untranslated_variant` | Untranslated product variant | String | +| `products.$.category` | Product type specified by the merchant | String | +| `products.$.brand` | The product’s vendor name | String | +| `products.$.url` | URL to the product page | String | +| `products.$.image_url` | URL to the product image | String | +| `products.$.currency` | The three-letter code that represents the currency, for example 'USD' | String | +| `products.$.price` | The decimal money amount (price) for the product | Number | +| `products.$.sku` | The SKU (stock keeping unit) associated with the variant | String | +| `cart_id` | A globally unique identifier for the cart | String | +| `subtotal` | The price at checkout before duties, shipping, and taxes | Number | +| `currency` | The three-letter code that represents the currency, for example 'USD' | String | + +## Checkout and purchase track() event properties + +The properties below are included with `Checkout Started`, `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` and `Order Completed` `track()` events. `products.$.` indicates an array called 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. + +| Property | Description | Type | +| --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | +| `products.$.product_id` | Unique ID for the product | String | +| `products.$.name` | The product name | String | +| `products.$.untranslated_name` | Untranslated name of the product | String | +| `products.$.variant` | The product variant | String | +| `products.$.untranslated_variant` | Untranslated product variant | String | +| `products.$.category` | Product type specified by the merchant | String | +| `products.$.brand` | The product’s vendor name | String | +| `products.$.url` | URL to the product page | String | +| `products.$.image_url` | URL to the product image | String | +| `products.$.currency` | The three-letter code that represents the currency, for example 'USD' | String | +| `products.$.price` | The decimal money amount (price) for the product | Number | +| `products.$.sku` | The SKU (stock keeping unit) associated with the variant | String | +| `cart_id` | A globally unique identifier for the cart | String | +| `subtotal` | The price at checkout before duties, shipping, and taxes | Number | +| `currency` | The three-letter code that represents the currency, for example 'USD' | String | +| `order_id` | The ID for the order | String | +| `checkout_id` | A unique identifier for a particular checkout | String | +| `shipping` | Total shipping price | Number | +| `discount` | Total monetary value allocated as a discount | Number | +| `coupon` | Comma delimited list of customer-facing discount names / codes | String | +| `payment_method` | Comma delimited list of payment providers used for the transaction | String | + + +## Sending user profile details to Segment + +User profile details can be sent to Segment in 3 ways: +1. As `traits` in identify() events. +2. As `properties` in track() events. +3. As `traits` in track() events, included in the `context.traits` object. + +User profile details are only sent to Segment when the following track events are triggered by Shopify: +`Checkout Started`, `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` and `Order Completed`. + +You can control how user profile details are sent to Segment via the 'Manage user profile details' section in the Shopify App User Interface. +![Screenshot of the Manage user profile details settings section.](images/manage_user_profile_details.png) + +The following user profile details will be sent to Segment as they become available in the user checkout journey. + +| User profile trait / property name | Description | +| ---------------------------------- | ------------------------------------------------------------------- | +| `email` | The user's email address | +| `phone` | The user's phone number address | +| `first_name` | The user's first name | +| `last_name` | The user's last name | +| `billing_address.address1` | Billing address first line | +| `billing_address.address2` | Billing address second line | +| `billing_address.city` | Billing address city | +| `billing_address.country` | Billing address country | +| `billing_address.postal_code` | Billing address post code / zip code | +| `billing_address.province_code` | Billing address province or state code | +| `billing_address.country` | Billing address country | +| `shipping_address.address1` | Shipping address first line | +| `shipping_address.address2` | Shipping address second line | +| `shipping_address.city` | Shipping address city | +| `shipping_address.country` | Shipping address country | +| `shipping_address.postal_code` | Shipping address post code / zip code | +| `shipping_address.province_code` | Shipping address province or state code | +| `shipping_address.country` | Shipping address country | + From d1091e879558a5b7026c0dcc83db94114fcebf7a Mon Sep 17 00:00:00 2001 From: joe-ayoub-segment <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 5 Jan 2024 12:33:41 +0100 Subject: [PATCH 02/37] updating shopify source doc --- .../libraries/website/shopify/index.md | 114 ++++++++++-------- 1 file changed, 64 insertions(+), 50 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 3aa10378ec..a1037e15f9 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -12,61 +12,58 @@ This Source is a free to use [Shopify App Extension](https://shopify.dev/docs/ap Once installed and enabled, Segment events be sent from the user's browser to your Segment 'Shopify' Source in real time. -- You can control which Segment track() events get collected, as well as how user profile traits get collected. -- This is a Device Mode (client side) Integration. No server side data is sent from Shopify to Segment. +- You can control which Segment `track()` events get collected as well as how user profile details are passed to Segment. - A custom JavaScript snippet is loaded in the Shopify store. This script transforms Shopify Standard Events to Segment Ecommerce Spec events. Note that Segment's Analytics.js 2.0 library will **not** load on any Shopify store page. +- This is a Device Mode (client side) Integration. No data is sent server side from Shopify to Segment. - No post purchase events are collected. - The Segment anonmousId is set to the value of the Shopify client ID. The Segment userId value is never populated. - Email address and phone number details will be sent to Segment if they are collected by Shopify. -If you require more advanced functionality or post purchase events consider using the [Shopify by Littledata](https://segment.com/docs/connections/sources/catalog/libraries/website/shopify-littledata/) Source (paid subscription required). +If you require more advanced functionality or post purchase events consider using the [Shopify by Littledata](https://segment.com/docs/connections/sources/catalog/libraries/website/shopify-littledata/) Source. 'Shopify by Littledata' requires a paid subscription. ## Getting Started 1. **Log in** to your Shopify Store account. -2. Go the [Shopify app store listing](https://apps.shopify.com/segment-com-by-littledata){:target="\_blank"} for **Segment.com by Littledata**. - ![Screenshot of the Segment listing in the Shopify app store.](images/Nd5L0C6.png) +2. Go to the [Shopify app store listing](https://apps.shopify.com/twilio-segment){:target="\_blank"} for **Twilio Segment**. 3. Click **Add app** to begin the installation process. -4. **Choose a Littledata subscription** suitable for your store's volume of monthly orders. -5. Add the [**Segment write key**](/docs/connections/find-writekey/) for the source that is going to send data in the **input field**. - ![Add a Segment write key to Shopify.](images/eLUh6GF.png) -6. Choose either an **Automatic**, a **Manual**, or a **Headless** install. _Automatic installs work in most instances, but if you choose to do a manual install, just follow [this guide](https://help.littledata.io/posts/segment-installation-guide/){:target="\_blank"}._ - ![Screenshot of the Shopify installation type.](images/iYM76VI.png) -7. Segment's **Analytics.js** library, Littledata **tracking script** and **webhooks** will be automatically applied to the store and the installation process will then be complete. - ![Screenshot of adding AnalyticsJS to Shopify](images/kvjNx4M.png) +4. Add the [**Segment write key**](/docs/connections/find-writekey/) for your Segment Source, and select the Region for your Segment Workspace. + ![Add Source writeKey and select Workspace Region.](images/settings.png) +5. Use the checkboxes under 'Manage Events' to select which `track()` events to send to Segment. +6. Use the checkboxes under 'Manage user profile details' to select how user profile details should be sent to Segment. +6. Click the 'Turn On' button to enable start sending analytics events from your Shopify Store to Segment. ## identifiers -- **anonymousId** - The Segment anonymousId field will be populated with the Shopify client ID. The Shopify client ID is a 'client-side ID of the customer, provided by Shopify'. It is not currently possible to configure the Segment anonymousId to be populated with any other value. -- **userId** - The Segment userId field will not be populated. It is not currently possible to configure the userId to be populated with any value from Shopify. -- **email and phone** - traits.email and traits.phone will be collected via identify() events (unless explicity disabled via the 'Manage user profile details' section in the Shopify App User Interface). +- **anonymousId** - The Segment `anonymousId` field will be populated with the Shopify client ID. The Shopify client ID is a 'client-side ID of the customer, provided by Shopify'. It is not currently possible to configure the Segment anonymousId to be populated with any other value. +- **userId** - The Segment `userId` field will not be populated. It is not currently possible to configure the userId to be populated with any value from Shopify. +- **email and phone** - `traits.email` and `traits.phone` will be collected via `identify()` events (unless explicity disabled via the 'Manage user profile details' section in the Shopify App User Interface). ## track() and page() events sent to Segment See the [Shopify Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="\_blank"} documentation for more information regarding when events are triggered. -| Segment Event Name | Shopify Standard Event Name | Description | -| --------------------- | --------------------------------- | ------------------------------------------------------------------- | -| Page Viewed | page_viewed | A user has visited a page. Send as a Segment page() event | -| Products Searched | search_submitted | A user has performed a search on the Shopify storefront | -| Product List Viewed | collection_viewed | A user has visited a product collection index page | -| Product Viewed | product_viewed | A user has visited a product details page | -| Product Added | product_added_to_cart | A user has added a product to their cart | -| Product Removed | product_removed_from_cart | A user has removed a product from their cart | -| Cart Viewed | cart_viewed | A user has visited the cart page | -| Checkout Started | checkout_started | A user has started the checkout process | -| Shipping Info Entered | checkout_shipping_info_submitted | A user has choosen a shipping rate | -| Address Info Entered | checkout_address_info_submitted | A user has submitted their mailing address | -| Contact Info Entered | checkout_contact_info_submitted | A user has submitted a checkout form | -| Payment Info Entered | payment_info_submitted | A user has submitted their payment information | -| Order Completed | checkout_completed | A user has completed a purchase | - -You can control which track() and page() events to send to Segment via the 'Manage events' section in the Shopify App User Interface. +| Segment Event Name | Shopify Standard Event Name | Event trigger | +| ----------------------- | ----------------------------------- | ------------------------------------------------------------------- | +| `Page Viewed` | `page_viewed` | A user has visited a page. Send as a Segment `page()` event | +| `Products Searched` | `search_submitted` | A user has performed a search on the Shopify storefront | +| `Product List Viewed` | `collection_viewed` | A user has visited a product collection index page | +| `Product Viewed` | `product_viewed` | A user has visited a product details page | +| `Product Added` | `product_added_to_cart` | A user has added a product to their cart | +| `Product Removed` | `product_removed_from_cart` | A user has removed a product from their cart | +| `Cart Viewed` | `cart_viewed` | A user has visited the cart page | +| `Checkout Started` | `checkout_started` | A user has started the checkout process | +| `Shipping Info Entered` | `checkout_shipping_info_submitted` | A user has choosen a shipping rate | +| `Address Info Entered` | `checkout_address_info_submitted` | A user has submitted their mailing address | +| `Contact Info Entered` | `checkout_contact_info_submitted` | A user has submitted a checkout form | +| `Payment Info Entered` | `payment_info_submitted` | A user has submitted their payment information | +| `Order Completed` | `checkout_completed` | A user has completed a purchase | + +You can control which `track()` and `page()` events to send to Segment via the 'Manage events' section in the Shopify App User Interface. ![Screenshot of the Manage events settings section.](images/manage_events.png) ## Page context data -The fields below are automatically sent to Segment with every track(), page() and idetify() call. For page() calls these fields are also included in the `properties` object. +The fields below are automatically sent to Segment with every `track()`, `page()` and `idetify()` event. For `page()` events these fields are also included in the `properties` object. | Field | Description | Type | | --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | @@ -78,15 +75,15 @@ The fields below are automatically sent to Segment with every track(), page() an ## UTM data -The fields below are automatically sent to Segment with every track(), page() and idetify() if present in the QueryString of the page url. +The fields below are automatically sent to Segment with every `track()`, `page()` and `idetify()` if present in the QueryString of the page url. -| Field | Description | Type | -| --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | -| `context.campaign.source` | utm_source QueryString value | String | -| `context.campaign.medium` | utm_medium QueryString value | String | -| `context.campaign.name` | utm_campaign QueryString value | String | -| `context.campaign.term` | utm_term QueryString value | String | -| `context.campaign.content` | utm_content QueryString value | String | +| Field | Description | Type | +| --------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------- | +| `context.campaign.source` | `utm_source` QueryString value | String | +| `context.campaign.medium` | `utm_medium` QueryString value | String | +| `context.campaign.name` | `utm_campaign` QueryString value | String | +| `context.campaign.term` | `utm_term` QueryString value | String | +| `context.campaign.content` | `utm_content` QueryString value | String | ## Page Viewed / page() event properties @@ -142,7 +139,7 @@ The properties below are included with `Product Added` and `Product Removed` `tr ## Product List Viewed track() event properties -The properties below are included with `Product List Viewed` `track()` events. `products.$.` indicates an array called 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. +The properties below are included with `Product List Viewed` `track()` events. `products.$.` indicates an array named 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. | Property | Description | Type | | --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | @@ -161,7 +158,7 @@ The properties below are included with `Product List Viewed` `track()` events. ` ## Products Searched track() event properties -The properties below are included with `Products Searched` `track()` events. `products.$.` indicates an array called 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. +The properties below are included with `Products Searched` `track()` events. `products.$.` indicates an array named 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. | Property | Description | Type | | --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | @@ -181,7 +178,7 @@ The properties below are included with `Products Searched` `track()` events. `pr ## Cart Viewed track() event properties -The properties below are included with `Cart Viewed` `track()` events. `products.$.` indicates an array called 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. +The properties below are included with `Cart Viewed` `track()` events. `products.$.` indicates an array named 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. | Property | Description | Type | | --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | @@ -203,7 +200,7 @@ The properties below are included with `Cart Viewed` `track()` events. `products ## Checkout and purchase track() event properties -The properties below are included with `Checkout Started`, `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` and `Order Completed` `track()` events. `products.$.` indicates an array called 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. +The properties below are included with `Checkout Started`, `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` and `Order Completed` `track()` events. `products.$.` indicates an array named 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. | Property | Description | Type | | --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | @@ -219,7 +216,6 @@ The properties below are included with `Checkout Started`, `Address Info Entered | `products.$.currency` | The three-letter code that represents the currency, for example 'USD' | String | | `products.$.price` | The decimal money amount (price) for the product | Number | | `products.$.sku` | The SKU (stock keeping unit) associated with the variant | String | -| `cart_id` | A globally unique identifier for the cart | String | | `subtotal` | The price at checkout before duties, shipping, and taxes | Number | | `currency` | The three-letter code that represents the currency, for example 'USD' | String | | `order_id` | The ID for the order | String | @@ -229,13 +225,12 @@ The properties below are included with `Checkout Started`, `Address Info Entered | `coupon` | Comma delimited list of customer-facing discount names / codes | String | | `payment_method` | Comma delimited list of payment providers used for the transaction | String | - ## Sending user profile details to Segment User profile details can be sent to Segment in 3 ways: -1. As `traits` in identify() events. -2. As `properties` in track() events. -3. As `traits` in track() events, included in the `context.traits` object. +1. As `traits` in `identify()` events. +2. As `properties` in `track()` events. +3. As `traits` in `track()` events, included in the `context.traits` object. User profile details are only sent to Segment when the following track events are triggered by Shopify: `Checkout Started`, `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` and `Order Completed`. @@ -266,3 +261,22 @@ The following user profile details will be sent to Segment as they become availa | `shipping_address.province_code` | Shipping address province or state code | | `shipping_address.country` | Shipping address country | +## FAQs + +** Under reporting of events ** +This Source uses client side Javascript to send data to Segment. As with any client side analytics tracking it is possible that some ad-blockers will prevent data being sent to Segment. This can lead to an under reporting of events to Segment. + +** When do identify() events trigger? ** +`identify()` events will only trigger when `Checkout Started`, `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` or `Order Completed` `track()` are triggered. Ensure that the 'Send identify() calls' checkbox is enabled. + +** identify() events sometimes don't trigger when expected ** +To save on API call volume Segment will only trigger an `identify()` event when user profile details have changed. If no change is detected then the `identify()` call will not trigger. + +** Why are some events duplicated and triggered multiple times? ** +Shopify sometimes erroneously triggers duplicate `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` events in short succession. This is a known bug with Shopify. Segment deduplicates the majority of these duplicate events but is unable to filter all of them out. + +** Why do some Address/Shipping/Contact/Payment Info Entered events contain product arrays? ** +Shopify sometimes includes product array details in the [Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="\_blank"} which Segment uses to populate the `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` events. A decision was made to include these product details in the Segment events for completeness. + +** Why are some event properties missing even though this documentation indicates that they should be present? ** +Mapping code is in place to map the majority of valuable fields from Shopify's [Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="\_blank"} to Segment events per this document. If properties are missing it is due to the values not being provided by the Shopify standard event. \ No newline at end of file From f454e72b654d8355af4170a53050b0f8ee07149e Mon Sep 17 00:00:00 2001 From: joe-ayoub-segment <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 5 Jan 2024 12:37:56 +0100 Subject: [PATCH 03/37] adding image --- .../website/shopify/images/settings.png | Bin 0 -> 25446 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/connections/sources/catalog/libraries/website/shopify/images/settings.png diff --git a/src/connections/sources/catalog/libraries/website/shopify/images/settings.png b/src/connections/sources/catalog/libraries/website/shopify/images/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..aa431ea155195715fd8d02cde4feaf96cbaacc77 GIT binary patch literal 25446 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 ID_REq4?HZ=S^xk5 literal 0 HcmV?d00001 From 6b0ee511072374b16505a6c1e0b23b609e5d658d Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 5 Jan 2024 18:13:24 +0100 Subject: [PATCH 04/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index a1037e15f9..abdd555ca5 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -2,6 +2,7 @@ title: Shopify redirect_from: id: +hidden: true --- The Shopify Source enables you to send [Shopify Web Pixel API Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="\_blank"} from your Shopify Store to Segment. Events sent to Segment are formatted to match the [Segment Ecommerce Spec](https://segment.com/docs/connections/spec/ecommerce/v2/) as closely as possible. From 52b783423118dc39330d8cdcfa32c0eddf9684d1 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:08:18 +0100 Subject: [PATCH 05/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index abdd555ca5..2700af1d7b 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -279,5 +279,5 @@ Shopify sometimes erroneously triggers duplicate `Address Info Entered`, `Shippi ** Why do some Address/Shipping/Contact/Payment Info Entered events contain product arrays? ** Shopify sometimes includes product array details in the [Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="\_blank"} which Segment uses to populate the `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` events. A decision was made to include these product details in the Segment events for completeness. -** Why are some event properties missing even though this documentation indicates that they should be present? ** -Mapping code is in place to map the majority of valuable fields from Shopify's [Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="\_blank"} to Segment events per this document. If properties are missing it is due to the values not being provided by the Shopify standard event. \ No newline at end of file +### Why are some event properties missing even though the documentation indicates that they should be present? +Mapping code is in place to map the majority of valuable fields from Shopify's [Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="_blank"} to Segment events. If properties are missing, it is due to the values not being provided by the Shopify event. \ No newline at end of file From 68f34373f02a434a8d8dec2b023592183c51f214 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:09:46 +0100 Subject: [PATCH 06/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 2700af1d7b..72accea438 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -276,8 +276,8 @@ To save on API call volume Segment will only trigger an `identify()` event when ** Why are some events duplicated and triggered multiple times? ** Shopify sometimes erroneously triggers duplicate `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` events in short succession. This is a known bug with Shopify. Segment deduplicates the majority of these duplicate events but is unable to filter all of them out. -** Why do some Address/Shipping/Contact/Payment Info Entered events contain product arrays? ** -Shopify sometimes includes product array details in the [Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="\_blank"} which Segment uses to populate the `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` events. A decision was made to include these product details in the Segment events for completeness. +### Why do some Address/Shipping/Contact/Payment Info Entered events contain product arrays? +Shopify sometimes includes product array details in [Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="_blank"} which Segment uses to populate the `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` events. Segment includes these product details in Segment events. ### Why are some event properties missing even though the documentation indicates that they should be present? Mapping code is in place to map the majority of valuable fields from Shopify's [Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="_blank"} to Segment events. If properties are missing, it is due to the values not being provided by the Shopify event. \ No newline at end of file From a70ea777801093d2b83ed6c1f0907bd1e3305062 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:12:19 +0100 Subject: [PATCH 07/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 72accea438..0dfffe74a4 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -273,7 +273,7 @@ This Source uses client side Javascript to send data to Segment. As with any cli ** identify() events sometimes don't trigger when expected ** To save on API call volume Segment will only trigger an `identify()` event when user profile details have changed. If no change is detected then the `identify()` call will not trigger. -** Why are some events duplicated and triggered multiple times? ** +### Why are some events duplicated and triggered multiple times? Shopify sometimes erroneously triggers duplicate `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` events in short succession. This is a known bug with Shopify. Segment deduplicates the majority of these duplicate events but is unable to filter all of them out. ### Why do some Address/Shipping/Contact/Payment Info Entered events contain product arrays? From 687518df73bb68d346e207e652190cb43981d60b Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:12:53 +0100 Subject: [PATCH 08/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 0dfffe74a4..798a21597c 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -270,8 +270,8 @@ This Source uses client side Javascript to send data to Segment. As with any cli ** When do identify() events trigger? ** `identify()` events will only trigger when `Checkout Started`, `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` or `Order Completed` `track()` are triggered. Ensure that the 'Send identify() calls' checkbox is enabled. -** identify() events sometimes don't trigger when expected ** -To save on API call volume Segment will only trigger an `identify()` event when user profile details have changed. If no change is detected then the `identify()` call will not trigger. +### Why aren't my Identify events triggering when expected? +To save on API call volume, Segment only triggers an Identify event when user profile details have changed. If no change is detected, then the Identify call is not triggered. ### Why are some events duplicated and triggered multiple times? Shopify sometimes erroneously triggers duplicate `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` events in short succession. This is a known bug with Shopify. Segment deduplicates the majority of these duplicate events but is unable to filter all of them out. From 074ed748a50fa5f9914518aa5b793a13265289ea Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:14:46 +0100 Subject: [PATCH 09/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 798a21597c..10082e86b1 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -267,8 +267,8 @@ The following user profile details will be sent to Segment as they become availa ** Under reporting of events ** This Source uses client side Javascript to send data to Segment. As with any client side analytics tracking it is possible that some ad-blockers will prevent data being sent to Segment. This can lead to an under reporting of events to Segment. -** When do identify() events trigger? ** -`identify()` events will only trigger when `Checkout Started`, `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` or `Order Completed` `track()` are triggered. Ensure that the 'Send identify() calls' checkbox is enabled. +### When do Identify events trigger? +To send Identify events, you must select the 'Send identify() calls' checkbox. If this setting is selected, Identify events are triggered when `Checkout Started`, `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` or `Order Completed` Track calls are triggered. ### Why aren't my Identify events triggering when expected? To save on API call volume, Segment only triggers an Identify event when user profile details have changed. If no change is detected, then the Identify call is not triggered. From 0be14a9a6119adfa261518063aad8c0a102df2ba Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:15:09 +0100 Subject: [PATCH 10/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 10082e86b1..e1a3611ed4 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -20,7 +20,7 @@ Once installed and enabled, Segment events be sent from the user's browser to yo - The Segment anonmousId is set to the value of the Shopify client ID. The Segment userId value is never populated. - Email address and phone number details will be sent to Segment if they are collected by Shopify. -If you require more advanced functionality or post purchase events consider using the [Shopify by Littledata](https://segment.com/docs/connections/sources/catalog/libraries/website/shopify-littledata/) Source. 'Shopify by Littledata' requires a paid subscription. +If you require more advanced functionality or want to collect post-purchase events, consider using the [Shopify by Littledata](/docs/connections/sources/catalog/libraries/website/shopify-littledata/) Source. Shopify by Littledata requires a paid subscription. ## Getting Started From 6eee5605c5de514a8b8ba2340d2fb873cf81614a Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:16:52 +0100 Subject: [PATCH 11/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index e1a3611ed4..71f96d0d84 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -15,10 +15,12 @@ Once installed and enabled, Segment events be sent from the user's browser to yo - You can control which Segment `track()` events get collected as well as how user profile details are passed to Segment. - A custom JavaScript snippet is loaded in the Shopify store. This script transforms Shopify Standard Events to Segment Ecommerce Spec events. Note that Segment's Analytics.js 2.0 library will **not** load on any Shopify store page. -- This is a Device Mode (client side) Integration. No data is sent server side from Shopify to Segment. -- No post purchase events are collected. -- The Segment anonmousId is set to the value of the Shopify client ID. The Segment userId value is never populated. -- Email address and phone number details will be sent to Segment if they are collected by Shopify. +- You can control which Segment Track events get collected as well as how user profile details are passed to Segment. +- A custom JavaScript snippet is loaded in the Shopify store. This script transforms Shopify Standard Events to Segment Ecommerce Spec events. Note that Segment's Analytics.js 2.0 library does **not** load on any Shopify store page. +- This is a Device Mode (client side) Integration. No data is sent server-side from Shopify to Segment. +- This source does not collect post-purchase events. +- The Segment anonymousId is set to the value of the Shopify client ID. The Segment userId value is never populated. +- Email address and phone number details are sent to Segment if they are collected by Shopify. If you require more advanced functionality or want to collect post-purchase events, consider using the [Shopify by Littledata](/docs/connections/sources/catalog/libraries/website/shopify-littledata/) Source. Shopify by Littledata requires a paid subscription. From 71ac05504095b453124de93e0964de4f909f4e7f Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:17:10 +0100 Subject: [PATCH 12/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 71f96d0d84..1b23500784 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -11,7 +11,7 @@ This Source is a free to use [Shopify App Extension](https://shopify.dev/docs/ap #### Overview -Once installed and enabled, Segment events be sent from the user's browser to your Segment 'Shopify' Source in real time. +Once installed and enabled, Segment collects events from the user's browser and sends them to your Segment 'Shopify' Source in real time. - You can control which Segment `track()` events get collected as well as how user profile details are passed to Segment. - A custom JavaScript snippet is loaded in the Shopify store. This script transforms Shopify Standard Events to Segment Ecommerce Spec events. Note that Segment's Analytics.js 2.0 library will **not** load on any Shopify store page. From 45829186c42e8009192a4d44552c9c4633932815 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:17:38 +0100 Subject: [PATCH 13/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 1b23500784..201cc57ffc 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -7,7 +7,7 @@ hidden: true The Shopify Source enables you to send [Shopify Web Pixel API Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="\_blank"} from your Shopify Store to Segment. Events sent to Segment are formatted to match the [Segment Ecommerce Spec](https://segment.com/docs/connections/spec/ecommerce/v2/) as closely as possible. -This Source is a free to use [Shopify App Extension](https://shopify.dev/docs/apps/app-extensions){:target="\_blank"} which can be installed via your Shopify Store's Admin interface. +This Source is a free [Shopify App Extension](https://shopify.dev/docs/apps/app-extensions){:target="_blank"} which can be installed using your Shopify Store's Admin interface. #### Overview From 4204d4d0cbe4332c501db2fc8645ec078616e77e Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:17:59 +0100 Subject: [PATCH 14/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 201cc57ffc..78e5846da8 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -5,7 +5,7 @@ id: hidden: true --- -The Shopify Source enables you to send [Shopify Web Pixel API Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="\_blank"} from your Shopify Store to Segment. Events sent to Segment are formatted to match the [Segment Ecommerce Spec](https://segment.com/docs/connections/spec/ecommerce/v2/) as closely as possible. +This Shopify Source lets you send [Shopify Web Pixel API Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="_blank"} from your Shopify Store to Segment. Events sent to Segment are formatted to match the [Segment Ecommerce Spec](/docs/connections/spec/ecommerce/v2/). This Source is a free [Shopify App Extension](https://shopify.dev/docs/apps/app-extensions){:target="_blank"} which can be installed using your Shopify Store's Admin interface. From 6eba385c4d5c0f4bc5aedb35398583aacb20a876 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:19:37 +0100 Subject: [PATCH 15/37] Removing duplicate line --- .../sources/catalog/libraries/website/shopify/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 78e5846da8..74946d0ada 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -16,7 +16,6 @@ Once installed and enabled, Segment collects events from the user's browser and - You can control which Segment `track()` events get collected as well as how user profile details are passed to Segment. - A custom JavaScript snippet is loaded in the Shopify store. This script transforms Shopify Standard Events to Segment Ecommerce Spec events. Note that Segment's Analytics.js 2.0 library will **not** load on any Shopify store page. - You can control which Segment Track events get collected as well as how user profile details are passed to Segment. -- A custom JavaScript snippet is loaded in the Shopify store. This script transforms Shopify Standard Events to Segment Ecommerce Spec events. Note that Segment's Analytics.js 2.0 library does **not** load on any Shopify store page. - This is a Device Mode (client side) Integration. No data is sent server-side from Shopify to Segment. - This source does not collect post-purchase events. - The Segment anonymousId is set to the value of the Shopify client ID. The Segment userId value is never populated. @@ -282,4 +281,4 @@ Shopify sometimes erroneously triggers duplicate `Address Info Entered`, `Shippi Shopify sometimes includes product array details in [Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="_blank"} which Segment uses to populate the `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` events. Segment includes these product details in Segment events. ### Why are some event properties missing even though the documentation indicates that they should be present? -Mapping code is in place to map the majority of valuable fields from Shopify's [Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="_blank"} to Segment events. If properties are missing, it is due to the values not being provided by the Shopify event. \ No newline at end of file +Mapping code is in place to map the majority of valuable fields from Shopify's [Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="_blank"} to Segment events. If properties are missing, it is due to the values not being provided by the Shopify event. From 4ef2b73e0bd2f12bd7f2088edd9ba78ac0fac4d1 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:25:01 +0100 Subject: [PATCH 16/37] Adding additional setup steps --- .../libraries/website/shopify/index.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 74946d0ada..d53f7f7dd3 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -25,14 +25,19 @@ If you require more advanced functionality or want to collect post-purchase even ## Getting Started -1. **Log in** to your Shopify Store account. -2. Go to the [Shopify app store listing](https://apps.shopify.com/twilio-segment){:target="\_blank"} for **Twilio Segment**. -3. Click **Add app** to begin the installation process. -4. Add the [**Segment write key**](/docs/connections/find-writekey/) for your Segment Source, and select the Region for your Segment Workspace. +1. **Log in** to your Segment Workspace. +2. Click on 'Catalog'. +3. Use the 'Search an Integration' search field to search for the term 'Shopify'. +4. Select the 'Shopify' tile and complete the steps to set it up. +5. Make a note of the [**Source write key**](/docs/connections/find-writekey/) for your Shopify Source. +6. **Log in** to your Shopify Store account. +7. Go to the [Shopify app store listing](https://apps.shopify.com/twilio-segment){:target="\_blank"} for **Twilio Segment**. +8. Click **Add app** to begin the installation process. +9. Add the [**Segment write key**](/docs/connections/find-writekey/) for your Segment Source, and select the Region for your Segment Workspace. ![Add Source writeKey and select Workspace Region.](images/settings.png) -5. Use the checkboxes under 'Manage Events' to select which `track()` events to send to Segment. -6. Use the checkboxes under 'Manage user profile details' to select how user profile details should be sent to Segment. -6. Click the 'Turn On' button to enable start sending analytics events from your Shopify Store to Segment. +10. Use the checkboxes under 'Manage Events' to select which `track()` events to send to Segment. +11. Use the checkboxes under 'Manage user profile details' to select how user profile details should be sent to Segment. +12. Click the 'Turn On' button to enable start sending analytics events from your Shopify Store to Segment. ## identifiers From 015685c6be9767866685b85502b6e9496e4a0d7f Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:30:15 +0000 Subject: [PATCH 17/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index d53f7f7dd3..e195639bbe 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -34,7 +34,6 @@ If you require more advanced functionality or want to collect post-purchase even 7. Go to the [Shopify app store listing](https://apps.shopify.com/twilio-segment){:target="\_blank"} for **Twilio Segment**. 8. Click **Add app** to begin the installation process. 9. Add the [**Segment write key**](/docs/connections/find-writekey/) for your Segment Source, and select the Region for your Segment Workspace. - ![Add Source writeKey and select Workspace Region.](images/settings.png) 10. Use the checkboxes under 'Manage Events' to select which `track()` events to send to Segment. 11. Use the checkboxes under 'Manage user profile details' to select how user profile details should be sent to Segment. 12. Click the 'Turn On' button to enable start sending analytics events from your Shopify Store to Segment. From dc3ea09bb93b0dcee7284fc6678e98bd024deaae Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:30:32 +0000 Subject: [PATCH 18/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index e195639bbe..7d9022f169 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -38,7 +38,7 @@ If you require more advanced functionality or want to collect post-purchase even 11. Use the checkboxes under 'Manage user profile details' to select how user profile details should be sent to Segment. 12. Click the 'Turn On' button to enable start sending analytics events from your Shopify Store to Segment. -## identifiers +## Identifiers - **anonymousId** - The Segment `anonymousId` field will be populated with the Shopify client ID. The Shopify client ID is a 'client-side ID of the customer, provided by Shopify'. It is not currently possible to configure the Segment anonymousId to be populated with any other value. - **userId** - The Segment `userId` field will not be populated. It is not currently possible to configure the userId to be populated with any value from Shopify. From 65c90433af7fbc6e61942289bbe60cd197778deb Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:30:43 +0000 Subject: [PATCH 19/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 7d9022f169..506b71d684 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -40,9 +40,9 @@ If you require more advanced functionality or want to collect post-purchase even ## Identifiers -- **anonymousId** - The Segment `anonymousId` field will be populated with the Shopify client ID. The Shopify client ID is a 'client-side ID of the customer, provided by Shopify'. It is not currently possible to configure the Segment anonymousId to be populated with any other value. -- **userId** - The Segment `userId` field will not be populated. It is not currently possible to configure the userId to be populated with any value from Shopify. -- **email and phone** - `traits.email` and `traits.phone` will be collected via `identify()` events (unless explicity disabled via the 'Manage user profile details' section in the Shopify App User Interface). +- **anonymousId** - The Segment `anonymousId` field are populated with the Shopify client ID. The Shopify client ID is a 'client-side ID of the customer, provided by Shopify'. You cannot configure the Segment anonymousId to be populated with any other value. +- **userId** - The Segment `userId` field does not populate. You cannot configure the userId to be populated with any value from Shopify. +- **email and phone** - `traits.email` and `traits.phone` are collected using Identify events (unless explicitly disabled in the 'Manage user profile details' section of the Shopify App User Interface). ## track() and page() events sent to Segment From 30e30f12a4ab5bfe2b7ba500ba3ffa0e15a1e311 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:30:58 +0000 Subject: [PATCH 20/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 506b71d684..5ada7c8601 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -50,7 +50,7 @@ See the [Shopify Standard Events](https://shopify.dev/docs/api/web-pixels-api/st | Segment Event Name | Shopify Standard Event Name | Event trigger | | ----------------------- | ----------------------------------- | ------------------------------------------------------------------- | -| `Page Viewed` | `page_viewed` | A user has visited a page. Send as a Segment `page()` event | +| `Page Viewed` | `page_viewed` | A user has visited a page. Sent as a Segment Page event | | `Products Searched` | `search_submitted` | A user has performed a search on the Shopify storefront | | `Product List Viewed` | `collection_viewed` | A user has visited a product collection index page | | `Product Viewed` | `product_viewed` | A user has visited a product details page | From 992e1b30987449768aa358fe97649b7706da292c Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:31:22 +0000 Subject: [PATCH 21/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 5ada7c8601..9f2d6183a9 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -46,7 +46,7 @@ If you require more advanced functionality or want to collect post-purchase even ## track() and page() events sent to Segment -See the [Shopify Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="\_blank"} documentation for more information regarding when events are triggered. +See the [Shopify Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="_blank"} documentation for more information about when events are triggered. | Segment Event Name | Shopify Standard Event Name | Event trigger | | ----------------------- | ----------------------------------- | ------------------------------------------------------------------- | From cb5ed71139c54e603a0363c3109c847f71ec346c Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:31:34 +0000 Subject: [PATCH 22/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 9f2d6183a9..c13882f791 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -103,9 +103,13 @@ The properties below are included with `page()` events. Note: If a property is m | `title` | The title of the current page | String | | `referrer` | URI of the page that linked to the current page | String | -## Product Viewed track() event properties +## Product Viewed Track event properties + +The properties below are included with `Product Viewed` Track events. + +> info "Missing properties?" +> Your Segment events may be missing one of the following properties if Shopify provides `null` or an empty value for a property. -The properties below are included with `Product Viewed` `track()` events. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. | Property | Description | Type | | --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | From cd565524d5f7c6c0b9aea4fba6bff1a452513167 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:31:44 +0000 Subject: [PATCH 23/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index c13882f791..dea034f29c 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -44,7 +44,7 @@ If you require more advanced functionality or want to collect post-purchase even - **userId** - The Segment `userId` field does not populate. You cannot configure the userId to be populated with any value from Shopify. - **email and phone** - `traits.email` and `traits.phone` are collected using Identify events (unless explicitly disabled in the 'Manage user profile details' section of the Shopify App User Interface). -## track() and page() events sent to Segment +## Track and Page events sent to Segment See the [Shopify Standard Events](https://shopify.dev/docs/api/web-pixels-api/standard-events){:target="_blank"} documentation for more information about when events are triggered. From bef5a0a5f6425aa437aa8a92774835bfcdf79625 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:31:55 +0000 Subject: [PATCH 24/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index dea034f29c..ef3eb3a379 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -58,7 +58,7 @@ See the [Shopify Standard Events](https://shopify.dev/docs/api/web-pixels-api/st | `Product Removed` | `product_removed_from_cart` | A user has removed a product from their cart | | `Cart Viewed` | `cart_viewed` | A user has visited the cart page | | `Checkout Started` | `checkout_started` | A user has started the checkout process | -| `Shipping Info Entered` | `checkout_shipping_info_submitted` | A user has choosen a shipping rate | +| `Shipping Info Entered` | `checkout_shipping_info_submitted` | A user has chosen a shipping rate | | `Address Info Entered` | `checkout_address_info_submitted` | A user has submitted their mailing address | | `Contact Info Entered` | `checkout_contact_info_submitted` | A user has submitted a checkout form | | `Payment Info Entered` | `payment_info_submitted` | A user has submitted their payment information | From 91900a88ff6282286216c45853aa76e343c0a811 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:32:05 +0000 Subject: [PATCH 25/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index ef3eb3a379..f6fe2f03b9 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -64,7 +64,7 @@ See the [Shopify Standard Events](https://shopify.dev/docs/api/web-pixels-api/st | `Payment Info Entered` | `payment_info_submitted` | A user has submitted their payment information | | `Order Completed` | `checkout_completed` | A user has completed a purchase | -You can control which `track()` and `page()` events to send to Segment via the 'Manage events' section in the Shopify App User Interface. +You can control which Track and Page events to send to Segment in the 'Manage events' section of the Shopify App User Interface. ![Screenshot of the Manage events settings section.](images/manage_events.png) ## Page context data From f681bef88c79b701d9859bec96fc5bb5a43b56fe Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:32:16 +0000 Subject: [PATCH 26/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index f6fe2f03b9..754d7f0ed4 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -81,7 +81,7 @@ The fields below are automatically sent to Segment with every `track()`, `page() ## UTM data -The fields below are automatically sent to Segment with every `track()`, `page()` and `idetify()` if present in the QueryString of the page url. +The fields below are automatically sent to Segment with every Track, Page and Identify call, if present in the QueryString of the page url. | Field | Description | Type | | --------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------- | From dd4364ec0081abe5c86fdeeee0c9d19a64b35d29 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:32:36 +0000 Subject: [PATCH 27/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 754d7f0ed4..41e2c5e01f 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -273,8 +273,8 @@ The following user profile details will be sent to Segment as they become availa ## FAQs -** Under reporting of events ** -This Source uses client side Javascript to send data to Segment. As with any client side analytics tracking it is possible that some ad-blockers will prevent data being sent to Segment. This can lead to an under reporting of events to Segment. +### Why don't I see all of my events? +This Source uses client-side Javascript to send data to Segment. As with any client-side analytics tracking, some ad-blockers prevent data from being sent to Segment. This can lead to an under reporting of events to Segment. For more information about data loss associated with ad blockers, see the [Ad Blocking](/docs/connections/sources/catalog/libraries/website/javascript/#ad-blocking) documentation. ### When do Identify events trigger? To send Identify events, you must select the 'Send identify() calls' checkbox. If this setting is selected, Identify events are triggered when `Checkout Started`, `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` or `Order Completed` Track calls are triggered. From fe25916371dbbc98491b0e9f5ab6940f28fa19b3 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:32:48 +0000 Subject: [PATCH 28/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 41e2c5e01f..025d5f9c6b 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -248,7 +248,7 @@ User profile details are only sent to Segment when the following track events ar You can control how user profile details are sent to Segment via the 'Manage user profile details' section in the Shopify App User Interface. ![Screenshot of the Manage user profile details settings section.](images/manage_user_profile_details.png) -The following user profile details will be sent to Segment as they become available in the user checkout journey. +The following user profile details are sent to Segment as they become available in the user checkout journey. | User profile trait / property name | Description | | ---------------------------------- | ------------------------------------------------------------------- | From 1670eea504e23ad80b98ac3a26fdd3428eb174a4 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:32:59 +0000 Subject: [PATCH 29/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 025d5f9c6b..3f1f9d631f 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -245,7 +245,7 @@ User profile details can be sent to Segment in 3 ways: User profile details are only sent to Segment when the following track events are triggered by Shopify: `Checkout Started`, `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` and `Order Completed`. -You can control how user profile details are sent to Segment via the 'Manage user profile details' section in the Shopify App User Interface. +You can control how user profile details are sent to Segment on the 'Manage user profile details' section of the Shopify App User Interface. ![Screenshot of the Manage user profile details settings section.](images/manage_user_profile_details.png) The following user profile details are sent to Segment as they become available in the user checkout journey. From 762c8f1c5807179dd8d8d1b53e18497685170b74 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:33:11 +0000 Subject: [PATCH 30/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 3f1f9d631f..45bc066dbb 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -238,9 +238,9 @@ The properties below are included with `Checkout Started`, `Address Info Entered ## Sending user profile details to Segment User profile details can be sent to Segment in 3 ways: -1. As `traits` in `identify()` events. -2. As `properties` in `track()` events. -3. As `traits` in `track()` events, included in the `context.traits` object. +1. As `traits` in Identify events. +2. As `properties` in Track events. +3. As `traits` in Track events, included in the `context.traits` object. User profile details are only sent to Segment when the following track events are triggered by Shopify: `Checkout Started`, `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` and `Order Completed`. From 458ac0a755cba93fed23cd231da7c9e7a2a2029d Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:33:23 +0000 Subject: [PATCH 31/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 45bc066dbb..ea355fc005 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -208,9 +208,13 @@ The properties below are included with `Cart Viewed` `track()` events. `products | `subtotal` | The price at checkout before duties, shipping, and taxes | Number | | `currency` | The three-letter code that represents the currency, for example 'USD' | String | -## Checkout and purchase track() event properties +## Checkout and purchase Track event properties + +The properties below are included with `Checkout Started`, `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` and `Order Completed` Track events. `products.$.` indicates an array named 'products'. + +> info "Missing properties?" +> Your Segment events may be missing one of the following properties if Shopify provides `null` or an empty value for a property. -The properties below are included with `Checkout Started`, `Address Info Entered`, `Shipping Info Entered`, `Contact Info Entered`, `Payment Info Entered` and `Order Completed` `track()` events. `products.$.` indicates an array named 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. | Property | Description | Type | | --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | From 091abc1475eb9e1897e081b661e5eafe25fa9d8e Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:33:55 +0000 Subject: [PATCH 32/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index ea355fc005..52269aaf21 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -186,9 +186,13 @@ The properties below are included with `Products Searched` `track()` events. `pr | `products.$.sku` | The SKU (stock keeping unit) associated with the variant | String | | `query` | The search query that was executed | String | -## Cart Viewed track() event properties +## Cart Viewed Track event properties + +The properties below are included with `Cart Viewed` Track events. `products.$.` indicates an array named 'products'. + +> info "Missing properties?" +> Your Segment events may be missing one of the following properties if Shopify provides `null` or an empty value for a property. -The properties below are included with `Cart Viewed` `track()` events. `products.$.` indicates an array named 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. | Property | Description | Type | | --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | From af074941fda95726a94549a4c4729f0640ca8c5d Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:34:09 +0000 Subject: [PATCH 33/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 52269aaf21..5a4d4b2663 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -166,9 +166,13 @@ The properties below are included with `Product List Viewed` `track()` events. ` | `products.$.price` | The decimal money amount (price) for the product | Number | | `products.$.sku` | The SKU (stock keeping unit) associated with the variant | String | -## Products Searched track() event properties +## Products Searched Track event properties + +The properties below are included with `Products Searched` Track events. `products.$.` indicates an array named 'products'. + +> info "Missing properties?" +> Your Segment events may be missing one of the following properties if Shopify provides `null` or an empty value for a property. -The properties below are included with `Products Searched` `track()` events. `products.$.` indicates an array named 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. | Property | Description | Type | | --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | From c04f70aa514100bdbffd2df1255fd6ee28e0d49d Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:34:21 +0000 Subject: [PATCH 34/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 5a4d4b2663..069686c472 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -147,9 +147,13 @@ The properties below are included with `Product Added` and `Product Removed` `tr | `total_price` | The total decimal money amount (price) for the product | Number | | `sku` | The SKU (stock keeping unit) associated with the variant | String | -## Product List Viewed track() event properties +## Product List Viewed Track event properties + +The properties below are included with `Product List Viewed` Track events. `products.$.` indicates an array named 'products'. + +> info "Missing properties?" +> Your Segment events may be missing one of the following properties if Shopify provides `null` or an empty value for a property. -The properties below are included with `Product List Viewed` `track()` events. `products.$.` indicates an array named 'products'. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. | Property | Description | Type | | --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | From 321520d92df919c05fe3065ccfa38124c082b3d3 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:34:35 +0000 Subject: [PATCH 35/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index 069686c472..f4fa8e9412 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -126,9 +126,13 @@ The properties below are included with `Product Viewed` Track events. | `price` | The decimal money amount (price) for the product | Number | | `sku` | The SKU (stock keeping unit) associated with the variant | String | -## Product Added and Product Removed track() event properties +## Product Added and Product Removed Track event properties + +The properties below are included with `Product Added` and `Product Removed` Track events. + +> info "Missing properties?" +> Your Segment events may be missing one of the following properties if Shopify provides `null` or an empty value for a property. -The properties below are included with `Product Added` and `Product Removed` `track()` events. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. | Property | Description | Type | | --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | From 27fd28a8030636c82ae520c645f198464e93a769 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:34:45 +0000 Subject: [PATCH 36/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index f4fa8e9412..c77c4c456a 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -91,9 +91,13 @@ The fields below are automatically sent to Segment with every Track, Page and Id | `context.campaign.term` | `utm_term` QueryString value | String | | `context.campaign.content` | `utm_content` QueryString value | String | -## Page Viewed / page() event properties +## Page Viewed / Page event properties + +The properties below are included with Page events. + +> info "Missing properties?" +> Your Segment events may be missing one of the following properties if Shopify provides `null` or an empty value for a property. -The properties below are included with `page()` events. Note: If a property is missing it is due to Shopify not providing the value, or due to a `null` or empty value being provided. | Field | Description | Type | | --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | From c1c7d8a7f7a0adf05282875688212c666f2ea187 Mon Sep 17 00:00:00 2001 From: Joe Ayoub <45374896+joe-ayoub-segment@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:34:54 +0000 Subject: [PATCH 37/37] Update src/connections/sources/catalog/libraries/website/shopify/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../sources/catalog/libraries/website/shopify/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/website/shopify/index.md b/src/connections/sources/catalog/libraries/website/shopify/index.md index c77c4c456a..65561e9d8b 100644 --- a/src/connections/sources/catalog/libraries/website/shopify/index.md +++ b/src/connections/sources/catalog/libraries/website/shopify/index.md @@ -69,7 +69,7 @@ You can control which Track and Page events to send to Segment in the 'Manage ev ## Page context data -The fields below are automatically sent to Segment with every `track()`, `page()` and `idetify()` event. For `page()` events these fields are also included in the `properties` object. +The fields below are automatically sent to Segment with every Track, Page and Identify event. For Page events, these fields are also included in the `properties` object. | Field | Description | Type | | --------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------- |