From a21cb5a9af4727d85e2348db14b3d17a0236aaa7 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 8 Aug 2024 20:29:02 -0400 Subject: [PATCH 1/4] first couple link text fixes --- CONTRIBUTING.md | 2 +- src/_includes/content/dev-center-note.md | 2 +- src/_includes/content/ip-allowlist.md | 2 +- .../destinations/catalog/actions-ambee/index.md | 2 +- .../catalog/actions-braze-web/index.md | 7 +++---- .../catalog/actions-display-video-360/index.md | 2 +- .../actions-facebook-conversions-api/index.md | 4 ++-- .../catalog/actions-hubspot-cloud/index.md | 2 +- .../catalog/actions-pardot/index.md | 2 +- .../actions-pinterest-conversions-api/index.md | 2 +- .../catalog/actions-qualtrics/index.md | 2 +- .../destinations/catalog/adikteev/index.md | 10 ++++------ .../catalog/adobe-analytics/settings.md | 2 +- .../catalog/amazon-personalize/index.md | 4 ++-- .../destinations/catalog/appsflyer/index.md | 2 +- .../destinations/catalog/autopilothq/index.md | 2 +- .../catalog/branch-metrics/index.md | 4 ++-- .../destinations/catalog/braze/index.md | 17 ++++++++++------- .../catalog/clearbit-reveal/index.md | 4 +--- .../destinations/catalog/clicky/index.md | 5 +---- .../destinations/catalog/comscore/index.md | 4 ++-- .../destinations/catalog/crazy-egg/index.md | 2 +- .../destinations/catalog/customer-io/index.md | 2 +- .../catalog/customersuccessbox/index.md | 6 +++--- .../destinations/catalog/cxense/index.md | 2 +- .../catalog/doubleclick-floodlight/index.md | 2 +- .../destinations/catalog/firebase/index.md | 14 +++++++------- .../catalog/google-ads-classic/index.md | 2 +- .../destinations/catalog/gtag/index.md | 4 ++-- .../destinations/catalog/help-scout/index.md | 2 +- .../destinations/catalog/impact/index.md | 4 ++-- .../destinations/catalog/iterable/index.md | 6 +++--- .../destinations/catalog/kahuna/index.md | 4 ++-- .../destinations/catalog/kustomer/index.md | 4 ++-- .../destinations/catalog/leanplum/index.md | 4 ++-- .../destinations/catalog/localytics/index.md | 2 +- .../destinations/catalog/marketo-v2/index.md | 4 ++-- .../destinations/catalog/mixpanel/index.md | 4 ++-- .../destinations/catalog/nielsen-dtvr/index.md | 4 ++-- .../catalog/optimizely-full-stack/index.md | 6 +++--- .../catalog/optimizely-web/index.md | 13 ++++++------- 41 files changed, 84 insertions(+), 90 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 21d5d88aff..54b4ebc68b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -75,7 +75,7 @@ Sources pages check if the source is a cloud-app, then include information about ## Edit pages -Content with in each `.md` file is markdown. For information about styling, and available extensions, see `_src/utils/formatguide.md` or the live version [here](https://segment.com/docs/utils/formatguide). +Content with in each `.md` file is markdown. For information about styling, and available extensions, see `_src/utils/formatguide.md` or the live version in the [utils section of the docs](/docs/utils/formatguide). ## Building a preview diff --git a/src/_includes/content/dev-center-note.md b/src/_includes/content/dev-center-note.md index 0639e1f05e..5884344d34 100644 --- a/src/_includes/content/dev-center-note.md +++ b/src/_includes/content/dev-center-note.md @@ -1 +1 @@ -

Developer Center no longer accepts new components.

Segment is redeveloping the Developer Center and will launch a new version when complete. To stay up to date, add your contact information [here](https://airtable.com/shrT3b4C7agUEBKVS){:target="_blank"}.

\ No newline at end of file +

Developer Center no longer accepts new components.

Segment is redeveloping the Developer Center and will launch a new version when complete. To stay up to date, add your contact information [in this Airtable form](https://airtable.com/shrT3b4C7agUEBKVS){:target="_blank"}.

\ No newline at end of file diff --git a/src/_includes/content/ip-allowlist.md b/src/_includes/content/ip-allowlist.md index 7b926e7f38..b3167f3424 100644 --- a/src/_includes/content/ip-allowlist.md +++ b/src/_includes/content/ip-allowlist.md @@ -1,5 +1,5 @@ When data leaves Segment's servers to go to various destinations (not including warehouses), Segment uses Amazon Web Services (AWS) and utilizes many different machines in order to send requests. -The IP addresses that are used to send these requests can be found [here](https://ip-ranges.amazonaws.com/ip-ranges.json){:target="_blank"}. If you want to allowlist these specific IP addresses, you need to allowlist all of the IP addresses from your workspace's location range. Below are the ranges: +The IP addresses that are used to send these requests can be found [on Amazon's website](https://ip-ranges.amazonaws.com/ip-ranges.json){:target="_blank"}. If you want to allowlist these specific IP addresses, you need to allowlist all of the IP addresses from your workspace's location range. Below are the ranges: * For a US workspace: `AWS us-west-2` * For an EU workspace: `AWS eu-west-1 ` \ No newline at end of file diff --git a/src/connections/destinations/catalog/actions-ambee/index.md b/src/connections/destinations/catalog/actions-ambee/index.md index 2a16d7d4bc..cbc13081e8 100644 --- a/src/connections/destinations/catalog/actions-ambee/index.md +++ b/src/connections/destinations/catalog/actions-ambee/index.md @@ -47,7 +47,7 @@ Then, in the Source, navigate to **Settings** > **API Keys**. ### API Key To start working with Ambee as your destination, you'll need -Ambee's API Key. Sign up for Ambee [here](https://auth.ambeedata.com/users/register?redirectUrl=https://api-dashboard.getambee.com){:target="_blank"}. +Ambee's API Key. Sign up for Ambee [on the Ambee site](https://auth.ambeedata.com/users/register?redirectUrl=https://api-dashboard.getambee.com){:target="_blank"}. Once you are signed in, you will get your limited-period API key on the dashboard's homepage. If your use case requires data in bulk, you'll diff --git a/src/connections/destinations/catalog/actions-braze-web/index.md b/src/connections/destinations/catalog/actions-braze-web/index.md index e4422499d0..9f7a50f145 100644 --- a/src/connections/destinations/catalog/actions-braze-web/index.md +++ b/src/connections/destinations/catalog/actions-braze-web/index.md @@ -99,13 +99,13 @@ analytics.ready(function() { }); ``` -1. Set your GCM/FCM server API key and SenderID on the Braze dashboard. You can find more details for this [here](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#step-4-set-your-gcmfcm-server-api-key-and-senderid-on-the-Braze-dashboard){:target="_blank"}. +1. Set your GCM/FCM server API key and SenderID on the Braze dashboard. You can find more details for this in Braze's [Initial SDK setup for web](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#step-4-set-your-gcmfcm-server-api-key-and-senderid-on-the-Braze-dashboard){:target="_blank"} documentation. 2. To support push notifications on Safari, add your Website Push ID into your Segment Settings UI and Segment sends it when the Braze Web SDK initializes. To get your Website Push ID, follow the first two bullet points in [these instructions](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#step-5-configure-safari-push){:target="_blank"}. ### Soft Push Prompts -1. Follow [step one](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#soft-push-prompts){:target="_blank"} to create a "Prime for Push" in-app messaging Campaign on the Braze dashboard. +1. Follow [step one](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/push_notifications/soft_push_prompt/#step-1-create-a-push-primer-campaign){:target="_blank"} to create a "Prime for Push" in-app messaging Campaign on the Braze dashboard. 2. Add the following snippet to your site: @@ -146,7 +146,7 @@ analytics.ready(function() { }); ``` -For more details on this snippet, see Braze's documentation [here](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#soft-push-prompts){:target="_blank"}. +For more details on this snippet, see Braze's [Soft push prompt](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/push_notifications/soft_push_prompt/#step-3-update-integration){:target="_blank"} documentation. > info "" > Place this snippet outside of your [Segment Snippet](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet) within your `script` tag. @@ -160,7 +160,6 @@ For more details on this snippet, see Braze's documentation [here](https://www.b ``` - ## Important differences from the classic Braze destination - Braze Web Mode (Actions) supports the Braze [Web](https://github.com/segment-integrations/analytics.js-integration-appboy){:target="_blank"} integration. [Braze Cloud Mode (Actions)](/docs/connections/destinations/catalog/actions-braze-cloud) supports server and mobile sources, but to use mobile sources in device-mode, use the Braze Classic destination. diff --git a/src/connections/destinations/catalog/actions-display-video-360/index.md b/src/connections/destinations/catalog/actions-display-video-360/index.md index c3bf2f6658..a464e0760a 100644 --- a/src/connections/destinations/catalog/actions-display-video-360/index.md +++ b/src/connections/destinations/catalog/actions-display-video-360/index.md @@ -108,7 +108,7 @@ To configure DoubleClick Floodlight: 7. Click **Save** and make sure you enable the mapping. > info "" -> The destination does not have configurable settings until you create an audience, described [here](#create-an-audience-and-finish-dv360-configuration). +> The destination does not have configurable settings until you create an audience, described in the [Create an audience and finish DV360 configuration](#create-an-audience-and-finish-dv360-configuration) documentation. ### Create an audience and finish DV360 configuration diff --git a/src/connections/destinations/catalog/actions-facebook-conversions-api/index.md b/src/connections/destinations/catalog/actions-facebook-conversions-api/index.md index 73f6c999ee..313e6514a9 100644 --- a/src/connections/destinations/catalog/actions-facebook-conversions-api/index.md +++ b/src/connections/destinations/catalog/actions-facebook-conversions-api/index.md @@ -118,7 +118,7 @@ Use this approach if you don't want to track users from the browser with Faceboo ### Send app events -App events may be sent through the Conversions API by first setting up a dataset in your Facebook Events Manager. Learn more about passing app events through the Conversions API [here](https://developers.facebook.com/docs/marketing-api/conversions-api/app-events){:target="_blank"}. Learn how to create a dataset [here](https://www.facebook.com/business/help/750785952855662?id=490360542427371){:target="_blank"}. +App events may be sent through the Conversions API by first setting up a dataset in your Facebook Events Manager. Learn more about passing app events through the Conversions API in Facebook's [Conversions API for App Events](https://developers.facebook.com/docs/marketing-api/conversions-api/app-events){:target="_blank"} documentation. Learn how to create a dataset in Facebook's [About datasets in Meta Events Manager](https://www.facebook.com/business/help/750785952855662?id=490360542427371){:target="_blank"} documentation. #### Configuring app events Sending app events requires the `action_source` parameter to be set to `app`. @@ -209,7 +209,7 @@ Segment automatically maps User Data fields to their corresponding parameters [a ### Server Event Parameter Requirements -Facebook requires the `action_source` server event parameter for all events sent to the Facebook Conversions API. This parameter specifies where the conversions occur. If `action_source` is set to **website**, then the `client_user_agent` and the `event_source_url` parameters are also required. Events sent to the Conversions API that don't meet the requirements may not be available for optimization, targeting, or measurement. Facebook requires additional fields as well such as, Event Name, Event Type, and User Data. See the full list of required fields [here](https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/server-event/). +Facebook requires the `action_source` server event parameter for all events sent to the Facebook Conversions API. This parameter specifies where the conversions occur. If `action_source` is set to **website**, then the `client_user_agent` and the `event_source_url` parameters are also required. Events sent to the Conversions API that don't meet the requirements may not be available for optimization, targeting, or measurement. Facebook requires additional fields as well such as, Event Name, Event Type, and User Data. See the full list of required fields in Facebook's [Server Event Parameters](https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/server-event/){:target="_blank”} documentation. ### Verify Events in Facebook diff --git a/src/connections/destinations/catalog/actions-hubspot-cloud/index.md b/src/connections/destinations/catalog/actions-hubspot-cloud/index.md index 93c253f58b..4973dbbf78 100644 --- a/src/connections/destinations/catalog/actions-hubspot-cloud/index.md +++ b/src/connections/destinations/catalog/actions-hubspot-cloud/index.md @@ -93,7 +93,7 @@ Event payloads should contain an email with either a valid format, empty string, Follow the instructions in the docs to [disable](/docs/connections/destinations/actions/#disable-a-destination-action) or [delete](/docs/connections/destinations/actions/#delete-a-destination-action) a destination action from Segment. ### How can I uninstall an app from my HubSpot account? -Follow the steps mentioned [here](https://knowledge.hubspot.com/integrations/connect-apps-to-hubspot#uninstall-an-app){:target="_blank"} to uninstall or disconnect an app from your HubSpot account. +Follow the steps outlined in HubSpot's [Uninstall an app](https://knowledge.hubspot.com/integrations/connect-apps-to-hubspot#uninstall-an-app){:target="_blank"} docs to uninstall or disconnect an app from your HubSpot account. ### How does disconnecting and uninstalling affect a user's data and HubSpot account? Segment immediately stops sending data to HubSpot after you disconnect and uninstall a HubSpot account. diff --git a/src/connections/destinations/catalog/actions-pardot/index.md b/src/connections/destinations/catalog/actions-pardot/index.md index 05d5d945c2..73d0d29705 100644 --- a/src/connections/destinations/catalog/actions-pardot/index.md +++ b/src/connections/destinations/catalog/actions-pardot/index.md @@ -53,7 +53,7 @@ To send data to a Salesforce Pardot sandbox instance, navigate to **Settings** a Your sandbox username appends the sandbox name to your Salesforce production username. For example, if a username for a production org is `user@acme.com` and the sandbox is named `test`, the username to log in to the sandbox is `user@acme.com.test`. > info "" -> Data and configuration can’t be shared between sandbox and production accounts. Make sure you use the Pardot Business Unit ID corresponding to your sandbox account. Information on how to create a sandbox for Pardot can be found [here](https://help.salesforce.com/s/articleView?language=en_US&type=5&id=sf.pardot_sf_connector_sandbox.htm){:target="_blank"}. +> Data and configuration can’t be shared between sandbox and production accounts. Make sure you use the Pardot Business Unit ID corresponding to your sandbox account. Information on how to create a sandbox for Pardot can be found in the Salesforce [Create a Sandbox for Account Engagement](https://help.salesforce.com/s/articleView?language=en_US&type=5&id=sf.pardot_sf_connector_sandbox.htm){:target="_blank"} documentation. ### How do I add custom prospect fields? Custom fields can be included in the Other Fields mapping. Custom fields must be predefined in your Pardot account and should end with `__c` (for example, `custom_field__c`). Please include the `__c` in your mapping. diff --git a/src/connections/destinations/catalog/actions-pinterest-conversions-api/index.md b/src/connections/destinations/catalog/actions-pinterest-conversions-api/index.md index c1f4d90a65..92b6a68be1 100644 --- a/src/connections/destinations/catalog/actions-pinterest-conversions-api/index.md +++ b/src/connections/destinations/catalog/actions-pinterest-conversions-api/index.md @@ -40,7 +40,7 @@ To connect the Pinterest Conversions API Destination: - Destination Name - [Ad Account ID](https://developers.pinterest.com/docs/conversions/conversions/#Find%20your%20%2Cad_account_id#Find%20your%20%2Cad_account_id#Find%20your%20%2Cad_account_id){:target="_blank”} - [Conversions Token](https://developers.pinterest.com/docs/conversions/conversions/#Get%20the%20conversion%20token){:target="_blank”} -6. Navigate to the **Mappings** tab, there are already Prebuilt mapping like `Checkout,Search,Add to Cart` defined with prescribed parameter . All required ,recommended and optional fields are listed [here](https://developers.pinterest.com/docs/conversions/best/#Authenticating%20for%20the%20Conversion%20Tracking%20endpoint#The%20%2Cuser_data%2C%20and%20%2Ccustom_data%2C%20objects#Required%2C%20recommended%2C%20and%20optional%20fields#Required%2C%20recommended%2C%20and%20optional%20fields){:target="_blank”} +6. Navigate to the **Mappings** tab, there are already Prebuilt mapping like `Checkout`, `Search`, `Add to Cart` defined with prescribed parameters. All required, recommended, and optional fields are listed in Pinterest's [Best practices](https://developers.pinterest.com/docs/api-features/conversion-best-practices/#required-recommended-and-optional-fields){:target="_blank”} documentation. 7. If you want to create **New Mapping**, and select **Report Conversions Event** ,configure and enable it. 8. Follow the steps in the Destinations Actions documentation on [Customizing mappings](/docs/connections/destinations/actions/#customize-mappings). 9. Enable the destination using the **Enable Destination** toggle switch and click **Save Changes**. diff --git a/src/connections/destinations/catalog/actions-qualtrics/index.md b/src/connections/destinations/catalog/actions-qualtrics/index.md index 3b14967b9a..9829c1c05c 100644 --- a/src/connections/destinations/catalog/actions-qualtrics/index.md +++ b/src/connections/destinations/catalog/actions-qualtrics/index.md @@ -35,7 +35,7 @@ To link your Qualtrics destination in Segment to your Qualtrics workspace, [Qual 2. Find the Destinations Actions item in the left navigation, and click it. 3. Click **Configure Qualtrics**. 4. Select an existing Source to connect to Qualtrics (Actions). -5. To authenticate, enter your API key & Datacenter ID. To locate your API key & Datacenter ID, follow in the instructions found [here](https://api.qualtrics.com/ZG9jOjg3NjYzNQ-finding-your-qualtrics-i-ds){:target="_blank”}. +5. To authenticate, enter your API key & Datacenter ID. To locate your API key & Datacenter ID, follow in the instructions in the [Finding your Qualtrics IDs](https://api.qualtrics.com/ZG9jOjg3NjYzNQ-finding-your-qualtrics-i-ds){:target="_blank”} documentation. diff --git a/src/connections/destinations/catalog/adikteev/index.md b/src/connections/destinations/catalog/adikteev/index.md index 065af29ecd..a066cc15c6 100644 --- a/src/connections/destinations/catalog/adikteev/index.md +++ b/src/connections/destinations/catalog/adikteev/index.md @@ -8,16 +8,14 @@ This destination is maintained by Adikteev. For any issues with the destination, ## Getting Started +This destination only supports events from Mobile sources. - -Currently, this destination supports events originating from Mobile sources alone. - -You can read more about how to define a source [here](/docs/connections/sources/#what-is-a-source). +You can read more about how to define a source in Segment's [Source Overview](/docs/connections/sources/#what-is-a-source) docs. To get started with Adikteev and Segment, you'll need an account with Adikteev. -If you don't have an account with Adikteev and want to use our services together with Segment contact us here: [contact@adikteev.com](mailto:contact@adikteev.com). +If you don't have an account with Adikteev, contact them at [contact@adikteev.com](mailto:contact@adikteev.com). ## Track -Adikteev is built to understand and analyze all the events generated by your app. For us to receive and analyze the events correctly, make sure you use the right [Track](/docs/connections/spec/track/) events as specified by Segment's Spec. +Adikteev accepts [Track](/docs/connections/spec/track/) events as specified by the Segment Spec. diff --git a/src/connections/destinations/catalog/adobe-analytics/settings.md b/src/connections/destinations/catalog/adobe-analytics/settings.md index 54339a9d27..1edcd1a18e 100644 --- a/src/connections/destinations/catalog/adobe-analytics/settings.md +++ b/src/connections/destinations/catalog/adobe-analytics/settings.md @@ -454,7 +454,7 @@ analytics.page({ ## Custom Traffic Variables - props -Custom Traffic Variables, also known as props, allow you to correlate custom data with specific traffic-related events in Adobe. To learn more about props and how to configure them in the Adobe UI, see the documentation [here](https://docs.adobe.com/content/help/en/analytics/admin/admin-tools/traffic-variables/traffic-var.html){:target="_blank”}. You can map your Segment properties in your destination settings to any of your Adobe props. +Custom Traffic Variables, also known as props, allow you to correlate custom data with specific traffic-related events in Adobe. To learn more about props and how to configure them in the Adobe UI, see the documentation on [Traffic variables (props) overview](https://docs.adobe.com/content/help/en/analytics/admin/admin-tools/traffic-variables/traffic-var.html){:target="_blank”}. You can map your Segment properties in your destination settings to any of your Adobe props. ![A screenshot of the Adobe Analytics settings page in Segment, with the Mappings section selected and a sample property mapping under the Props tab.](images/prop-mapping.png) diff --git a/src/connections/destinations/catalog/amazon-personalize/index.md b/src/connections/destinations/catalog/amazon-personalize/index.md index cc0c6f6371..d128f02fbe 100644 --- a/src/connections/destinations/catalog/amazon-personalize/index.md +++ b/src/connections/destinations/catalog/amazon-personalize/index.md @@ -194,7 +194,7 @@ Segment's S3 destination contains a copy of all of the source data you configure Note that this step is not required unless you plan to do batch data extraction from S3. -Your Glue ETL job will need to crawl each source folder to extract the backup data that forms your training set. Analysis of this data set is beyond the scope of this document. It is strongly recommended you familiarize yourself with the types of events that can be sent through Segment. Segment's event structure is described in detail [here](/docs/connections/sources/catalog/libraries/server/http/). +Your Glue ETL job will need to crawl each source folder to extract the backup data that forms your training set. Analysis of this data set is beyond the scope of this document. It is strongly recommended you familiarize yourself with the types of events that can be sent through Segment. Segment's event structure is described in detail on Segment's [HTTP source](/docs/connections/sources/catalog/libraries/server/http/) documentation. The following examples show how to configure an AWS Glue job to convert Segment historical data into the Apache Avro format that Personalize wants to consume for training data sets. @@ -596,7 +596,7 @@ Once Segment's event CSV is finished importing into a user-item interaction data ![A screenshot of the Dataset groups dashboard, with a box around the Start button in the Create solutions column.](images/PersonalizeCreateSolution.png) 2. On the **Create solution** page, enter a **Solution name**. - * For a discussion on the different recipes you can use with Personalize, see [here](https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html){:target="_blank"}. + * For a discussion on the different recipes you can use with Personalize, see Amazon's [Choosing a recipe](https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html){:target="_blank"} documentation. ![A screenshot of the Create solution page, with a solution name entered in the Solution name field.](images/PersonalizeSolutionConfig.png) diff --git a/src/connections/destinations/catalog/appsflyer/index.md b/src/connections/destinations/catalog/appsflyer/index.md index b369b36dc5..936cbd68cc 100644 --- a/src/connections/destinations/catalog/appsflyer/index.md +++ b/src/connections/destinations/catalog/appsflyer/index.md @@ -217,7 +217,7 @@ Segment uses AppsFlyer's `transactionId` deduplication when you send an `orderId ## Install Attributed ### Client -Segment will automatically trigger an `Install Attributed` event if you have **trackAttributionData** enabled in your settings, and the Segment-AppsFlyer integration installed in your app. The event payload will adhere to the `Install Attributed` event specification documented [here](/docs/connections/spec/mobile/#install-attributed) and will propagate to your other downstream destinations. +Segment will automatically trigger an `Install Attributed` event if you have **trackAttributionData** enabled in your settings, and the Segment-AppsFlyer integration installed in your app. The event payload will adhere to the `Install Attributed` event specification explained in Segment's [Mobile Spec](/docs/connections/spec/mobile/#install-attributed) and will propagate to your other downstream destinations. ### Server If you track events server-side, AppsFlyer can still send attribution postbacks, but you need to configure this functionality in your AppsFlyer account. To enable this: diff --git a/src/connections/destinations/catalog/autopilothq/index.md b/src/connections/destinations/catalog/autopilothq/index.md index 0385ead9d2..632e353ea2 100644 --- a/src/connections/destinations/catalog/autopilothq/index.md +++ b/src/connections/destinations/catalog/autopilothq/index.md @@ -12,7 +12,7 @@ Are you instead trying to set up Autopilot as a Source to get data from Autopilo ## Getting Started 1. From the Segment web app, click **Catalog**. 2. Search for "Autopilot" in the Catalog, select it, and choose which of your sources to connect the destination to. - 3. In the destination settings, enter your "API Key" from [here](https://login.autopilothq.com/login#settings/app-connections/segment-sync){:target="_blank”} or go to Autopilot: Settings -> App Connections -> Segment and copy/paste the API key which is listed there. + 3. In the destination settings, enter your "API Key" from [your Autopilot Segment Sync settings page](https://login.autopilothq.com/login#settings/app-connections/segment-sync){:target="_blank”} or go to Autopilot: Settings -> App Connections -> Segment and copy/paste the API key which is listed there. 4. Once enabled 'identify' and 'track' calls will be sent to Autopilot. ## Identify diff --git a/src/connections/destinations/catalog/branch-metrics/index.md b/src/connections/destinations/catalog/branch-metrics/index.md index 03a9b33921..d483ae10f3 100644 --- a/src/connections/destinations/catalog/branch-metrics/index.md +++ b/src/connections/destinations/catalog/branch-metrics/index.md @@ -10,9 +10,9 @@ id: 5642909ae954a874ca44c582 **As of November 2019, the Branch mobile SDKs for Segment are in maintenance mode.** -Existing users of the Branch SDKs are unaffected, however new installations must implement the Branch native SDK separately. They can then enable Branch's [data export integration](https://docs.branch.io/integrations/segment-export/) to push additional data to Segment, and [data import integration](https://docs.branch.io/integrations/segment-import/){:target="_blank"} to pull additional Segment data into the Branch dashboard. +Existing users of the Branch SDKs are unaffected, however new installations must implement the Branch native SDK separately. They can then enable Branch's [data export integration](https://docs.branch.io/integrations/segment-export/){:target="_blank”} to push additional data to Segment, and [data import integration](https://docs.branch.io/integrations/segment-import/){:target="_blank"} to pull additional Segment data into the Branch dashboard. -The legacy instructions for implementing the Branch mobile SDKs for Segment have been removed from this documentation. If you need access to the removed sections, you can view them [here](https://web.archive.org/web/20191113225102//docs/connections/destinations/catalog/branch-metrics/){:target="_blank"}. +The legacy instructions for implementing the Branch mobile SDKs for Segment have been removed from this documentation. If you need access to the removed sections, you can view the [Archived version of this documentation](https://web.archive.org/web/20191113225102//docs/connections/destinations/catalog/branch-metrics/){:target="_blank"}. --- diff --git a/src/connections/destinations/catalog/braze/index.md b/src/connections/destinations/catalog/braze/index.md index 0cc90e7c3d..2406ad1ae4 100644 --- a/src/connections/destinations/catalog/braze/index.md +++ b/src/connections/destinations/catalog/braze/index.md @@ -57,9 +57,8 @@ For issues with mobile platforms (iOS, Android, Swift, or Kotlin), contact Braze [SEGAnalytics setupWithConfiguration:config]; ``` - [Here](https://github.com/Appboy/appboy-segment-ios/blob/master/CocoapodsExample/Segment-Appboy/SEGAppDelegate.m){:target="_blank"} - is a sample project which shows how to integrate the above. - + You can find a sample project in the [@Appboy/appboy-segment-ios](https://github.com/Appboy/appboy-segment-ios/blob/master/CocoapodsExample/Segment-Appboy/SEGAppDelegate.m){:target="_blank"} repository that shows how to integrate the previous snippet. + #### Sample App Braze created a sample iOS application that integrates Braze using Segment. See the Braze [GitHub repository](https://github.com/Appboy/appboy-segment-ios/tree/master/CocoapodsExample){:target="_blank"} @@ -406,13 +405,17 @@ analytics.ready(function() { }); ``` -3. Set your GCM/FCM server API key and SenderID on the Braze dashboard. You can find more details for this [here](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#step-4-set-your-gcmfcm-server-api-key-and-senderid-on-the-Braze-dashboard){:target="_blank"}. +3. Set your GCM/FCM server API key and SenderID on the Braze dashboard. You can find more details for this in Braze's [Standard Android push integration](https://www.braze.com/docs/developer_guide/platform_integration_guides/android/push_notifications/android/integration/standard_integration/#step-6-upload-your-json-credentials-to-braze){:target="_blank"} documentation. + + -4. To support push notifications on Safari, add your Website Push ID into your Segment Settings UI and Segment sends it when the Braze Web SDK initializes. To get your Website Push ID, follow the first two bullet points in [these instructions](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#step-5-configure-safari-push){:target="_blank"}. +4. To support push notifications on Safari, add your Website Push ID into your Segment Settings UI and Segment sends it when the Braze Web SDK initializes. To get your Website Push ID, follow the first two bullet points in [these instructions](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/push_notifications/integration/#safari){:target="_blank"}. ### Soft Push Prompts -1. Follow [step one](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#soft-push-prompts){:target="_blank"} to create a "Prime for Push" in-app messaging Campaign on the Braze dashboard. +1. Follow [step one](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/push_notifications/soft_push_prompt/#step-1-create-a-push-primer-campaign){:target="_blank"} to create a "Prime for Push" in-app messaging Campaign on the Braze dashboard. 2. Disable your [Automatically Send In-App Messages Destination setting](/docs/connections/destinations/catalog/braze/#settings). By default, it is enabled when you enable the Braze destination. @@ -455,7 +458,7 @@ analytics.ready(function() { }); ``` -For more details on this snippet, check out Braze's docs [here](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#soft-push-prompts){:target="_blank"}. +For more details on this snippet, check out Braze's [Soft push prompt](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/push_notifications/soft_push_prompt/#step-3-update-integration){:target="_blank"} docs. **Note:** Place this snippet outside of your [Segment Snippet](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet) within your `script` tag. diff --git a/src/connections/destinations/catalog/clearbit-reveal/index.md b/src/connections/destinations/catalog/clearbit-reveal/index.md index 71c46ea550..06686a0c2f 100644 --- a/src/connections/destinations/catalog/clearbit-reveal/index.md +++ b/src/connections/destinations/catalog/clearbit-reveal/index.md @@ -3,12 +3,10 @@ title: Clearbit Reveal Destination rewrite: true id: 57e0726680412f644ff36883 --- -[Clearbit Reveal](https://clearbit.com/segment){:target="_blank"} helps customers instantly match IP addresses with company names, and see full profiles for all site visitors. It turns your anonymous web traffic into a full company profile — complete with industry, employee count, funding details, and much more. You can find a list of the different attributes you can collect with Clearbit [here](https://clearbit.com/attributes){:target="_blank"}. +[Clearbit Reveal](https://clearbit.com/segment){:target="_blank"} helps customers instantly match IP addresses with company names, and see full profiles for all site visitors. It turns your anonymous web traffic into a full company profile — complete with industry, employee count, funding details, and much more. You can find a list of the different attributes you can collect with Clearbit [on Clearbit's attributes page](https://clearbit.com/attributes){:target="_blank"}. ## Getting Started - - Setup within Segment: 1. From the Segment web app, click **Catalog**. 2. Search for "Clearbit Reveal" in the Catalog, select it, and choose which of your sources to connect the destination to. diff --git a/src/connections/destinations/catalog/clicky/index.md b/src/connections/destinations/catalog/clicky/index.md index 5490b60be8..3fd88a575a 100644 --- a/src/connections/destinations/catalog/clicky/index.md +++ b/src/connections/destinations/catalog/clicky/index.md @@ -5,14 +5,11 @@ id: 54521fd525e721e32a72eea2 --- [Clicky](https://clicky.com/){:target="_blank"} is a web analytics tool that enables you to monitor, analyze, and react to your blog or web site's traffic in real time. Clicky supports user segmentation, so marketers can define and track customers based on unique constraints like user action, traffic source, location, or device. Additionally, it allows on-site analytics in order to track total visitors on site, pages currently viewed, and user actions like pageviews, downloads, sign ups, and session duration. -Our Clicky destination code is open-source on GitHub. You can check out the code [here](https://github.com/segment-integrations/analytics.js-integration-clicky){:target="_blank"}. +Our Clicky destination code is open-source on GitHub. You can check out the code [in the @segment-integrations/analytics.js-integration-clicky](https://github.com/segment-integrations/analytics.js-integration-clicky){:target="_blank"} repository. ## Getting Started - - - 1. From the Segment web app, click **Catalog**. 2. Search for "Clicky" in the Catalog, select it, and choose which of your sources to connect the destination to. 3. In the destination settings, enter your Site ID in the settings. You can find your Site ID under the Preferences of your account. diff --git a/src/connections/destinations/catalog/comscore/index.md b/src/connections/destinations/catalog/comscore/index.md index 3d2c037833..65e16849a2 100644 --- a/src/connections/destinations/catalog/comscore/index.md +++ b/src/connections/destinations/catalog/comscore/index.md @@ -25,10 +25,10 @@ To get started with comScore and Segment, you'll want to first integrate your mo For mobile sources, you will need to enter your comScore **c2 ID** and **Publisher Secret**. ### iOS -To install comScore via Segment on iOS, please follow the additional set up steps in the Segment-Comscore iOS repository [here](https://github.com/segment-integrations/analytics-ios-integration-comscore#analytics-ios-integration-comscore){:target="_blank"}. +To install comScore using Segment on iOS, please follow the additional set up steps in the [Segment-Comscore iOS repository](https://github.com/segment-integrations/analytics-ios-integration-comscore#analytics-ios-integration-comscore){:target="_blank"}. ### Android -To install comScore via Segment on Android, please follow the additional set up steps in the Segment-Comscore Android repository [here](https://github.com/segment-integrations/analytics-android-integration-comscore#analytics-android-integration-comscore){:target="_blank"}. +To install comScore using Segment on Android, please follow the additional set up steps in the [Segment-Comscore Android repository](https://github.com/segment-integrations/analytics-android-integration-comscore#analytics-android-integration-comscore){:target="_blank"}. ## Page diff --git a/src/connections/destinations/catalog/crazy-egg/index.md b/src/connections/destinations/catalog/crazy-egg/index.md index 73df0af633..3ead934257 100644 --- a/src/connections/destinations/catalog/crazy-egg/index.md +++ b/src/connections/destinations/catalog/crazy-egg/index.md @@ -36,6 +36,6 @@ As this is automatically included in the `analytics.js` snippet by default, you ## Troubleshooting ### I can't map user variables -The current Crazy Egg Destination doesn't support mapping of user variables out of the box. You will need to add your own additional JavaScript as specified [here](https://help.crazyegg.com/articles/61-user-variables){:target="_blank"}. +The current Crazy Egg Destination doesn't support mapping of user variables out of the box. You will need to add your own additional JavaScript as specified in Crazy Egg's [Custom User Variables](https://support.crazyegg.com/hc/en-us/articles/360054584474-Custom-User-Variables){:target="_blank"} documentation. {% include content/client-side-script-unverified.md %} diff --git a/src/connections/destinations/catalog/customer-io/index.md b/src/connections/destinations/catalog/customer-io/index.md index a8ffce950d..83a9388f70 100644 --- a/src/connections/destinations/catalog/customer-io/index.md +++ b/src/connections/destinations/catalog/customer-io/index.md @@ -131,7 +131,7 @@ For that, you need to make the following calls: ## Application Installed -[Application Installed](/docs/connections/spec/mobile/#application-installed) events will add or update a device in the person's Customer.io profile using [this](https://customer.io/docs/api/#operation/add_device){:target="_blank"} API endpoint. Note, you must pass a device token in your event payload using a `context.device.token` property. See more on Contextual properties [here](/docs/connections/spec/common/#context). +[Application Installed](/docs/connections/spec/mobile/#application-installed) events will add or update a device in the person's Customer.io profile using the Customer.io [Add or update a customer device](https://customer.io/docs/api/#operation/add_device){:target="_blank"} API endpoint. Note, you must pass a device token in your event payload using a `context.device.token` property. See more on Contextual properties [in the Spec: Common](/docs/connections/spec/common/#context) docs. {% comment %} api-example '{ "action": "track", diff --git a/src/connections/destinations/catalog/customersuccessbox/index.md b/src/connections/destinations/catalog/customersuccessbox/index.md index 3fb899e9e0..8413dd7e0c 100644 --- a/src/connections/destinations/catalog/customersuccessbox/index.md +++ b/src/connections/destinations/catalog/customersuccessbox/index.md @@ -23,7 +23,7 @@ This destination is maintained by CustomerSuccessBox. For any issues with the de Send **account_id** and **user_id** in **traits** of an identify call to set and update the traits of a unique user belonging to a unique Account. -To learn more about user traits that are supported (including custom traits), check **User traits** section from [here](https://support.customersuccessbox.com/article/77-customersuccessbox-destination-on-segment-com){:target="_blank”}. +To learn more about user traits that are supported (including custom traits), check **User traits** section in the [CustomerSuccessBox documentation](https://support.customersuccessbox.com/article/77-customersuccessbox-destination-on-segment-com){:target="_blank”}. If you're not familiar with the Segment Specs, take a look to understand what the [Identify method](/docs/connections/spec/identify/) does. An example call would look like: @@ -41,7 +41,7 @@ Identify calls will be sent to CustomerSuccessBox as an `identify` event. Send **account_id** and **user_id** in properties of a track call to attribute the event to a unique user belonging to a unique Account. -You can also pass **product_id** and **module_id** in properties of a track call to define a module and product for the event. To learn more, check **Understanding Product Usage** section [here](https://support.customersuccessbox.com/article/70-getting-started-with-customersuccessbox){:target="_blank”}. +You can also pass **product_id** and **module_id** in properties of a track call to define a module and product for the event. To learn more, check **Understanding Product Usage** section [in CustomerSuccessBox's documentation](https://support.customersuccessbox.com/article/70-getting-started-with-customersuccessbox){:target="_blank”}. If you're not familiar with the Segment Specs, take a look to understand what the [Track method](/docs/connections/spec/track/) does. An example call would look like: @@ -60,7 +60,7 @@ Track calls will be sent to CustomerSuccessBox as a `track` event. Send **account_id** in traits of a group call to set and update the traits of a unique Account. -To learn more about account traits that are supported (including custom traits), check **Account traits** section from [here](https://support.customersuccessbox.com/article/77-customersuccessbox-destination-on-segment-com){:target="_blank”}. +To learn more about account traits that are supported (including custom traits), check **Account traits** section from [in CustomerSuccessBox's documentation](https://support.customersuccessbox.com/article/77-customersuccessbox-destination-on-segment-com){:target="_blank”}. If you're not familiar with the Segment Specs, take a look to understand what the [Group method](/docs/connections/spec/group/) does. An example call would look like: diff --git a/src/connections/destinations/catalog/cxense/index.md b/src/connections/destinations/catalog/cxense/index.md index 090f66856c..205f18fdaf 100644 --- a/src/connections/destinations/catalog/cxense/index.md +++ b/src/connections/destinations/catalog/cxense/index.md @@ -7,7 +7,7 @@ hidden: true -Currently this destination supports events originating from Web sources (not Server or Mobile). You can read more about how define a source [here](/docs/connections/sources/#what-is-a-source). +Currently this destination supports events originating from Web sources (not Server or Mobile). You can read more about how define a source in Segment's [What is a Source](/docs/connections/sources/#what-is-a-source) documentation. To get started with Cxense and Segment, you'll need the following: diff --git a/src/connections/destinations/catalog/doubleclick-floodlight/index.md b/src/connections/destinations/catalog/doubleclick-floodlight/index.md index b0277bcf01..f8669d8c5b 100644 --- a/src/connections/destinations/catalog/doubleclick-floodlight/index.md +++ b/src/connections/destinations/catalog/doubleclick-floodlight/index.md @@ -54,7 +54,7 @@ https://ad.doubleclick.net/ddm/activity/src=1234567;cat=fghij456;type=abcde123;d ### Accessing Other Event Properties -By default, the Segment event property you define for each custom variable mapping is matched against the property values found in the `properties` object of a `track` event. On device-mode web, you can use JSON style dot-notation-accessors wrapped in double curly brackets to map to other fields in the event's raw payload to your custom variables. For example, some acceptable values could be `{%raw%}{{userId}}{%endraw%}`, `{%raw%}{{anonymousId}}{%endraw%}`, or `{%raw%}{{context.page.referrer}}{%endraw%}`. You can find the complete structure of a standard Segment event payload [here](/docs/connections/spec/common/#structure). Please note that some fields may not be available for mapping, such as fields within the `context.campaign` object. +By default, the Segment event property you define for each custom variable mapping is matched against the property values found in the `properties` object of a `track` event. On device-mode web, you can use JSON style dot-notation-accessors wrapped in double curly brackets to map to other fields in the event's raw payload to your custom variables. For example, some acceptable values could be `{%raw%}{{userId}}{%endraw%}`, `{%raw%}{{anonymousId}}{%endraw%}`, or `{%raw%}{{context.page.referrer}}{%endraw%}`. You can find the complete structure of a standard Segment event payload in Segment's [Spec: Common](/docs/connections/spec/common/#structure) docs. Please note that some fields may not be available for mapping, such as fields within the `context.campaign` object. > info "" > `dc_rdid` and `dc_lat` are automatically collected by Segment's mobile libraries and `ord` is uniquely generated for each event. diff --git a/src/connections/destinations/catalog/firebase/index.md b/src/connections/destinations/catalog/firebase/index.md index eb90759494..c386ea84cc 100644 --- a/src/connections/destinations/catalog/firebase/index.md +++ b/src/connections/destinations/catalog/firebase/index.md @@ -269,23 +269,23 @@ Firebase is Google's recommended method for reporting conversions to Adwords. To ### Troubleshooting -Firebase has great logging. If you are having any issues, you can enable debug mode as outlined [here](https://firebase.google.com/docs/analytics/debugview){:target="_blank"}. +Firebase has great logging. If you are having any issues, you can enable debug mode as outlined in Google's [Debug events](https://firebase.google.com/docs/analytics/debugview){:target="_blank"} documentation. ### Changes from iOS v1 to v2 Beta -We have been working hard bringing our Firebase iOS beta integration up to date with the native Firebase SDK. The new version 2.0.0-beta has a number of changes that you should be aware of before you upgrade. +Segment has been working hard bringing the Firebase iOS beta integration up to date with the native Firebase SDK. The new version 2.0.0-beta has a number of changes that you should be aware of before you upgrade. -- Bumps to Firebase version 4.0. (we were a major version behind) +- Bumps to Firebase version 4.0. (Segment's integration was a major version behind) - Removes `subspec` which pulls in the deprecated `pod appIndexing` . - Fixes a crash when passing a non NSString value through `traits` on `Identify`. - Fixes Mapping to Firebase `logEvent` and Firebase reserved Params and Constants. -The last point is important, as the mappings are different in this new version and will change which events you seen in your Firebase dash. We suggest you make this upgrade, as this new naming convention coincides with Firebase's semantic [Constants and Params](https://firebase.google.com/docs/reference/ios/firebaseanalytics/api/reference/Constants#/){:target="_blank"}. +The last point is important, as the mappings are different in this new version and will change which events you seen in your Firebase dash. Segment recommends that you make this upgrade, as this new naming convention coincides with Firebase's semantic [Constants and Params](https://firebase.google.com/docs/reference/ios/firebaseanalytics/api/reference/Constants#/){:target="_blank"}. Even more exciting is that this new iOS SDK will have parity with the new Segment-Firebase Android SDK. -As a current user of Segment-Firebase iOS, you will be able to pull in the latest version by pinning `pod 'Segment-Firebase', '~>2.0`. While we don't suggest this, if you are not ready to upgrade you can pin the old beta version at `pod 'Segment-Firebase', '~>1.0.0``'` +As a current user of Segment-Firebase iOS, you will be able to pull in the latest version by pinning `pod 'Segment-Firebase', '~>2.0`. While this is not recommended, if you are not ready to upgrade you can pin the old beta version at `pod 'Segment-Firebase', '~>1.0.0``'` -For details on the new mapping, you can check out our documentation [here](/docs/connections/destinations/catalog/firebase/#event-mappings). +For details on the new mapping, you can check out [Segment's Event mappings documentation](/docs/connections/destinations/catalog/firebase/#event-mappings). -Let us know if you have any questions. We recommend upgrading as soon as possible, and [let us know](https://segment.com/help/contact/){:target="_blank"} if you have any feedback about both the Firebase iOS and Android betas. +Segment recommend upgrading as soon as possible. [Reach out to support](https://segment.com/help/contact/){:target="_blank"} if you have any feedback about both the Firebase iOS and Android betas. diff --git a/src/connections/destinations/catalog/google-ads-classic/index.md b/src/connections/destinations/catalog/google-ads-classic/index.md index bf9c320bcc..15f30f6f29 100644 --- a/src/connections/destinations/catalog/google-ads-classic/index.md +++ b/src/connections/destinations/catalog/google-ads-classic/index.md @@ -109,7 +109,7 @@ To authorize Segment to track conversion events using the Google Ads (Classic) A #### Generate a Link ID in your Google Ads (Classic) Account -Authorization between an Google Ads (Classic) account and a third-party-application is done using the use of a Link Id. This process is detailed [here](https://support.google.com/adwords/answer/7365001){:target="_blank"}. +Authorization between an Google Ads (Classic) account and a third-party-application is done using the use of a Link Id. This process is detailed in Google's [Link a third-party app analytics provider and Google Ads](https://support.google.com/adwords/answer/7365001){:target="_blank"} documentation. > warning "" > During this process, you are required to enter a Provider ID. Segment's Provider ID is: `7552494388`. diff --git a/src/connections/destinations/catalog/gtag/index.md b/src/connections/destinations/catalog/gtag/index.md index 200e1e106a..5e0ff7cdd0 100644 --- a/src/connections/destinations/catalog/gtag/index.md +++ b/src/connections/destinations/catalog/gtag/index.md @@ -49,7 +49,7 @@ Pass UTM parameters in the `context` object in `context.campaign`. For Google An ## Identify -Google's terms of service forbid passing Personally Identifiable Information (PII) to your Google Analytics reporting interface. For that reason Segment does not pass data from an [Identify](/docs/connections/spec/identify) call to Google unless you specifically request it. You can read about Google's best practices for avoiding this [here](https://support.google.com/analytics/answer/6366371?hl=en){:target="_blank"}. +Google's terms of service forbid passing Personally Identifiable Information (PII) to your Google Analytics reporting interface. For that reason Segment does not pass data from an [Identify](/docs/connections/spec/identify) call to Google unless you specifically request it. You can read about Google's best practices for avoiding this in the [Best practices to avoid sending Personally Identifiable Information (PII)](https://support.google.com/analytics/answer/6366371?hl=en){:target="_blank"} documentation. ### User ID Google Analytics Universal tracking method allows you to set a user ID for your identified visitors. [Read more here](https://support.google.com/analytics/answer/3123663){:target="_blank"}. @@ -87,7 +87,7 @@ Segment's device-mode Analytics.js library supports them all. To configure a custom dimension: -1. Configure the Custom Dimensions in your Google Analytics admin page. For more information about creating custom dimensions in Google Analytics, see the Google support article [here](https://support.google.com/analytics/answer/2709829?hl=en){:target="_blank"}. +1. Configure the Custom Dimensions in your Google Analytics admin page. For more information about creating custom dimensions in Google Analytics, see the Google support article [[UA] Create and edit custom dimensions and metrics](https://support.google.com/analytics/answer/2709829?hl=en){:target="_blank"}. 2. After you've enabled Google Analytics in Segment, you can map traits and properties to your custom dimensions. 3. From your Segment Workspace, open the destinations catalog and select the Gtag destination, then Settings. Locate Custom Dimensions and declare the mapping. diff --git a/src/connections/destinations/catalog/help-scout/index.md b/src/connections/destinations/catalog/help-scout/index.md index 0ea73e7071..c4733f3315 100644 --- a/src/connections/destinations/catalog/help-scout/index.md +++ b/src/connections/destinations/catalog/help-scout/index.md @@ -32,7 +32,7 @@ If you're not familiar with the Segment Specs, take a look to understand what th You can use the Identify call to create or update customers in your Help Scout account. -Help Scout requires a `name` and an `email` to complete the request. You can set the userId as the `email`, although this is [not recommended](/docs/connections/spec/identify/#user-id). You can also specify `firstName` and `lastName` traits instead of a single `name` trait. You can learn more about which properties Help Scout accepts [here](https://developer.helpscout.com/mailbox-api/endpoints/customers/create/){:target="_blank"}. +Help Scout requires a `name` and an `email` to complete the request. You can set the userId as the `email`, although this is [not recommended](/docs/connections/spec/identify/#user-id). You can also specify `firstName` and `lastName` traits instead of a single `name` trait. You can learn more about which properties Help Scout accepts in their [Create Customer](https://developer.helpscout.com/mailbox-api/endpoints/customers/create/){:target="_blank"} documentation. > info "" > This destination doesn't allow you to send custom properties to Help Scout. Use [Destination Functions](/docs/connections/functions/destination-functions/#create-a-destination-function) to send any non-standard properties to Help Scout. diff --git a/src/connections/destinations/catalog/impact/index.md b/src/connections/destinations/catalog/impact/index.md index a02613f7e0..003ba52a09 100644 --- a/src/connections/destinations/catalog/impact/index.md +++ b/src/connections/destinations/catalog/impact/index.md @@ -58,9 +58,9 @@ To track events from mobile, you will need to map your mobile event codes in Imp ### Property Mappings -Once you have established Action Tracker / Mobile Event code mappings, we will perform the following data translations laid out in the tables below. Review these carefully as you may need to add some properties to your Segment events to conform to Impact's API requirements. You can learn more about our spec'd event properties [here](/docs/connections/spec/common/). +Once you have established Action Tracker / Mobile Event code mappings, Segment will perform the following data translations laid out in the tables below. Review these carefully as you may need to add some properties to your Segment events to conform to Impact's API requirements. You can learn more about Segment's spec'd event properties in the [Spec: Common](/docs/connections/spec/common/) documentation. -**Note:** Some of the properties listed below are documented as properties of our [Order Completed](/docs/connections/spec/ecommerce/v2/#order-completed) event specification. You do not need to use our Order Completed event to use this integration but you may need to add some of the properties that are traditionally included in that event "type" to the events that you would like to integrate with Impact. +**Note:** Some of the properties listed below are documented as properties of the [Order Completed](/docs/connections/spec/ecommerce/v2/#order-completed) event specification. You do not need to use the Order Completed event to use this integration but you may need to add some of the properties that are traditionally included in that event "type" to the events that you would like to integrate with Impact. #### Mobile Sources diff --git a/src/connections/destinations/catalog/iterable/index.md b/src/connections/destinations/catalog/iterable/index.md index 4c623f9f2d..184370258f 100644 --- a/src/connections/destinations/catalog/iterable/index.md +++ b/src/connections/destinations/catalog/iterable/index.md @@ -73,7 +73,7 @@ First `track` event with `userId` and `email`; user will be created Subsequent `track` with `userId` > info "" -> If you send an ISO formatted date field in your events, Segment converts it into UTC to conform to standard Iterable format: `yyyy-MM-dd HH:mm:ss ZZ` (for example, `2023-02-05 20:42:10 +00:00`). Iterable has a specific date format that must be used to segment a field by date. Read more about Iterable date field [here](https://support.iterable.com/hc/en-us/articles/208183076-Data-Field-Types-in-Iterable#date){:target="_blank"}. +> If you send an ISO formatted date field in your events, Segment converts it into UTC to conform to standard Iterable format: `yyyy-MM-dd HH:mm:ss ZZ` (for example, `2023-02-05 20:42:10 +00:00`). Iterable has a specific date format that must be used to segment a field by date. Read more about Iterable date field in the [Field Data Types](https://support.iterable.com/hc/en-us/articles/208183076-Data-Field-Types-in-Iterable#date){:target="_blank"} documentation. ### Ecommerce @@ -229,6 +229,6 @@ Segment sends an `identify` or `track` call for each email address on the user's ### Are you able to update a user's email through Iterable? -Updating a user's email in Iterable is currently not possible via Segment. You will have to call updateEmail outside of Segment if you want to be able to do so: Updating a user's email address cannot be achieved with the standard Segment identify call alone. It requires sending an Update Email Request directly to the Iterable API from outside the Segment platform. +Updating a user's email in Iterable is currently not possible with Segment. You will have to call updateEmail outside of Segment if you want to be able to do so: Updating a user's email address cannot be achieved with the standard Segment identify call alone. It requires sending an Update Email Request directly to the Iterable API from outside the Segment platform. -The API request outlined [here](https://api.iterable.com/api/docs#users_updateEmail). This needs to be followed in order to ensure Iterable has the correct email address for any users who have updated their email address. A workaround to update an email in Iterable from Segment would be to hit that API endpoint using a destination function. +The API request outlined in Iterable's [Update user email](https://api.iterable.com/api/docs#users_updateEmail){:target="_blank"} docs. This needs to be followed in order to ensure Iterable has the correct email address for any users who have updated their email address. A workaround to update an email in Iterable from Segment would be to hit that API endpoint using a destination function. diff --git a/src/connections/destinations/catalog/kahuna/index.md b/src/connections/destinations/catalog/kahuna/index.md index 5fa8ef54b0..a4823a77bf 100644 --- a/src/connections/destinations/catalog/kahuna/index.md +++ b/src/connections/destinations/catalog/kahuna/index.md @@ -38,7 +38,7 @@ compile ('com.kahuna.integration.android.segment:kahuna:+') { } ``` -Then, bundle Kahuna during your Segment Analytics initialization, with more details [here](/docs/connections/sources/catalog/libraries/mobile/android/#bundling-integrations): +Then, bundle Kahuna during your Segment Analytics initialization, with more details in the Segment [Android source documentation](/docs/connections/sources/catalog/libraries/mobile/android/#bundling-integrations): ```java Analytics analytics = new Analytics.Builder(this, "SEGMENT_KEY") @@ -54,7 +54,7 @@ Add the Kahuna pod dependency: pod "Segment-Kahuna ``` -Then, bundle Kahuna during your Segment Analytics initialization, with more details [here](/docs/connections/sources/catalog/libraries/mobile/ios/#bundling-integrations): +Then, bundle Kahuna during your Segment Analytics initialization, with more details in Segment's [iOS source documentation](/docs/connections/sources/catalog/libraries/mobile/ios/#bundling-integrations): ```objc #import diff --git a/src/connections/destinations/catalog/kustomer/index.md b/src/connections/destinations/catalog/kustomer/index.md index f316128aa6..a9e5b6ebe8 100644 --- a/src/connections/destinations/catalog/kustomer/index.md +++ b/src/connections/destinations/catalog/kustomer/index.md @@ -32,7 +32,7 @@ analytics.page('Pricing', { }); ``` -Page calls will sent as a `tracking event` to Kustomer on the timeline of the customer who was tracked. If the `kustomer_session_id` is included, it will cluster this tracking event into a single "session" on the customer's timeline. If no `kustomer_session_id` is supplied, we will automatically generate session IDs based on time between tracking events. (Read why Segment doesn't have session tracking [here](https://segment.com/blog/facts-vs-stories-why-segment-has-no-sessions-api/){:target="_blank”}). +Page calls will sent as a `tracking event` to Kustomer on the timeline of the customer who was tracked. If the `kustomer_session_id` is included, it will cluster this tracking event into a single "session" on the customer's timeline. If no `kustomer_session_id` is supplied, we will automatically generate session IDs based on time between tracking events. (Read why Segment doesn't have session tracking [on the Segment blog](https://segment.com/blog/facts-vs-stories-why-segment-has-no-sessions-api/){:target="_blank”}). ## Screen @@ -44,7 +44,7 @@ If you're not familiar with the Segment Specs, take a look to understand what th properties:@{ @"kustomer_session_id": @"abc123" }]; ``` -Screen calls will sent as a `tracking event` to Kustomer on the timeline of the customer who was tracked. If the `kustomer_session_id` is included, it will cluster this tracking event into a single "session" on the customer's timeline. If no `kustomer_session_id` is supplied, we will automatically generate session IDs based on time between tracking events. (Read why Segment doesn't have session tracking [here](https://segment.com/blog/facts-vs-stories-why-segment-has-no-sessions-api/){:target="_blank”}). +Screen calls will sent as a `tracking event` to Kustomer on the timeline of the customer who was tracked. If the `kustomer_session_id` is included, it will cluster this tracking event into a single "session" on the customer's timeline. If no `kustomer_session_id` is supplied, we will automatically generate session IDs based on time between tracking events. (Read why Segment doesn't have session tracking [on the Segment blog](https://segment.com/blog/facts-vs-stories-why-segment-has-no-sessions-api/){:target="_blank”}). ## Identify diff --git a/src/connections/destinations/catalog/leanplum/index.md b/src/connections/destinations/catalog/leanplum/index.md index 4f7e8288a5..9634a70c30 100644 --- a/src/connections/destinations/catalog/leanplum/index.md +++ b/src/connections/destinations/catalog/leanplum/index.md @@ -32,7 +32,7 @@ CocoaPods is the dependency manager we use for Objective-C projects. If you alre `sudo gem install cocoapods` - For issues with installing CocoaPods, refer [here](https://cocoapods.org/){:target="_blank"} + For issues with installing CocoaPods, refer to the [cocoapods website](https://cocoapods.org/){:target="_blank"} 2. Add a podfile. In your terminal, navigate to your app's directory. Add a podfile to your app by running the following command: @@ -99,7 +99,7 @@ For addition documentation you can also check [Leanplum docs](https://support.le ``` - If you want to use the advanced features of Leanplum, also add the additional permissions, as described [here](https://www.leanplum.com/docs#/setup/android){:target="_blank"}. + If you want to use the advanced features of Leanplum, also add the additional permissions, as described [in Leanplum's Android documentation](https://docs.leanplum.com/reference/android-setup){:target="_blank"}. 4. Add the following lines to your Application or Controller: diff --git a/src/connections/destinations/catalog/localytics/index.md b/src/connections/destinations/catalog/localytics/index.md index 7825f3d1a1..b47fd6e190 100644 --- a/src/connections/destinations/catalog/localytics/index.md +++ b/src/connections/destinations/catalog/localytics/index.md @@ -29,7 +29,7 @@ is not yet supported. [iOS](/docs/connections/sources/catalog/libraries/mobile/ios/)/[Android](/docs/connections/sources/catalog/libraries/mobile/android/) or [React Native](/docs/connections/sources/catalog/libraries/mobile/react-native/)), with the Localytics SDKs [bundled](/docs/connections/spec/mobile-packaging-sdks/) in order to send data to Localytics. You must also add the Maven Localytics repo (since Localytics doesn't publish it on Maven Central). You can see an example of how to add that -[here](https://github.com/segment-integrations/analytics-android-integration-localytics/blob/master/build.gradle#L44){:target="_blank"}. +in the [@segment-integrations/analytics-android-integration-localytics](https://github.com/segment-integrations/analytics-android-integration-localytics/blob/master/build.gradle#L44){:target="_blank"} repository. ## Identify diff --git a/src/connections/destinations/catalog/marketo-v2/index.md b/src/connections/destinations/catalog/marketo-v2/index.md index c920e292d0..c3e01de9a0 100644 --- a/src/connections/destinations/catalog/marketo-v2/index.md +++ b/src/connections/destinations/catalog/marketo-v2/index.md @@ -250,8 +250,8 @@ There are a few necessary steps that have to be taken to migrate from Segment's 1. Your Marketo credentials in your Segment Destination settings need to be updated. Our Marketo Destination used Marketo's SOAP API and Marketo V2 uses Marketo's REST API which requires different credentials. Check out the [Getting Started](/docs/connections/destinations/catalog/marketo-v2/#getting-started) guide for what credentials you'll need. 2. Two custom fields must be created in Marketo: userId and anonymousId. Check out [Getting Started](/docs/connections/destinations/catalog/marketo-v2/#2-you-must-create-a-user-id-and-an-anonymous-id-field-in-marketo) for exact details on how to create these custom fields in Marketo. -3. `Track` calls must be mapped in your Destination settings. Our Marketo Destination sent `track` calls as a Munchkin Visit WebPage event in Marketo. In Marketo V2, we'll send your track calls to your Marketo Custom Activities. Detailed instructions [here](/docs/connections/destinations/catalog/marketo-v2/#track). -4. If there are any custom Lead fields that you'd like sent to Marketo in your `Identify` calls, you must create custom fields in Marketo and add them in your Destination settings. In addition, if you are connecting Marketo V2 in Device-mode, an empty form must be created in Marketo to create and update leads. Detailed instructions [here](/docs/connections/destinations/catalog/marketo-v2/#identify). +3. `Track` calls must be mapped in your Destination settings. Our Marketo Destination sent `track` calls as a Munchkin Visit WebPage event in Marketo. In Marketo V2, we'll send your track calls to your Marketo Custom Activities. Detailed instructions [in the Track section of this page](/docs/connections/destinations/catalog/marketo-v2/#track). +4. If there are any custom Lead fields that you'd like sent to Marketo in your `Identify` calls, you must create custom fields in Marketo and add them in your Destination settings. In addition, if you are connecting Marketo V2 in Device-mode, an empty form must be created in Marketo to create and update leads. Detailed instructions [in the Identify section of this page](/docs/connections/destinations/catalog/marketo-v2/#identify). 5. Update anything in Marketo that rely on the way V1 sends `.track()` events to be triggered by your custom activities. For example, our V1 Marketo destination sent track events as a "Visit Web Page" event with `/event/`. So if you a workflow that is triggered by a "Visit Web Page" event where the web page contains `/event/`, you'll have to swap out the "Visit Web Page" event trigger you have with your Custom Attribute Trigger. In the right side bar, click the "Custom" folder under "Triggers" and select the trigger that you set for your custom activity: ![A screenshot of the Smart List tab in Marketo.](images/cPD4kP65buG+.png) diff --git a/src/connections/destinations/catalog/mixpanel/index.md b/src/connections/destinations/catalog/mixpanel/index.md index ea42425582..05fe21e16c 100644 --- a/src/connections/destinations/catalog/mixpanel/index.md +++ b/src/connections/destinations/catalog/mixpanel/index.md @@ -508,7 +508,7 @@ const insertId = uuidv5(`${messageId}:${projectId}:${eventName}`, MIXPANEL_NAMES If an `ip` property is passed to Mixpanel, the value will be interpreted as the IP address of the request and therefore automatically parsed into Mixpanel geolocation properties (City, Country, Region). After that IP address has been parsed, they will throw out the IP address and only hold onto those resulting geolocation properties. As such, if you want to display an IP address as a property within the Mixpanel UI or within raw data, you will simply want to slightly modify the naming convention for that property. -Instead of `ip`, you can use a property name of `user IP` or `IP Address` (whatever is most clear for your implementation). This way, Mixpanel won't automatically interpret the IP address as an IP address, and instead store that value as a property on the event. You can read more [here](https://mixpanel.com/help/reference/http#tracking-events){:target="_blank"}. +Instead of `ip`, you can use a property name of `user IP` or `IP Address` (whatever is most clear for your implementation). This way, Mixpanel won't automatically interpret the IP address as an IP address, and instead store that value as a property on the event. You can read more in Mixpanel's [Import Events](https://mixpanel.com/help/reference/http#tracking-events){:target="_blank"} documentation. ### Bypass "Last Seen" in Server-side Calls @@ -550,7 +550,7 @@ In-app notifications are only available for projects either bundling the Segment Segment supports Mixpanel push notifications automatically using the [didRegisterForRemoteNotificationsWithDeviceToken method](/docs/connections/sources/catalog/libraries/mobile/ios/#how-do-i-use-push-notifications). -For *in-app* notifications and surveys, follow the Mixpanel documentation [here](https://developer.mixpanel.com/docs/swift#in-app-messages){:target="_blank"}. Use the native functionality to control when to show an in-app message by following the instructions [here](/docs/connections/sources/catalog/libraries/mobile/ios/#what-if-your-sdk-doesnt-support-feature-x) and calling the native Mixpanel methods. +For *in-app* notifications and surveys, follow the Mixpanel documentation for [Swift](https://developer.mixpanel.com/docs/swift#in-app-messages){:target="_blank"}. Use the native functionality to control when to show an in-app message by following the instructions in Segment's [iOS](/docs/connections/sources/catalog/libraries/mobile/ios/#what-if-your-sdk-doesnt-support-feature-x) documentation by and calling the native Mixpanel methods. #### Cloud Connection Mode (Unbundled/ Server-side) diff --git a/src/connections/destinations/catalog/nielsen-dtvr/index.md b/src/connections/destinations/catalog/nielsen-dtvr/index.md index 870d8cc0bb..e3a9051025 100644 --- a/src/connections/destinations/catalog/nielsen-dtvr/index.md +++ b/src/connections/destinations/catalog/nielsen-dtvr/index.md @@ -21,14 +21,14 @@ you fill out your company info and have a Nielsen representative before getting started. You must also go through the pre-certification process as outlined -[here](https://engineeringportal.nielsen.com/docs/DCR_Pre-Certification_Checklist){:target="_blank"} +in Nielsen's [App Pre-Certification Checklist](https://engineeringportal.nielsen.com/docs/DCR_Pre-Certification_Checklist){:target="_blank"} with your Nielsen representative before shipping this implementation to production. ## Mobile To get started with Nielsen-DTVR and Segment, you'll want to first integrate -your mobile app with our [iOS](/docs/connections/sources/catalog/libraries/mobile/ios/) or +your mobile app with Segment's [iOS](/docs/connections/sources/catalog/libraries/mobile/ios/) or [Android](/docs/connections/sources/catalog/libraries/mobile/android/) sources. ### iOS diff --git a/src/connections/destinations/catalog/optimizely-full-stack/index.md b/src/connections/destinations/catalog/optimizely-full-stack/index.md index d623079c43..05935e4c9f 100644 --- a/src/connections/destinations/catalog/optimizely-full-stack/index.md +++ b/src/connections/destinations/catalog/optimizely-full-stack/index.md @@ -42,7 +42,7 @@ This requires that customers include a native Optimizely implementation before t If you are using Optimizely SDKs v3+, [Easy Event Tracking](https://blog.optimizely.com/2019/02/26/introducing-easy-event-tracking-the-easier-way-to-understand-and-optimize-the-customer-journey/){:target="_blank"} is enabled by default for decision events. Set up does not require maintaining the attributes of a user as long as the user id stays the same between Optimizely `activate` and `isFeatureEnabled` calls and Segment `track` calls to have Optimizely `metrics` populated in the Optimizely results page. If you would like to segment your Optimizely results by user `attribute`, then make sure the `attributes` passed in for the `activate` and `isFeatureEnabled` calls match the `attributes` passed in for the `track` calls for that user id. -For more details on how events are attributed on the Optimizely results page, refer to their documentation [here](https://help.optimizely.com/Analyze_Results/How_Optimizely_counts_conversions){:target="_blank"}. +For more details on how events are attributed on the Optimizely results page, refer to their documentation [How Optimzely Experimentation counts conversions](https://support.optimizely.com/hc/en-us/articles/19888476989325-How-Optimizely-Experimentation-counts-conversions){:target="_blank"}. ### Track @@ -84,7 +84,7 @@ When implementing Optimizely Full Stack using cloud-mode, Segment will map `trac If you are using Optimizely SDKs v3+, [Easy Event Tracking](https://blog.optimizely.com/2019/02/26/introducing-easy-event-tracking-the-easier-way-to-understand-and-optimize-the-customer-journey/){:target="_blank"} is enabled by default for decision events. Set up does not require maintaining the attributes of a user as long as the user id stays the same between Optimizely `activate` and `isFeatureEnabled` calls and Segment `track` calls to have Optimizely `metrics` populated in the Optimizely results page. If you would like to segment your Optimizely results by user `attribute`, then make sure the `attributes` passed in for the `activate` and `isFeatureEnabled` calls match the `attributes` passed in for the `track` calls for that user id. -For more details on how events are attributed on the Optimizely results page, refer to their documentation [here](https://help.optimizely.com/Analyze_Results/How_Optimizely_counts_conversions){:target="_blank"}. +For more details on how events are attributed on the Optimizely results page, refer to their documentation [How Optimzely Experimentation counts conversions](https://support.optimizely.com/hc/en-us/articles/19888476989325-How-Optimizely-Experimentation-counts-conversions){:target="_blank"}. ### Track @@ -132,7 +132,7 @@ When implementing Optimizely using cloud-mode, Segment will map `track` events t If you are using Optimizely SDKs v3+, [Easy Event Tracking](https://blog.optimizely.com/2019/02/26/introducing-easy-event-tracking-the-easier-way-to-understand-and-optimize-the-customer-journey/){:target="_blank"} is enabled by default for decision events. Set up does not require maintaining the attributes of a user as long as the user id stays the same between Optimizely `activate` and `isFeatureEnabled` calls and Segment `track` calls to have Optimizely `metrics` populated in the Optimizely results page. If you would like to segment your Optimizely results by user `attribute`, then make sure the `attributes` passed in for the `activate` and `isFeatureEnabled` calls match the `attributes` passed in for the `track` calls for that user id. -For more details on how events are attributed on the Optimizely results page, refer to their documentation [here](https://help.optimizely.com/Analyze_Results/How_Optimizely_counts_conversions){:target="_blank"}. +For more details on how events are attributed on the Optimizely results page, refer to their documentation [How Optimzely Experimentation counts conversions](https://support.optimizely.com/hc/en-us/articles/19888476989325-How-Optimizely-Experimentation-counts-conversions){:target="_blank"}. ### Track diff --git a/src/connections/destinations/catalog/optimizely-web/index.md b/src/connections/destinations/catalog/optimizely-web/index.md index d6b37d2477..be975ab0f2 100644 --- a/src/connections/destinations/catalog/optimizely-web/index.md +++ b/src/connections/destinations/catalog/optimizely-web/index.md @@ -50,7 +50,7 @@ Behind the scenes, Segment's Optimizely Web destination creates a global Optimiz Segment forwards the event to Optimizely: * If the Segment event name matches exactly the name of an active experiment `metric` set up in the Optimizely dashboard; * If the experiment `metric` is associated with a running experiment; -* If the current user has been assigned a `userId` using Segment's `identify` method (e.g. `analytics.identify('123')`); +* If the current user has been assigned a `userId` using Segment's `identify` method (for example, `analytics.identify('123')`); * If the current user is activated in a running experiment with the associated `metric`. Segment also handles the following mapping: @@ -64,7 +64,7 @@ Segment also handles the following mapping: ### Page -Segment maps `page` calls to its own `track` events, i.e. invoking `analytics.page('Page Viewed')` using Segment's API maps the event to a `analytics.track('Page Viewed')` event. Segment maps the `track` event to other downstream destinations like a regular Segment `track` event. +Segment maps `page` calls to its own `track` events. For example, invoking `analytics.page('Page Viewed')` using Segment's API maps the event to a `analytics.track('Page Viewed')` event. Segment maps the `track` event to other downstream destinations like a regular Segment `track` event. ### Experiment Listeners @@ -136,7 +136,7 @@ This appends an additional property in your "Experiment Viewed" events called `n If you're sending your experiment data to Google Analytics in the form of `track` calls, Segment recommends creating hit-scoped custom dimensions in Google Analytics with titles like "Experiment Name" and "Variation Name," and then map the properties to those Custom Dimensions accordingly. For example, if you set Custom Dimension 5 to "Experiment Name" and Custom Dimension 1 to "Variation Name," here's how you'd configure the mappings in your Segment<>GA settings: - ![A screenshot of the Custom Dimensions tab of Optimzely.](images/customdimensions.png) + ![A screenshot of the Custom Dimensions tab of Optimizely.](images/customdimensions.png) ## Optimizely Full Stack (JavaScript SDK) @@ -154,14 +154,13 @@ If you're sending your experiment data to Google Analytics in the form of `track If you are using Optimizely SDKs v3+ or the React SDK, [Easy Event Tracking](https://blog.optimizely.com/2019/02/26/introducing-easy-event-tracking-the-easier-way-to-understand-and-optimize-the-customer-journey/){:target="_blank"} is enabled by default for decision events. Set up does not require maintaining the attributes of a user as long as the user id stays the same between Optimizely `activate` and `isFeatureEnabled` calls and Segment `track` calls to have Optimizely `metrics` populated in the Optimizely results page. If you would like to segment your Optimizely results by user `attribute`, then make sure the `attributes` passed in for the `activate` and `isFeatureEnabled` calls match the `attributes` passed in for the `track` calls for that user id. -For more details on how events are attributed on the Optimizely results page, refer to their documentation [here](https://help.optimizely.com/Analyze_Results/How_Optimizely_counts_conversions){:target="_blank"}. - +For more details on how events are attributed on the Optimizely results page, refer to their documentation [How Optimizely Experimentation counts conversions](https://support.optimizely.com/hc/en-us/articles/19888476989325-How-Optimizely-Experimentation-counts-conversions){:target="_blank"}. ### Track Upon invocation of a Segment `track` event, Segment maps the event to an Optimizely `track` event: * If the Segment event name matches exactly the name of an active experiment `metric` set up in the Optimizely dashboard; * If the experiment `metric` is associated with a running experiment; -* If the current user has been assigned a `userId` using Segment's `identify` method (e.g. `analytics.identify('123')`); +* If the current user has been assigned a `userId` using Segment's `identify` method (for example, `analytics.identify('123')`); * If the current user is activated in a running experiment with the associated `metric`. Segment also handles the following mapping: @@ -175,7 +174,7 @@ Segment also handles the following mapping: ### Page -Segment maps `page` calls to its own `track` events, i.e. invoking `analytics.page("Page Viewed")` using Segment's API maps the event to `analytics.track("Page Viewed")`. Segment maps the `track` event downstream to other destinations like a regular Segment `track` event. +Segment maps `page` calls to its own `track` events. For example, invoking `analytics.page("Page Viewed")` using Segment's API maps the event to `analytics.track("Page Viewed")`. Segment maps the `track` event downstream to other destinations like a regular Segment `track` event. ### Experiment Listeners From 96cf387c5f18e15f00d2e9483a626d8c843e5f6c Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Fri, 9 Aug 2024 11:39:50 -0400 Subject: [PATCH 2/4] CSB no longer operating --- .../catalog/customersuccessbox/index.md | 93 ------------------- 1 file changed, 93 deletions(-) delete mode 100644 src/connections/destinations/catalog/customersuccessbox/index.md diff --git a/src/connections/destinations/catalog/customersuccessbox/index.md b/src/connections/destinations/catalog/customersuccessbox/index.md deleted file mode 100644 index 8413dd7e0c..0000000000 --- a/src/connections/destinations/catalog/customersuccessbox/index.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: CustomerSuccessBox Destination -rewrite: true -id: 5c9ce8b88171a10001f9eefa ---- -[CustomerSuccessBox](https://customersuccessbox.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} is Outcome Driven Customer Success software, which helps maximize retention, drive product adoption and grow revenue for your B2B SaaS - -This destination is maintained by CustomerSuccessBox. For any issues with the destination, [contact the CustomerSuccessBox Support team](mailto:support@customersuccessbox.com). - -## Getting Started - - - - -### Adding Destination - -1. From the Segment web app, click **Catalog**. -2. Search for "CustomerSuccessBox" in the Catalog, select it, and choose which of your sources to connect the destination to. -3. Copy "API key for POST request" from under "Settings (Gear icon) > Developer Console > API Key tab" in your CustomerSuccessBox. -4. Fill "API key for POST request" as "API Key" for CustomerSuccessBox Destination app in Segment UI - -## Identify - -Send **account_id** and **user_id** in **traits** of an identify call to set and update the traits of a unique user belonging to a unique Account. - -To learn more about user traits that are supported (including custom traits), check **User traits** section in the [CustomerSuccessBox documentation](https://support.customersuccessbox.com/article/77-customersuccessbox-destination-on-segment-com){:target="_blank”}. - -If you're not familiar with the Segment Specs, take a look to understand what the [Identify method](/docs/connections/spec/identify/) does. An example call would look like: - -``` -analytics.identify('userID123', { - account_id: '12345678', - user_id: 'john.doe@company.com' -}); -``` - -Identify calls will be sent to CustomerSuccessBox as an `identify` event. - - -## Track - -Send **account_id** and **user_id** in properties of a track call to attribute the event to a unique user belonging to a unique Account. - -You can also pass **product_id** and **module_id** in properties of a track call to define a module and product for the event. To learn more, check **Understanding Product Usage** section [in CustomerSuccessBox's documentation](https://support.customersuccessbox.com/article/70-getting-started-with-customersuccessbox){:target="_blank”}. - -If you're not familiar with the Segment Specs, take a look to understand what the [Track method](/docs/connections/spec/track/) does. An example call would look like: - -``` -analytics.track('Order Received', { - cost: "$120.00", - account_id: '12345678', - user_id: 'john.doe@company.com' -}); -``` - -Track calls will be sent to CustomerSuccessBox as a `track` event. - - -## Group - -Send **account_id** in traits of a group call to set and update the traits of a unique Account. - -To learn more about account traits that are supported (including custom traits), check **Account traits** section from [in CustomerSuccessBox's documentation](https://support.customersuccessbox.com/article/77-customersuccessbox-destination-on-segment-com){:target="_blank”}. - -If you're not familiar with the Segment Specs, take a look to understand what the [Group method](/docs/connections/spec/group/) does. An example call would look like: - -``` -analytics.group('accountId123', { - account_id: '12345678', - name: "ABC Group" -}); -``` - -Group calls will be sent to CustomerSuccessBox as an `account`event. - -## Page - -Send **account_id** and **user_id** in properties of a page call to attribute the pageview to a unique user belonging to a unique Account. . - -If you're not familiar with the Segment Specs, take a look to understand what the [Page method](/docs/connections/spec/page/) does. An example call would look like: - -``` -analytics.page('orders', { -title: "My Orders", -... -account_id: '12345678', //CustomerSuccessBox Account identifier -user_id: 'john.doe@company.com' //CustomerSuccessBox User identifier -}); -``` - -Page calls will be sent to CustomerSuccessBox as an `page` event. - ---- From 80bb4da3b6445bc412bbef727c299e59708c0911 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Fri, 9 Aug 2024 19:07:44 -0400 Subject: [PATCH 3/4] batch 2 the future --- .../destinations/catalog/parsely/index.md | 16 ++++++++-------- .../destinations/catalog/pinterest-tag/index.md | 2 +- .../catalog/quora-conversion-pixel/index.md | 2 +- .../destinations/catalog/responsys/index.md | 2 +- .../destinations/catalog/salesforce-dmp/index.md | 4 ++-- .../catalog/salesforce-live-agent/index.md | 2 +- .../destinations/catalog/slack/index.md | 2 -- .../destinations/catalog/snapengage/index.md | 2 +- .../destinations/catalog/sprig-cloud/index.md | 2 +- .../destinations/catalog/sprig-web/index.md | 2 +- .../destinations/catalog/startdeliver/index.md | 2 +- .../destinations/catalog/swrve/index.md | 4 ++-- .../destinations/catalog/userlike/index.md | 2 +- .../destinations/catalog/webengage/index.md | 2 +- .../destinations/catalog/wigzo/index.md | 2 +- .../destinations/catalog/zopim/index.md | 2 +- src/connections/functions/environment.md | 2 +- src/connections/reverse-etl/index.md | 2 +- .../cloud-apps/facebook-lead-ads/index.md | 4 ++-- .../catalog/cloud-apps/google-ads/index.md | 2 +- .../catalog/cloud-apps/gwen-webhooks/index.md | 2 +- .../sources/catalog/cloud-apps/hubspot/index.md | 2 +- .../catalog/libraries/mobile/amp/index.md | 6 +++--- .../apple/destination-plugins/adjust-swift.md | 8 ++++---- .../apple/destination-plugins/adobe-swift.md | 2 +- .../apple/destination-plugins/appsflyer-swift.md | 2 +- .../apple/destination-plugins/braze-swift.md | 2 +- .../apple/destination-plugins/firebase-swift.md | 2 +- .../apple/destination-plugins/mixpanel-swift.md | 4 ++-- .../destination-plugins/nielsen-dtvr-swift.md | 2 +- .../catalog/libraries/mobile/apple/index.md | 2 +- src/connections/sources/visual-tagger.md | 2 +- 32 files changed, 47 insertions(+), 49 deletions(-) diff --git a/src/connections/destinations/catalog/parsely/index.md b/src/connections/destinations/catalog/parsely/index.md index ee81074f33..d16a93a13e 100644 --- a/src/connections/destinations/catalog/parsely/index.md +++ b/src/connections/destinations/catalog/parsely/index.md @@ -19,11 +19,11 @@ When you enable Parse.ly from the Segment web app, your changes appear in the Se Remember to remove the Parse.ly native snippet from your page. -Parsely is more useful when you implement JSON-LD metadata across your website as described [here](https://www.parse.ly/help/integration/basic){:target="_blank"}. +Parsely is more useful when you implement JSON-LD metadata across your website as described in Parse.ly's [Metadata: Setup and configuration](https://docs.parse.ly/metadata/){:target="_blank"} documentation. ## Page -By default, unless you are using [Dynamic Tracking](https://www.parse.ly/help/integration/dynamic/){:target="_blank"}, Parse.ly automatically tracks pageviews in the background, so you do not need to track them separately with Segment's Page method. +By default, unless you are using [Dynamic Tracking](https://docs.parse.ly/gtm-dynamic-tracking/){:target="_blank"}, Parse.ly automatically tracks pageviews in the background, so you do not need to track them separately with Segment's Page method. If you are using dynamic tracking, you must explicitly let us know in your [integration settings](#enable-dynamic-tracking). If this setting is enabled, we will disable Parse.ly's autotracking functionality and begin sending their API pageview events only in response to `analytics.page()` events. @@ -80,11 +80,11 @@ analytics.alias("507f191e81"); ``` -### Mapping custom properties to semantic Parsely properties +### Mapping custom properties to semantic Parse.ly properties -If you'd like to map certain semantic Parse.ly properties to your own custom properties (ones that do not abide by our [page spec](/docs/connections/spec/page), you can define your mappings in your Segment destination settings! You can put the name of your Segment property on the left and the Parse.ly property on the right hand side. +If you'd like to map certain semantic Parse.ly properties to your own custom properties (ones that do not abide by Segment's [Page spec](/docs/connections/spec/page)), you can define your mappings in your Segment destination settings. You can put the name of your Segment property on the left and the Parse.ly property on the right hand side. -We currently support mapping the following Parse.ly properties (make sure you spell these correctly on the right hand side of this setting!): +Segment supports mapping the following Parse.ly properties (make sure you spell these correctly on the right hand side of this setting.): * `articleSection` * `thumbnailUrl` @@ -99,11 +99,11 @@ We currently support mapping the following Parse.ly properties (make sure you sp ### Video Content Started -When a user starts playback of a video, you should use our [Video Content Started](/docs/connections/spec/video/#content-events) event. We will map the properties from the Video Content Started event to the following Parse.ly video metadata fields: +When a user starts playback of a video, you should use Segment's [Video Content Started](/docs/connections/spec/video/#content-events) event. Segment maps the properties from the Video Content Started event to the following Parse.ly video metadata fields: - + @@ -176,7 +176,7 @@ When a user pauses playback of a video, you should use our [Video Playback Pause ### Video Playback Interrupted -When a playback of a video is interrupted, you should use our [Video Playback Interrupted](/docs/connections/spec/video/#playback-events) event. This event just takes an `assetId` and maps to Parse.ly's `reset` method (documentation [here](https://www.parse.ly/help/integration/video_v2/){:target="_blank"}). +When a playback of a video is interrupted, you should use our [Video Playback Interrupted](/docs/connections/spec/video/#playback-events) event. This event just takes an `assetId` and maps to Parse.ly's `reset` method (documented in the Parse.ly [Video Tracking](https://docs.parse.ly/parse-ly-video-tracking/){:target="_blank"} documentation). **Note:** this event is only relevant for web tracking. Our server side integration does not support this event. diff --git a/src/connections/destinations/catalog/pinterest-tag/index.md b/src/connections/destinations/catalog/pinterest-tag/index.md index a4edb7ec33..cd36eda876 100644 --- a/src/connections/destinations/catalog/pinterest-tag/index.md +++ b/src/connections/destinations/catalog/pinterest-tag/index.md @@ -12,7 +12,7 @@ Here's how you can get started with using the Pinterest Tag! ### **1. Log into the Pinterest business account.** -In order to access the Pinterest Tag, you will need to have a Pinterest business account. If you don't yet have one, sign up for one [here](https://ads.pinterest.com/){:target="_blank"}. +In order to access the Pinterest Tag, you will need to have a Pinterest business account. If you don't yet have one, sign up for one [on Pinterest's website](https://ads.pinterest.com/){:target="_blank"}. ### **2. From the Ads menu, select Conversions.** diff --git a/src/connections/destinations/catalog/quora-conversion-pixel/index.md b/src/connections/destinations/catalog/quora-conversion-pixel/index.md index c94e26856e..e63c492aac 100644 --- a/src/connections/destinations/catalog/quora-conversion-pixel/index.md +++ b/src/connections/destinations/catalog/quora-conversion-pixel/index.md @@ -3,7 +3,7 @@ rewrite: true title: Quora Conversion Pixel Destination id: 5952698570a3e552b9575519 --- -[Quora Conversion Pixel](https://www.quora.com/business){:target="_blank"} enables you to attribute downstream user actions on your website to your ad campaigns running on Quora.com. Our client-side Destination code is open source. You can browse the code in GitHub [here](https://github.com/segmentio/analytics.js-integrations/tree/master/integrations/quora-conversion-pixel){:target="_blank"}. +[Quora Conversion Pixel](https://www.quora.com/business){:target="_blank"} enables you to attribute downstream user actions on your website to your ad campaigns running on Quora.com. Our client-side Destination code is open source. You can browse the code in the [@segmentio/analytics.js-integrations](https://github.com/segmentio/analytics.js-integrations/tree/master/integrations/quora-conversion-pixel){:target="_blank"} GitHub repository. ## Getting Started diff --git a/src/connections/destinations/catalog/responsys/index.md b/src/connections/destinations/catalog/responsys/index.md index 0e9bc402fc..d0dbf94efe 100644 --- a/src/connections/destinations/catalog/responsys/index.md +++ b/src/connections/destinations/catalog/responsys/index.md @@ -42,7 +42,7 @@ _NOTE_: You can find your account's endpoint by simply going to your Oracle Resp 3. Enter the name of the default **Folder** you'd like to send your Segment data to. Don't worry, you can override the default folder name on a per-call basis using destination specific options for [`.identify()`](#overriding-default-folder-and-list-names). -4. Enter the name of your default **Profile List** where you would like to store your `.identify()` calls. Again, this can be overriden using destination specific options on a per-call basis as seen [here](#overriding-default-folder-and-list-names). +4. Enter the name of your default **Profile List** where you would like to store your `.identify()` calls. Again, this can be overriden using destination specific options on a per-call basis as seen in the [Overriding default folder and list names](#overriding-default-folder-and-list-names) section. 5. Choose whether you'd like to set your **Default Permission Status** to be `OPTIN` or `OPTOUT`. Unless configured otherwise, the default will be `OPTOUT`. diff --git a/src/connections/destinations/catalog/salesforce-dmp/index.md b/src/connections/destinations/catalog/salesforce-dmp/index.md index ebcb04fab4..9fadc817e9 100644 --- a/src/connections/destinations/catalog/salesforce-dmp/index.md +++ b/src/connections/destinations/catalog/salesforce-dmp/index.md @@ -51,8 +51,8 @@ If you don't provide a `namespace` Segment can't pass events downstream to SFDMP ### Setting up for a Server-Side Implementation 6. To set up SFDMP for a server-side connection, enter your SFDMP `Server-side - Publisher UUID`. To locate this, we recommend that you contact your SFDMP representative. Helpful documentation can be found - [here](https://konsole.zendesk.com/hc/en-us/articles/219493027-Mobile-HTTP-API){:target="_blank"}. + Publisher UUID`. To locate this, Segment recommends that you contact your SFDMP representative. Helpful documentation can be found + [in the Salesforce Audience Studio Help Center](https://konsole.zendesk.com/hc/en-us/articles/219493027-Mobile-HTTP-API){:target="_blank"}. 7. Once you've retrieved your `Server-side Publisher UUID`, follow the instructions in the Segment SFDMP settings to enter your `Pixel.gif Domain`, `Pixel.gif Site` and, optionally, your `Pixel.gif Section` in the correct diff --git a/src/connections/destinations/catalog/salesforce-live-agent/index.md b/src/connections/destinations/catalog/salesforce-live-agent/index.md index 2b38d01461..0f79d1e3fd 100644 --- a/src/connections/destinations/catalog/salesforce-live-agent/index.md +++ b/src/connections/destinations/catalog/salesforce-live-agent/index.md @@ -34,7 +34,7 @@ In short, **our integration cannot proactively initialize the Live Agent SDK on ## Initialization In order to begin using the Salesforce Live Agent using Segment, follow these implementation guidelines. -1. On any page where you are not collecting user information, but do want to interact with the Salesforce Live Agent API (to achieve some of the functionality outlined [here](https://developer.salesforce.com/docs/atlas.en-us.live_agent_dev.meta/live_agent_dev/live_agent_chat_buttons_API.htm){:target="_blank"} for example), you must implement all the Live Agent SDK functionality natively **except** the actual loading of their `deployment.js` JavaScript library (the first line of the sample deployment code shown earlier). This will always be handled by Segment anywhere you are loading our JavaScript SDK. +1. On any page where you are not collecting user information, but do want to interact with the Salesforce Live Agent API (to achieve some of the functionality outlined in Salesforce's [Customize Chat Buttons with the Deployment APIs](https://developer.salesforce.com/docs/atlas.en-us.live_agent_dev.meta/live_agent_dev/live_agent_chat_buttons_API.htm){:target="_blank"} documentation, for example), you must implement all the Live Agent SDK functionality natively **except** the actual loading of their `deployment.js` JavaScript library (the first line of the sample deployment code shown earlier). This will always be handled by Segment anywhere you are loading our JavaScript SDK. 2. On any page where you *are* collecting user information (using some kind of pre-chat form for example) that you would like to pass to Salesforce and/or your chat agent after the user completes the form, you must ensure you **do not** call `liveagent.init` natively **anywhere on the page** and ensure that you do invoke a properly formatted Identify event, Group event (this is optional), and finally a Live Chat Conversation Started event **in that order**. ## Identify diff --git a/src/connections/destinations/catalog/slack/index.md b/src/connections/destinations/catalog/slack/index.md index b751a6b42a..961d9353c3 100644 --- a/src/connections/destinations/catalog/slack/index.md +++ b/src/connections/destinations/catalog/slack/index.md @@ -121,8 +121,6 @@ In addition to exact event names, you can also enter regex patterns for channels /[a-zA-Z]+ing$/g ``` -More information on regex can be found [here](http://www.zytrax.com/tech/web/regex.htm){:target="_blank"}. - ## Troubleshooting diff --git a/src/connections/destinations/catalog/snapengage/index.md b/src/connections/destinations/catalog/snapengage/index.md index 110b683979..8e9d9b22c6 100644 --- a/src/connections/destinations/catalog/snapengage/index.md +++ b/src/connections/destinations/catalog/snapengage/index.md @@ -3,7 +3,7 @@ rewrite: true title: SnapEngage Destination id: 54521fdb25e721e32a72eef6 --- -SnapEngage is an enterprise chat software for businesses. It allows you to capture more leads, drive conversions, reduce response times, and increase customer satisfaction. Our SnapEngage destination code is open source - you can check it out [here](https://github.com/segment-integrations/analytics.js-integration-snapengage){:target="_blank"}. +SnapEngage is an enterprise chat software for businesses. It allows you to capture more leads, drive conversions, reduce response times, and increase customer satisfaction. Segment's SnapEngage destination code is open source - you can check it out in the [@segment-integrations/analytics.js-integration-snapengage](https://github.com/segment-integrations/analytics.js-integration-snapengage){:target="_blank"} GitHub repository. ## Getting Started diff --git a/src/connections/destinations/catalog/sprig-cloud/index.md b/src/connections/destinations/catalog/sprig-cloud/index.md index 5d714028a4..120ddd8efd 100644 --- a/src/connections/destinations/catalog/sprig-cloud/index.md +++ b/src/connections/destinations/catalog/sprig-cloud/index.md @@ -24,5 +24,5 @@ Segment placed the Classic destination framework in maintenance mode. Sprig enco 3. Click **Sprig**, then click **Configure Sprig**. 4. Select an existing JavaScript website source to connect to Sprig and click **Next**. 5. Enter a **Destination name**, select **Classic**, and click **Save**. -6. Type in the Environment ID and click Save Changes. You your Environment ID can be found in [Connect > JavaScript](https://app.sprig.com/connect){:target="_blank"}. For for information, click [here](https://docs.sprig.com/docs/products-and-environments#environments){:target="_blank"}. +6. Type in the Environment ID and click Save Changes. You your Environment ID can be found in [Connect > JavaScript](https://app.sprig.com/connect){:target="_blank"}. For for information, see Sprig's [Environments](https://docs.sprig.com/docs/products-and-environments#environments){:target="_blank"} documentation. 7. Select **Enable Destinations** and click **Save Changes**. diff --git a/src/connections/destinations/catalog/sprig-web/index.md b/src/connections/destinations/catalog/sprig-web/index.md index 0ad058c2ef..88c98b9cf1 100644 --- a/src/connections/destinations/catalog/sprig-web/index.md +++ b/src/connections/destinations/catalog/sprig-web/index.md @@ -36,7 +36,7 @@ Sprig Actions provides the following benefits over the Sprig Classic destination 3. Click **Sprig**, then click **Configure Sprig**. 4. Select an existing JavaScript website source to connect to Sprig and click **Next**. 5. Type in a **Destination name**, Select **Actions**, and click **Save**. -6. Type in the Environment ID and click Save Changes. Your Environment ID can be found in [Connect > JavaScript](https://app.sprig.com/connect){:target="_blank"}. For for information, click [here](https://docs.sprig.com/docs/products-and-environments#environments){:target="_blank"}. +6. Type in the Environment ID and click Save Changes. Your Environment ID can be found in [Connect > JavaScript](https://app.sprig.com/connect){:target="_blank"}. For for information, see Sprig's [Environments](https://docs.sprig.com/docs/products-and-environments#environments){:target="_blank"} documentation. 7. Select **Enable Destinations** and click **Save Changes**. diff --git a/src/connections/destinations/catalog/startdeliver/index.md b/src/connections/destinations/catalog/startdeliver/index.md index 08d0858be8..b9c05f5563 100644 --- a/src/connections/destinations/catalog/startdeliver/index.md +++ b/src/connections/destinations/catalog/startdeliver/index.md @@ -17,7 +17,7 @@ Startdeliver maintains this destination. For any issues with the destination, [c 3. Choose which Source should send data to the "Startdeliver" destination. 4. Go to the [API keys](https://app.startdeliver.com/settings/apikeys){:target="_blank"} in your Startdeliver dashboard, generate an API key, make it active and grant it "Admin" permissions. 5. Enter the "API Key" in the "Startdeliver" destination settings in Segment. -6. Create a User custom field you want to match a Segment event on [here](https://app.startdeliver.com/settings/fields){:target="_blank"}. You will need a field's alias at the next step. +6. Create a User custom field you want to match a Segment event on [in the Startdeliver app](https://app.startdeliver.com/settings/fields){:target="_blank"}. You will need a field's alias at the next step. 7. Enter the "Startdeliver user custom field to match on" in the "Startdeliver" destination settings in Segment. diff --git a/src/connections/destinations/catalog/swrve/index.md b/src/connections/destinations/catalog/swrve/index.md index f2fec22107..cbb63cdb73 100644 --- a/src/connections/destinations/catalog/swrve/index.md +++ b/src/connections/destinations/catalog/swrve/index.md @@ -56,7 +56,7 @@ Swrve supports the `identify`, `track` and `screen` methods. ### Integrating Push & A/B Testing -Follow Swrve's push notification documentation [here](https://docs.swrve.com/developer-documentation/integration/android){:target="_blank"}. +Follow [Swrve's push notification documentation](https://docs.swrve.com/developer-documentation/integration/android){:target="_blank"}. ### Integrating In-app Messaging & Conversations @@ -106,7 +106,7 @@ No further action is required to integrate in-app messages or Conversations, whi ### Integrating Push & A/B Testing -Follow Swrve's push notification documentation [here](https://docs.swrve.com/developer-documentation/integration/ios){:target="_blank"}. +Follow [Swrve's push notification documentation](https://docs.swrve.com/developer-documentation/integration/ios){:target="_blank"}. ### Integrating In-app Messaging & Conversations diff --git a/src/connections/destinations/catalog/userlike/index.md b/src/connections/destinations/catalog/userlike/index.md index c493d33326..c3fdffc718 100644 --- a/src/connections/destinations/catalog/userlike/index.md +++ b/src/connections/destinations/catalog/userlike/index.md @@ -5,7 +5,7 @@ hidden: true private: true --- -[Userlike](https://www.userlike.com/en/){:target="_blank"} is B2C live chat software optimized for website and messenger support - it enables real-time analysis, so you can see web visitors and actions taken. Our Userlike destination code is open source and is viewable [here](https://github.com/segment-integrations/analytics.js-integration-userlike){:target="_blank"}. +[Userlike](https://www.userlike.com/en/){:target="_blank"} is B2C live chat software optimized for website and messenger support - it enables real-time analysis, so you can see web visitors and actions taken. Segment's Userlike destination code is open source and is viewable in the [@segment-integrations/analytics.js-integration-userlike](https://github.com/segment-integrations/analytics.js-integration-userlike){:target="_blank"} GitHub repository. ## Getting Started diff --git a/src/connections/destinations/catalog/webengage/index.md b/src/connections/destinations/catalog/webengage/index.md index f113f34a7c..5ef4eac50f 100644 --- a/src/connections/destinations/catalog/webengage/index.md +++ b/src/connections/destinations/catalog/webengage/index.md @@ -8,7 +8,7 @@ This integration is maintained by [WebEngage Support](mailto:support@webengage.c Steps to integrate Segment with WebEngage: -You will be required to provide the API key if you intend on sending any using WebEngage's server-side component. The API key can be found in your WebEngage dashboard on the top right under **Integrations > REST API**. If you don't have a WebEngage account, you can create one [here](https://webengage.com/sign-up){:target="_blank"}. +You will be required to provide the API key if you intend on sending any using WebEngage's server-side component. The API key can be found in your WebEngage dashboard on the top right under **Integrations > REST API**. If you don't have a WebEngage account, you can create one [on the WebEngage site](https://webengage.com/sign-up){:target="_blank"}. To use the client-side web or mobile bundled SDKs, enter your License Code. WebEngage only needs the License Code you want to enable the device/packaged Integration which will allow you to use WebEngage's in-app and push notification functionality. diff --git a/src/connections/destinations/catalog/wigzo/index.md b/src/connections/destinations/catalog/wigzo/index.md index 975f14eec5..e6d5d92bd9 100644 --- a/src/connections/destinations/catalog/wigzo/index.md +++ b/src/connections/destinations/catalog/wigzo/index.md @@ -10,7 +10,7 @@ This destination is maintained by Wigzo. For any issues with the destination, [c ## Getting Started -The first step is to make sure Wigzo supports the source type and connection mode you've chosen to implement. You can learn more about what dictates the connection modes we support [here](/docs/connections/destinations/#connection-modes). +The first step is to make sure Wigzo supports the source type and connection mode you've chosen to implement. You can learn more about what dictates the connection modes Segment supports [in the Destination Overview docs](/docs/connections/destinations/#connection-modes). 1. From the Segment web app, click **Catalog**. 2. Search for "Wigzo" in the Catalog, select it, and choose which of your sources to connect the destination to. diff --git a/src/connections/destinations/catalog/zopim/index.md b/src/connections/destinations/catalog/zopim/index.md index fc547fc78a..edd8bd189b 100644 --- a/src/connections/destinations/catalog/zopim/index.md +++ b/src/connections/destinations/catalog/zopim/index.md @@ -27,7 +27,7 @@ type="text/javascript";e.parentNode.insertBefore($,e)})(document,"script"); ``` -If you are using the `Web Widget` (see example below), **you will need to contact Zendesk Support in order to get your Chat Account ID or you can follow the steps outlined [here](https://support.zendesk.com/hc/en-us/articles/360022366613-How-do-I-find-my-Chat-Account-Key-):** +If you are using the `Web Widget` (see example below), **you will need to contact Zendesk Support in order to get your Chat Account ID or you can follow the steps outlined in Zendesk's [How do I find my Chat Account Key?](https://support.zendesk.com/hc/en-us/articles/360022366613-How-do-I-find-my-Chat-Account-Key-){:target="_blank”} docs:** ```js diff --git a/src/connections/functions/environment.md b/src/connections/functions/environment.md index 3eea9a7e36..4501b28cbb 100644 --- a/src/connections/functions/environment.md +++ b/src/connections/functions/environment.md @@ -113,7 +113,7 @@ Here are some Public API use case examples: **Create or update versions**: Create or update a function to add a version record and save the source code. -**Deploy a function**: Use the Public API to deploy a function. After you deploy, Segment marks the function version as `DEPLOYED`. Learn more about function version states [here](#latest-and-deployed-versions). +**Deploy a function**: Use the Public API to deploy a function. After you deploy, Segment marks the function version as `DEPLOYED`. Learn more about function version states in the [Latest and deployed versions](#latest-and-deployed-versions) section. View Segment's [Public API](https://docs.segmentapis.com/tag/Functions){:target="_blank"} docs for more information on how to use Functions Versioning with the Public API. diff --git a/src/connections/reverse-etl/index.md b/src/connections/reverse-etl/index.md index a747f3c7a3..1597a0c60a 100644 --- a/src/connections/reverse-etl/index.md +++ b/src/connections/reverse-etl/index.md @@ -52,7 +52,7 @@ To add your warehouse as a source: * [Redshift Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup/) * [Snowflake Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup/) 5. Add the account information for your source. - * For Snowflake users: Learn more about the Snowflake Account ID [here](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html){:target="_blank"}. + * For Snowflake users: Learn more about the Snowflake Account ID in Snowflake's [Account identifiers](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html){:target="_blank"} documentation. 5. Click **Test Connection** to test to see if the connection works. 6. Click **Add source** if the test connection is successful. diff --git a/src/connections/sources/catalog/cloud-apps/facebook-lead-ads/index.md b/src/connections/sources/catalog/cloud-apps/facebook-lead-ads/index.md index d9c6e030d4..ee0edf4b49 100644 --- a/src/connections/sources/catalog/cloud-apps/facebook-lead-ads/index.md +++ b/src/connections/sources/catalog/cloud-apps/facebook-lead-ads/index.md @@ -7,7 +7,7 @@ id: ODf0vA6dcH --- {% include content/source-region-unsupported.md %} -Facebook Lead Ads help you capture contact information from people who have expressed interest in your product. Without leaving Facebook's interface, your prospects can now share helpful information with you including work email, name, phone number, and more. Learn more about Facebook Lead Ads [here](https://www.facebook.com/business/news/lead-ads-launch){:target="_blank"}.  +Facebook Lead Ads help you capture contact information from people who have expressed interest in your product. Without leaving Facebook's interface, your prospects can now share helpful information with you including work email, name, phone number, and more. Learn more about Facebook Lead Ads [on Facebook's website](https://www.facebook.com/business/news/lead-ads-launch){:target="_blank"}.  Segment lets you make the most of your leads by automatically sending them to your business tools like CRM and email. Importantly, these destinations allow you to contact customers in real-time using your communication platform of choice, whether you've promised them a demo, a newsletter, a piece of content, or a call from a salesperson. @@ -34,7 +34,7 @@ Use the following permissions to access the page and lead information for enrich - pages_manage_ads - leads_retrieval - ads_management -Learn more about permissions [here](https://developers.facebook.com/docs/marketing-api/guides/lead-ads/retrieving){:target="_blank"}. +Learn more about permissions in Facebook's [Retrieving Leads](https://developers.facebook.com/docs/marketing-api/guides/lead-ads/retrieving){:target="_blank"} documentation. **Use** Leads Access Permissions are required to retrieve leads generated by Facebook Lead Ads. This is the default permissions for most roles. Learn more about permissions by [following this link](https://www.facebook.com/business/help/1440176552713521){:target="_blank"}. diff --git a/src/connections/sources/catalog/cloud-apps/google-ads/index.md b/src/connections/sources/catalog/cloud-apps/google-ads/index.md index 73a3d9c551..13ac2a9e65 100644 --- a/src/connections/sources/catalog/cloud-apps/google-ads/index.md +++ b/src/connections/sources/catalog/cloud-apps/google-ads/index.md @@ -34,7 +34,7 @@ id: cQ8NOxeApJ ### Permissions -When you set up your Google Ads Source, you may notice that all the Google Ads accounts your Google user can view aren't listed. This is because the Google Ads API doesn't expose a list of "managed" or sub-accounts to non-administrators using the API. That said, if you have read permissions to the account and would like to add it, please [contact Support](https://segment.com/help/contact){:target="_blank"}. For more information about finding your Google Ads Customer ID, see [here](https://support.google.com/google-ads/answer/1704344?co=ADWORDS.IsAWNCustomer%3Dfalse&hl=en){:target="_blank"}. +When you set up your Google Ads Source, you may notice that all the Google Ads accounts your Google user can view aren't listed. This is because the Google Ads API doesn't expose a list of "managed" or sub-accounts to non-administrators using the API. That said, if you have read permissions to the account and would like to add it, please [contact Support](https://segment.com/help/contact){:target="_blank"}. For more information about finding your Google Ads Customer ID, see Google's [Find your Google Ads customer ID](https://support.google.com/google-ads/answer/1704344?co=ADWORDS.IsAWNCustomer%3Dfalse&hl=en){:target="_blank"} docs. ### What Google Ads MCC do you sync? By default, the primary Google Ads account connected to your Google account syncs to Segment. If you would like to override this, please [contact Support](https://segment.com/help/contact){:target="_blank"}. diff --git a/src/connections/sources/catalog/cloud-apps/gwen-webhooks/index.md b/src/connections/sources/catalog/cloud-apps/gwen-webhooks/index.md index 330617644f..1d3e64a06d 100644 --- a/src/connections/sources/catalog/cloud-apps/gwen-webhooks/index.md +++ b/src/connections/sources/catalog/cloud-apps/gwen-webhooks/index.md @@ -24,7 +24,7 @@ This source is maintained by Insert Coin AB. For any issues with the source, [co ## Stream -GWEN Webhooks uses a stream Source component to send Segment event data. It uses a server-side (select from `track`, `identify`, `page`, `group`) method(s) to send GWEN user data to Segment (Read more about GWEN webhook data [here](app.gwenplatform.com/docs/webhooks/segment)). These events are then available in any destination that accepts server-side events, and also available in a schema in your data warehouse, so you can query using SQL. +GWEN Webhooks uses a stream Source component to send Segment event data. It uses a server-side (select from `track`, `identify`, `page`, `group`) method(s) to send GWEN user data to Segment (Read more about GWEN webhook data [in the GWEN documentation](app.gwenplatform.com/docs/webhooks/segment)). These events are then available in any destination that accepts server-side events, and also available in a schema in your data warehouse, so you can query using SQL. The default behavior is for GWEN Webhooks to pass the userId associated with the user who triggered the given update. This may or may not be a userId that you are keeping track of, depending on under what circumstances the user has been created within GWEN. For example, users created anonymously by using the [GWEN Analytics script](https://app.gwenplatform.com/docs/gwen-analytics){:target="blank"} will likely have a userId unknown to you. diff --git a/src/connections/sources/catalog/cloud-apps/hubspot/index.md b/src/connections/sources/catalog/cloud-apps/hubspot/index.md index a0c52a092a..b87b3e0db3 100644 --- a/src/connections/sources/catalog/cloud-apps/hubspot/index.md +++ b/src/connections/sources/catalog/cloud-apps/hubspot/index.md @@ -61,7 +61,7 @@ Due to HubSpot's [API Rate Limits](http://developers.hubspot.com/apps/api_guidel Below are tables outlining the properties included in the collections listed above. To see the full description of each property, refer to the HubSpot documentation linked in the collections above. -If you have Custom Properties on Contacts or Companies collections that you would like to sync, submit a ticket with HubSpot API names of the custom properties [here](http://segment.com/help/contact){:target="_blank"}. +If you have Custom Properties on Contacts or Companies collections that you would like to sync, submit a [Segment Support](http://segment.com/help/contact){:target="_blank"} ticket with HubSpot API names of the custom properties. > info "" > For Deals collection, Segment retrieves properties that the HubSpot API returns, which means you can add the new fields on your own from HubSpot if you have the necessary permissions. diff --git a/src/connections/sources/catalog/libraries/mobile/amp/index.md b/src/connections/sources/catalog/libraries/mobile/amp/index.md index e978b86471..3f972d78f6 100644 --- a/src/connections/sources/catalog/libraries/mobile/amp/index.md +++ b/src/connections/sources/catalog/libraries/mobile/amp/index.md @@ -57,7 +57,7 @@ For sources in [EU workspaces](/docs/guides/regional-segment/), use the followin ``` -By default, the snippet will automatically fire a page event which you can read more about [here](/docs/connections/sources/catalog/libraries/mobile/amp/#page). +By default, the snippet will automatically fire a page event which you can read more about [in the Page section of this documentation](/docs/connections/sources/catalog/libraries/mobile/amp/#page). ## Page @@ -222,8 +222,8 @@ This identity schema will allow you to join down funnel interaction with earlier ### Why aren't all my IDs prefixed with an 'amp-'? All AMP events won't consistently have an 'amp-' prefixed ID as this is only included in the event that the AMP page is directly visited on your domain. -For further details refer to the various `Client ID` scenarios in relation to AMP pages [here]( https://developers.google.com/analytics/devguides/collection/amp-analytics/client-id){:target="_blank"} (Segment can only guarantee that if the third scenario happens, the AMP ID will get generated and picked up). - +For further details refer to the various `Client ID` scenarios in relation to AMP pages [in Google's docs]( https://developers.google.com/analytics/devguides/collection/amp-analytics/client-id){:target="_blank"} (Segment can only guarantee that if the third scenario happens, the AMP ID will get generated and picked up). + See a live AMP with Segment analytics diff --git a/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/adjust-swift.md b/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/adjust-swift.md index 6c253b9268..2ecb072e10 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/adjust-swift.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/adjust-swift.md @@ -3,10 +3,10 @@ title: Analytics Swift Adjust Plugin strat: swift --- -[Adjust](https://adjust.com){:target="_blank"} is the mobile attribution provider of choice for hundreds of organizations across the globe. They unify all your marketing activities into one powerful platform, giving you the insights you need to scale your business. The Adjust Destination is open-source. You can browse the code on GitHub [here](https://github.com/segment-integrations/analytics-swift-integration-adjust). +[Adjust](https://adjust.com){:target="_blank"} is the mobile attribution provider of choice for hundreds of organizations across the globe. They unify all your marketing activities into one powerful platform, giving you the insights you need to scale your business. The Adjust Destination is open-source. You can browse the code on GitHub in the [@segment-integrations/analytics-swift-integration-adjust](https://github.com/segment-integrations/analytics-swift-integration-adjust){:target="_blank”} repo. > info "" -> Note that this plugin simply adds session data for Adjust, and events are sent via Cloud Mode. +> Note that this plugin simply adds session data for Adjust, and events are sent in Cloud Mode. ## Getting started @@ -19,14 +19,14 @@ strat: swift ## Adding the dependency -### via Xcode +### Xcode In the Xcode `File` menu, click `Add Packages`. You'll see a dialog where you can search for Swift packages. In the search field, enter the URL to this repo. https://github.com/segment-integrations/analytics-swift-integration-adjust You'll then have the option to pin to a version, or specific branch, as well as which project in your workspace to add it to. Once you've made your selections, click the `Add Package` button. -### via Package.swift +### Package.swift Open your Package.swift file and add the following do your the `dependencies` section: diff --git a/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/adobe-swift.md b/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/adobe-swift.md index 07fe84d2a5..a8718848a8 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/adobe-swift.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/adobe-swift.md @@ -4,7 +4,7 @@ strat: adobe redirect_from: '/connections/destinations/catalog/omniture/' id: 5783cec280412f644ff14226 --- -After you enable Adobe Analytics (formerly known as Omniture or Sitecatalyst) in Segment, you can start sending data from any of the Segment [libraries](/docs/connections/sources/catalog/) to an Adobe report suite. When you send events from Segment's mobile SDKs or Cloud-mode libraries, Segment translates that data using a mapping that you configure, and then passes it to the Adobe Analytics [Data Insertion API](https://docs.adobe.com/content/help/en/analytics/import/c-data-insertion-api.html){:target="_blank”}. For additional details, you can browse the code on GitHub [here](https://github.com/segment-integrations/analytics-swift-adobe-analytics). +After you enable Adobe Analytics (formerly known as Omniture or Sitecatalyst) in Segment, you can start sending data from any of the Segment [libraries](/docs/connections/sources/catalog/) to an Adobe report suite. When you send events from Segment's mobile SDKs or Cloud-mode libraries, Segment translates that data using a mapping that you configure, and then passes it to the Adobe Analytics [Data Insertion API](https://docs.adobe.com/content/help/en/analytics/import/c-data-insertion-api.html){:target="_blank”}. For additional details, you can browse the code on GitHub in the [@segment-integrations/analytics-swift-adobe-analytics](https://github.com/segment-integrations/analytics-swift-adobe-analytics){:target="_blank”} repo. ## Planning for Adobe Analytics diff --git a/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/appsflyer-swift.md b/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/appsflyer-swift.md index 4096a5b36a..8da169e543 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/appsflyer-swift.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/appsflyer-swift.md @@ -94,7 +94,7 @@ Finally, Segment uses AppsFlyer's `transactionId` deduplication when you send an ## Install Attributed -Segment will automatically trigger an `Install Attributed` event if you have **trackAttributionData** enabled in your settings, and the Segment-AppsFlyer integration installed in your app. The event payload will adhere to the `Install Attributed` event specification documented [here](/docs/connections/spec/mobile/#install-attributed) and will propagate to your other downstream destinations. +Segment will automatically trigger an `Install Attributed` event if you have **trackAttributionData** enabled in your settings, and the Segment-AppsFlyer integration installed in your app. The event payload will adhere to the `Install Attributed` event specification documented [in Segment's Mobile Spec](/docs/connections/spec/mobile/#install-attributed) and will propagate to your other downstream destinations. ### Revenue Tracking diff --git a/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/braze-swift.md b/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/braze-swift.md index cab72d4e23..1b49a63be3 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/braze-swift.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/braze-swift.md @@ -4,7 +4,7 @@ title: Analytics Swift Braze Plugin [Braze](https://www.braze.com/), formerly Appboy, is an engagement platform that empowers growth by helping marketing teams to build customer loyalty through mobile, omni-channel customer experiences. -Braze’s destination plugin code is open source and available on GitHub. You can view it [here](https://github.com/braze-inc/analytics-swift-braze). This destination plugin is maintained by Braze. For any issues with the destination plugin code, please reach out to Braze's support. +Braze’s destination plugin code is open source and available on GitHub. You can view it on GitHub in the [@braze-inc/analytics-swift-braze](https://github.com/braze-inc/analytics-swift-braze){:target="_blank”} repo. This destination plugin is maintained by Braze. For any issues with the destination plugin code, please reach out to Braze's support. ## Getting Started diff --git a/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/firebase-swift.md b/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/firebase-swift.md index c1e24b1c67..8c958b583a 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/firebase-swift.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/firebase-swift.md @@ -179,4 +179,4 @@ Firebase is Google's recommended method for reporting conversions to Adwords. To ### Troubleshooting -Firebase has great logging. If you are having any issues, you can enable debug mode as outlined [here](https://firebase.google.com/docs/analytics/debugview). \ No newline at end of file +Firebase has great logging. If you are having any issues, you can enable debug mode as outlined in Google's [Debug events](https://firebase.google.com/docs/analytics/debugview){:target="_blank”} docs. \ No newline at end of file diff --git a/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/mixpanel-swift.md b/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/mixpanel-swift.md index 26a7959831..a33823047b 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/mixpanel-swift.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/mixpanel-swift.md @@ -251,11 +251,11 @@ If you're testing in Xcode remember you must first background the app, then the If an `ip` property is passed to Mixpanel, the value will be interpreted as the IP address of the request and therefore automatically parsed into Mixpanel geolocation properties (City, Country, Region). After that IP address has been parsed, they will throw out the IP address and only hold onto those resulting geolocation properties. As such, if you want to display an IP address as a property within the Mixpanel UI or within raw data, you will simply want to slightly modify the naming convention for that property. -Instead of `ip`, you can use a property name of `user IP` or `IP Address` (whatever is most clear for your implementation). This way, Mixpanel won't automatically interpret the IP address as an IP address, and instead store that value as a property on the event. You can read more [here](https://mixpanel.com/help/reference/http#tracking-events){:target="_blank"}. +Instead of `ip`, you can use a property name of `user IP` or `IP Address` (whatever is most clear for your implementation). This way, Mixpanel won't automatically interpret the IP address as an IP address, and instead store that value as a property on the event. You can read more in Mixpanel's [Import Events](https://mixpanel.com/help/reference/http#tracking-events){:target="_blank"} docs. ### Push Notifications Push notifications are only available for projects bundling the Segment-Mixpanel SDK. > info "" -> Set up your push notification handlers by calling into native Mixpanel methods. You can read more about how to approach this in the [iOS](/docs/connections/sources/catalog/libraries/mobile/ios/#what-if-your-sdk-doesnt-support-feature-x) \ No newline at end of file +> Set up your push notification handlers by calling into native Mixpanel methods. You can read more about how to approach this in the [iOS](/docs/connections/sources/catalog/libraries/mobile/ios/#what-if-your-sdk-doesnt-support-feature-x) docs. \ No newline at end of file diff --git a/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/nielsen-dtvr-swift.md b/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/nielsen-dtvr-swift.md index 0912b30cea..5bc1ccbbb3 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/nielsen-dtvr-swift.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/destination-plugins/nielsen-dtvr-swift.md @@ -3,7 +3,7 @@ title: Analytics Swift Nielsen DTVR Plugin hidden: true --- -Digital in TV Ratings (DTVR) responds to the shifting and complex multi-platform, multi-device and multi-distribution landscape by providing comprehensive measurement of digital content consumption—including streaming TV commercial video, static web pages and mobile apps—across all major devices and platforms. For additional information, you can browse the code on GitHub [here](https://github.com/segment-integrations/analytics-swift-nielsen-dtvr). +Digital in TV Ratings (DTVR) responds to the shifting and complex multi-platform, multi-device and multi-distribution landscape by providing comprehensive measurement of digital content consumption—including streaming TV commercial video, static web pages and mobile apps—across all major devices and platforms. For additional information, you can browse the code on GitHub in the [@segment-integrations/analytics-swift-nielsen-dtvr](https://github.com/segment-integrations/analytics-swift-nielsen-dtvr){:target="_blank”} repo. ## Getting started diff --git a/src/connections/sources/catalog/libraries/mobile/apple/index.md b/src/connections/sources/catalog/libraries/mobile/apple/index.md index e7f2f594ed..7bcbd81ecb 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/index.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/index.md @@ -130,7 +130,7 @@ See Segment's documentation for [device-mode destinations](/docs/connections/sou See Segment's [cloud-mode destinations](/docs/connections/sources/catalog/libraries/mobile/apple/cloud-mode-destinations/) for a full list of available cloud-mode destinations that Swift supports. -
Segment offers support for two different types of Destinations, learn more about the differences between the two [here](). +
Segment offers support for two different types of destination connection modes: Cloud-mode and Device-mode. learn more about the differences between the two in the Segment [Destination docs](/docs/connections/destinations/#connection-modes).
{% include components/reference-button.html diff --git a/src/connections/sources/visual-tagger.md b/src/connections/sources/visual-tagger.md index db77c90e0b..0981f65c78 100644 --- a/src/connections/sources/visual-tagger.md +++ b/src/connections/sources/visual-tagger.md @@ -105,7 +105,7 @@ When you click on an element on your website, a window appears where you can ent Segment recommends that you use an "Object Action" format (for example, `Blog Post Clicked`, and use Title Case (capitalize the first letter of each word ) when naming events. 2. **Properties**. Add properties to the event to add contextual information about the action that the user took. Properties are optional, but they are very helpful when you analyze events data later. - - Use `snake_case` for property names (all lowercase, with spaces between words represented as an underscore “_”). For a guide on event naming best practices, check out the Docs [here](/docs/protocols/tracking-plan/best-practices/#formalize-your-naming-and-collection-standards). + - Use `snake_case` for property names (all lowercase, with spaces between words represented as an underscore “_”). For a guide on event naming best practices, check out the Protocols [docs](/docs/protocols/tracking-plan/best-practices/#formalize-your-naming-and-collection-standards). - Check the [list of properties that are collected by default](/docs/connections/spec/common/) before you add a property. 3. **Advanced**. You can also click the `` button to manually edit the CSS selector. If you didn't select the right element, you can choose the element on the page again by clicking on the finger button. From 320705fc0b25223155972b41168ff0e30123d27d Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 12 Aug 2024 17:01:14 -0400 Subject: [PATCH 4/4] last batch + click here's --- .../destinations/catalog/humanic-ai/index.md | 2 +- .../adjust-kotlin-android.md | 2 +- .../adobe-kotlin-android.md | 2 +- .../appsflyer-kotlin-android.md | 2 +- .../braze-kotlin-android.md | 2 +- .../firebase-kotlin-android.md | 2 +- .../libraries/mobile/kotlin-android/index.md | 2 +- .../adjust-react-native.md | 2 +- .../appsflyer-react-native.md | 2 +- .../braze-middleware-react-native.md | 6 +-- .../firebase-react-native.md | 4 +- .../mixpanel-react-native.md | 2 +- .../libraries/mobile/react-native/index.md | 4 +- .../catalog/libraries/server/csharp/index.md | 6 +-- .../libraries/server/object-api/index.md | 2 +- .../catalog/libraries/server/python/index.md | 2 +- .../libraries/website/javascript/index.md | 4 +- .../website/javascript/supported-browsers.md | 2 +- .../sources/plugins/vimeo/index.md | 2 +- .../storage/catalog/amazon-s3/index.md | 8 ++-- .../storage/catalog/data-lakes/index.md | 2 +- src/connections/storage/warehouses/index.md | 2 +- src/engage/audiences/account-audiences.md | 2 +- .../how-to-guides/cross-channel-tracking.md | 2 +- .../usage-and-billing/startup-program.md | 4 +- .../twilio-developer-plan.md | 6 +-- src/partners/destinations/index.md | 2 +- src/partners/direct-destination.md | 4 +- src/partners/faqs.md | 10 ++--- src/partners/index.md | 10 ++--- src/partners/sources.md | 4 +- src/partners/subscriptions/build-webhook.md | 6 +-- src/partners/subscriptions/index.md | 4 +- .../apis-and-extensions/typewriter.md | 40 +++++++++---------- .../identity-resolution-settings.md | 6 +-- src/unify/identity-resolution/space-setup.md | 2 +- src/unify/product-limits.md | 2 +- src/unify/quickstart.md | 4 +- src/utils/cmode-verify.md | 2 +- 39 files changed, 87 insertions(+), 87 deletions(-) diff --git a/src/connections/destinations/catalog/humanic-ai/index.md b/src/connections/destinations/catalog/humanic-ai/index.md index 4dc9274762..17c887937f 100644 --- a/src/connections/destinations/catalog/humanic-ai/index.md +++ b/src/connections/destinations/catalog/humanic-ai/index.md @@ -5,7 +5,7 @@ id: 64b0e177091331e4a2a00c83 [Humanic AI](https://humanic.ai/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} is revolutionizing the CRM space to make it easier than ever for growing companies to maximize revenue from their existing users. Humanic is the industry's first PLG CRM for today’s modern revenue teams. With support from top industry veterans at DoorDash, Notion, Miro, Canvas, MailChimp and more - there's no better time explore what Humanic can offer your business. -Managing upwards of 1000+ active users can be an overwhelming task, and many CRMs struggle to keep up with the influx. If you need a reliable system that allows for user sorting based on payment or user activity, it's time to consider more robust solutions than traditional customer relationship management software. Read on for details on how the Humanic PLG CRM can help unlock revenue from your existing user base. To Sign up and explore right away [click here](https://humanic.ai/signup?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"}. +Managing upwards of 1000+ active users can be an overwhelming task, and many CRMs struggle to keep up with the influx. If you need a reliable system that allows for user sorting based on payment or user activity, it's time to consider more robust solutions than traditional customer relationship management software. Read on for details on how the Humanic PLG CRM can help unlock revenue from your existing user base. To sign up and explore right away, [navigate to Humanic today](https://humanic.ai/signup?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"}. This destination is maintained by Humanic. For any issues with the destination, [contact the Humanic Support team](mailto:support@humanic.ai). diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/adjust-kotlin-android.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/adjust-kotlin-android.md index 937bd13b25..e819892a5b 100644 --- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/adjust-kotlin-android.md +++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/adjust-kotlin-android.md @@ -2,7 +2,7 @@ title: Analytics Kotlin Adjust Plugin strat: kotlin-android --- -[Adjust](https://adjust.com){:target="_blank"} is the mobile attribution provider of choice for hundreds of organizations across the globe. They unify all your marketing activities into one powerful platform, giving you the insights you need to scale your business. The Adjust Destination is open-source. You can browse the code on GitHub [here](https://github.com/segmentio/analytics-kotlin). +[Adjust](https://adjust.com){:target="_blank"} is the mobile attribution provider of choice for hundreds of organizations across the globe. They unify all your marketing activities into one powerful platform, giving you the insights you need to scale your business. The Adjust Destination is open-source. You can browse the code on GitHub in the [@segmentio/analytics-kotlin](https://github.com/segmentio/analytics-kotlin){:target="_blank”} repository. ## Getting started diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/adobe-kotlin-android.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/adobe-kotlin-android.md index 80365d5cac..dc134cf17c 100644 --- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/adobe-kotlin-android.md +++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/adobe-kotlin-android.md @@ -4,7 +4,7 @@ strat: adobe redirect_from: '/connections/destinations/catalog/omniture/' id: 5783cec280412f644ff14226 --- -After you enable Adobe Analytics (formerly known as Omniture or Sitecatalyst) in Segment, you can start sending data from any of the Segment [libraries](/docs/connections/sources/catalog/) to an Adobe report suite. When you send events from Segment's mobile SDKs or Cloud-mode libraries, Segment translates that data using a mapping that you configure, and then passes it to the Adobe Analytics [Data Insertion API](https://docs.adobe.com/content/help/en/analytics/import/c-data-insertion-api.html){:target="_blank”}. For more information, you can browse the code on GitHub [here](https://github.com/segment-integrations/analytics-kotlin-adobe-analytics). +After you enable Adobe Analytics (formerly known as Omniture or Sitecatalyst) in Segment, you can start sending data from any of the Segment [libraries](/docs/connections/sources/catalog/) to an Adobe report suite. When you send events from Segment's mobile SDKs or Cloud-mode libraries, Segment translates that data using a mapping that you configure, and then passes it to the Adobe Analytics [Data Insertion API](https://docs.adobe.com/content/help/en/analytics/import/c-data-insertion-api.html){:target="_blank”}. For more information, you can browse the code on GitHub in the [@segment-integrations/analytics-kotlin-adobe-analytics](https://github.com/segment-integrations/analytics-kotlin-adobe-analytics){:target="_blank”} repository. ## Planning for Adobe Analytics diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/appsflyer-kotlin-android.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/appsflyer-kotlin-android.md index 117f1c721c..f8a94881ba 100644 --- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/appsflyer-kotlin-android.md +++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/appsflyer-kotlin-android.md @@ -82,7 +82,7 @@ Segment includes all the event properties as callback parameters on the AppsFlye ## Install Attributed -Segment will automatically trigger an `Install Attributed` event if you have **trackAttributionData** enabled in your settings, and the Segment-AppsFlyer integration installed in your app. The event payload will adhere to the `Install Attributed` event specification documented [here](/docs/connections/spec/mobile/#install-attributed) and will propagate to your other downstream destinations. +Segment will automatically trigger an `Install Attributed` event if you have **trackAttributionData** enabled in your settings, and the Segment-AppsFlyer integration installed in your app. The event payload will adhere to the `Install Attributed` event specification documented [in the Spec: Mobile](/docs/connections/spec/mobile/#install-attributed) docs and will propagate to your other downstream destinations. This logic depends on the Appsflyer `AppsFlyerConversionListener` [interface](https://dev.appsflyer.com/hc/docs/android-sdk-reference-appsflyerconversionlistener){:target="_blank"}, and will only send when Appsflyer detects an install. diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/braze-kotlin-android.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/braze-kotlin-android.md index ce9264c0e5..c0f32ec09b 100644 --- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/braze-kotlin-android.md +++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/braze-kotlin-android.md @@ -5,7 +5,7 @@ strat: kotlin-android [Braze](https://www.braze.com/), formerly Appboy, is an engagement platform that empowers growth by helping marketing teams to build customer loyalty through mobile, omni-channel customer experiences. -Braze’s destination plugin code is open source and available on GitHub. You can view it [here](https://github.com/braze-inc/braze-segment-kotlin){:target="_blank"}. This destination plugin is maintained by Braze. For any issues with the destination plugin code, please reach out to Braze's support. +Braze’s destination plugin code is open source and available on GitHub. You can view it on GitHub in the [@braze-inc/braze-segment-kotlin](https://github.com/braze-inc/braze-segment-kotlin){:target="_blank"} repository. This destination plugin is maintained by Braze. For any issues with the destination plugin code, please reach out to Braze's support. ## Getting Started diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/firebase-kotlin-android.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/firebase-kotlin-android.md index 1bf9401742..ceabccc3bf 100644 --- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/firebase-kotlin-android.md +++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/firebase-kotlin-android.md @@ -148,4 +148,4 @@ Firebase is Google's recommended method for reporting conversions to Adwords. To ### Troubleshooting -Firebase has great logging. If you are having any issues, you can enable debug mode as outlined [here](https://firebase.google.com/docs/analytics/debugview). \ No newline at end of file +Firebase has great logging. If you are having any issues, you can enable debug mode as outlined [in Google'd Debug view](https://firebase.google.com/docs/analytics/debugview){:target="_blank”} documentation. \ No newline at end of file diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/index.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/index.md index 12c1a43328..cd961ea945 100644 --- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/index.md +++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/index.md @@ -167,7 +167,7 @@ Once you've installed the mobile or server Analytics Kotlin library, you can sta ### Destinations Destinations are the business tools or apps that Segment forwards your data to. Adding Destinations allow you to act on your data and learn more about your customers in real time. -
Segment offers support for two different types of Destinations, learn more about the differences between the two [here](). +
Segment offers support for two different types of destination connection modes: Cloud-mode and Device-mode. learn more about the differences between the two in the Segment [Destination docs](/docs/connections/destinations/#connection-modes).
diff --git a/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/adjust-react-native.md b/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/adjust-react-native.md index 6f7ce4f2c0..896fa863aa 100644 --- a/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/adjust-react-native.md +++ b/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/adjust-react-native.md @@ -3,7 +3,7 @@ title: Analytics React Native Adjust Plugin strat: react-native --- -[Adjust](https://adjust.com){:target="_blank"} is the mobile attribution provider of choice for hundreds of organizations across the globe. They unify all your marketing activities into one powerful platform, giving you the insights you need to scale your business. The Adjust Destination is open-source. You can browse the code on GitHub [here](https://github.com/segmentio/analytics-react-native/tree/master/packages/plugins/plugin-adjust). +[Adjust](https://adjust.com){:target="_blank"} is the mobile attribution provider of choice for hundreds of organizations across the globe. They unify all your marketing activities into one powerful platform, giving you the insights you need to scale your business. The Adjust Destination is open-source. You can browse the code on GitHub in the [@segmentio/analytics-react-native](https://github.com/segmentio/analytics-react-native/tree/master/packages/plugins/plugin-adjust){:target="_blank”} repository. ## Getting started diff --git a/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/appsflyer-react-native.md b/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/appsflyer-react-native.md index c0854f399f..3092eaeee2 100644 --- a/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/appsflyer-react-native.md +++ b/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/appsflyer-react-native.md @@ -105,7 +105,7 @@ Finally, Segment uses AppsFlyer's `transactionId` deduplication when you send an ## Install Attributed -Segment will automatically trigger an `Install Attributed` event if you have **trackAttributionData** enabled in your settings, and the Segment-AppsFlyer integration installed in your app. The event payload will adhere to the `Install Attributed` event specification documented [here](/docs/connections/spec/mobile/#install-attributed) and will propagate to your other downstream destinations. +Segment will automatically trigger an `Install Attributed` event if you have **trackAttributionData** enabled in your settings, and the Segment-AppsFlyer integration installed in your app. The event payload will adhere to the `Install Attributed` event specification documented [in the Spec: Mobile](/docs/connections/spec/mobile/#install-attributed) docs and will propagate to your other downstream destinations. ### Revenue Tracking diff --git a/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/braze-middleware-react-native.md b/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/braze-middleware-react-native.md index 7ce0a62111..eab35ec3ff 100644 --- a/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/braze-middleware-react-native.md +++ b/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/braze-middleware-react-native.md @@ -5,9 +5,9 @@ strat: react-native [Braze](https://www.braze.com/){:target="_blank"}, formerly Appboy, is an engagement platform that empowers growth by helping marketing teams to build customer loyalty through mobile, omni-channel customer experiences. -Braze’s middleware plugin code is open source and available on GitHub. You can view it [here](https://github.com/segmentio/analytics-react-native/tree/master/packages/plugins/plugin-braze-middleware){:target="_blank"}. +Braze’s middleware plugin code is open source and available on GitHub. You can view it on GitHub in the [@segmentio/analytics-react-native](https://github.com/segmentio/analytics-react-native/tree/master/packages/plugins/plugin-braze-middleware){:target="_blank"}. -The Braze middleware plugin is a `BeforePlugin` used to debounce `identify` events for [Braze](https://www.braze.com). This Plugin should be used with a [Cloud Mode](/docs/connections/destinations/#connection-modes) connection to Braze. To connect to Braze with a Device Mode connection use the [Braze Destination Plugin](https://www.npmjs.com/package/@segment/analytics-react-native-plugin-braze) instead. It is not possible to use both plugins in one `Analytics React Native` instance. +The Braze middleware plugin is a `BeforePlugin` used to debounce `identify` events for [Braze](https://www.braze.com){:target="_blank"}. This Plugin should be used with a [Cloud Mode](/docs/connections/destinations/#connection-modes) connection to Braze. To connect to Braze with a Device Mode connection use the [Braze Destination Plugin](https://www.npmjs.com/package/@segment/analytics-react-native-plugin-braze){:target="_blank"} instead. It is not possible to use both plugins in one `Analytics React Native` instance. ## Installation @@ -24,7 +24,7 @@ yarn add @segment/analytics-react-native-plugin-braze-middleware ``` ## Usage -Follow the [instructions for adding plugins](https://github.com/segmentio/analytics-react-native#adding-plugins) on the main Analytics client: +Follow the [instructions for adding plugins](https://github.com/segmentio/analytics-react-native#adding-plugins){:target="_blank"} on the main Analytics client: In your code where you initialize the analytics client call the `.add(plugin)` method with an `BrazeMiddlewarePlugin` instance: diff --git a/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/firebase-react-native.md b/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/firebase-react-native.md index 463288f198..bc065aca90 100644 --- a/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/firebase-react-native.md +++ b/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/firebase-react-native.md @@ -4,7 +4,7 @@ strat: react-native --- Firebase is Google's platform for mobile apps. The Segment Firebase destination requires that you bundle the Firebase SDK with your project. The Segment-wrapped destination code then runs on the user's device, and sends its tracking calls to the Firebase API endpoints, and a copy to Segment for archiving. -Firebase’s destination plugin code is open source and available on GitHub. You can view it [here](https://github.com/segmentio/analytics-react-native/tree/master/packages/plugins/plugin-firebase). +Firebase’s destination plugin code is open source and available on GitHub. You can view it in the [@segmentio/analytics-react-native](https://github.com/segmentio/analytics-react-native/tree/master/packages/plugins/plugin-firebase){:target="_blank"} repository. ## Adding the dependency @@ -134,4 +134,4 @@ Firebase is Google's recommended method for reporting conversions to Adwords. To ### Troubleshooting -Firebase has great logging. If you are having any issues, you can enable debug mode as outlined [here](https://firebase.google.com/docs/analytics/debugview). +Firebase has great logging. If you are having any issues, you can enable debug mode as outlined [in Google's Debug view docs](https://firebase.google.com/docs/analytics/debugview){:target="_blank"}. diff --git a/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/mixpanel-react-native.md b/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/mixpanel-react-native.md index 799b68cab2..30fa0347bc 100644 --- a/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/mixpanel-react-native.md +++ b/src/connections/sources/catalog/libraries/mobile/react-native/destination-plugins/mixpanel-react-native.md @@ -234,4 +234,4 @@ If you're testing in Xcode remember you must first background the app, then the If an `ip` property is passed to Mixpanel, the value will be interpreted as the IP address of the request and therefore automatically parsed into Mixpanel geolocation properties (City, Country, Region). After that IP address has been parsed, they will throw out the IP address and only hold onto those resulting geolocation properties. As such, if you want to display an IP address as a property within the Mixpanel UI or within raw data, you will simply want to slightly modify the naming convention for that property. -Instead of `ip`, you can use a property name of `user IP` or `IP Address` (whatever is most clear for your implementation). This way, Mixpanel won't automatically interpret the IP address as an IP address, and instead store that value as a property on the event. You can read more [here](https://mixpanel.com/help/reference/http#tracking-events){:target="_blank"}. \ No newline at end of file +Instead of `ip`, you can use a property name of `user IP` or `IP Address` (whatever is most clear for your implementation). This way, Mixpanel won't automatically interpret the IP address as an IP address, and instead store that value as a property on the event. You can read more in Mixpanel's [Import Events](https://mixpanel.com/help/reference/http#tracking-events){:target="_blank"} documentation. \ No newline at end of file diff --git a/src/connections/sources/catalog/libraries/mobile/react-native/index.md b/src/connections/sources/catalog/libraries/mobile/react-native/index.md index f8625b0d85..c0a0ce9a87 100644 --- a/src/connections/sources/catalog/libraries/mobile/react-native/index.md +++ b/src/connections/sources/catalog/libraries/mobile/react-native/index.md @@ -92,7 +92,7 @@ These are the options you can apply to configure the client: ## Adding Plugins to the Client -You can add a plugin at any time through the `segmentClient.add()` method. More information about plugins, including a detailed architecture overview and a guide to creating your own can be found [here](/docs/connections/sources/catalog/libraries/mobile/react-native/react-native-plugin-architecture/). +You can add a plugin at any time through the `segmentClient.add()` method. More information about plugins, including a detailed architecture overview and a guide to creating your own can be found in the [Analytics React Native Plugin Architecture](/docs/connections/sources/catalog/libraries/mobile/react-native/react-native-plugin-architecture/) docs. ```js import { createClient } from '@segment/analytics-react-native'; @@ -203,7 +203,7 @@ Once you've installed the Analytics React Native library, you can start collecti ## Destinations Destinations are the business tools or apps that Segment forwards your data to. Adding Destinations allow you to act on your data and learn more about your customers in real time. -
Segment offers support for two different types of Destinations, learn more about the differences between the two [here](). +
Segment offers support for two different types of destination connection modes: Cloud-mode and Device-mode. learn more about the differences between the two in the Segment [Destination docs](/docs/connections/destinations/#connection-modes).
{% include components/reference-button.html diff --git a/src/connections/sources/catalog/libraries/server/csharp/index.md b/src/connections/sources/catalog/libraries/server/csharp/index.md index f034bf4982..70a581dc83 100644 --- a/src/connections/sources/catalog/libraries/server/csharp/index.md +++ b/src/connections/sources/catalog/libraries/server/csharp/index.md @@ -35,7 +35,7 @@ To get started with the Analytics-CSharp library: 1. Create a Source in Segment. 1. Go to **Connections > Sources > Add Source**. 2. Search for *Xamarin, Unity, or .NET* (whichever source you want to use) and click **Add Source**. **Note:** There is no CSharp source. To use Analytics-CSharp, use either Xamarin, Unity, or .NET as your source. -2. Add the Analytics dependency to your project. Analytics-CSharp is distributed through NuGet. Check other installation options [here](https://www.nuget.org/packages/Segment.Analytics.CSharp/). +2. Add the Analytics dependency to your project. Analytics-CSharp is distributed through NuGet. Check other installation options on the Segment.Analytics.CSharp [NuGet page](https://www.nuget.org/packages/Segment.Analytics.CSharp/){:target="_blank"}. ``` dotnet add package Segment.Analytics.CSharp --version @@ -415,9 +415,9 @@ class FlushOnScreenEventsPolicy : IFlushPolicy ## Handling Errors You can handle analytics client errors through the `analyticsErrorHandler` option. -The error handler configuration requires an instance that implements `IAnalyticsErrorHandler` which will get called whenever an error happens on the analytics client. It will receive a general `Exception`, but you can check if the exception is a type of `AnalyticsError` and converts to get more info about the error. Checkout [here](https://github.com/segmentio/Analytics-CSharp/blob/main/Analytics-CSharp/Segment/Analytics/Errors.cs#L77) to see a full list of error types that analytics throws. +The error handler configuration requires an instance that implements `IAnalyticsErrorHandler` which will get called whenever an error happens on the analytics client. It will receive a general `Exception`, but you can check if the exception is a type of `AnalyticsError` and converts to get more info about the error. Check out [the @segmentio/Analytics-CSharp](https://github.com/segmentio/Analytics-CSharp/blob/main/Analytics-CSharp/Segment/Analytics/Errors.cs#L77){:target="_blank"} repository to see a full list of error types that analytics throws. -You can use this error handling to trigger different behaviours in the client when a problem occurs. For example if the client gets rate limited you could use the error handler to swap flush policies to be less aggressive: +You can use this error handling to trigger different behaviors in the client when a problem occurs. For example if the client gets rate limited you could use the error handler to swap flush policies to be less aggressive: ```csharp class NetworkErrorHandler : IAnalyticsErrorHandler diff --git a/src/connections/sources/catalog/libraries/server/object-api/index.md b/src/connections/sources/catalog/libraries/server/object-api/index.md index b1dc344ca4..e9c0f7a972 100644 --- a/src/connections/sources/catalog/libraries/server/object-api/index.md +++ b/src/connections/sources/catalog/libraries/server/object-api/index.md @@ -195,7 +195,7 @@ Client.Set(*objects.Object{ Client.Close() ``` -View the Objects-go library on GitHub [here](https://github.com/segmentio/objects-go){:target="_blank"}. +View the Objects-go library on GitHub in the [@segmentio/objects-go](https://github.com/segmentio/objects-go){:target="_blank"} repository. Here is a `curl` example of how to get started: diff --git a/src/connections/sources/catalog/libraries/server/python/index.md b/src/connections/sources/catalog/libraries/server/python/index.md index ac0b205dfe..8e00f08b37 100644 --- a/src/connections/sources/catalog/libraries/server/python/index.md +++ b/src/connections/sources/catalog/libraries/server/python/index.md @@ -156,7 +156,7 @@ The Page call has the following fields: | `user_id` _string | The ID for the user that is a part of the group. | | `category` _string, optional_ | The category of the page. Useful for industries, like ecommerce, where many pages often live under a larger category. | | `name` _string, optional_ | The name of the page, for example **Signup** or **Home**. | -| `properties` _dict, optional_ | The page properties. To see a reference of reserved page properties, see the spec [here](/docs/connections/spec/page/#properties). | +| `properties` _dict, optional_ | The page properties. To see a reference of reserved page properties, see the [Spec: Page](/docs/connections/spec/page/#properties) documentation. | | `context` _dict, optional_ | A dict containing any context about the request. To see the full reference of supported keys, check them out in the [context reference](/docs/connections/spec/common/#context) | | `timestamp` _datetime, optional_ | A `datetime` object representing when the Page took place. This is most useful if you're importing historical data. If the Page just happened, leave it blank to use the server's time. | | `anonymous_id` _string or int, optional_ | An anonymous session ID for this user. | diff --git a/src/connections/sources/catalog/libraries/website/javascript/index.md b/src/connections/sources/catalog/libraries/website/javascript/index.md index d2af9e4879..629c1fa5de 100644 --- a/src/connections/sources/catalog/libraries/website/javascript/index.md +++ b/src/connections/sources/catalog/libraries/website/javascript/index.md @@ -513,7 +513,7 @@ Destination flags are **case sensitive** and match [the destination's name in th ### Load options > info "" -> **Note:** To use this feature, you must be on snippet version 4.1.0 or later. You can get the latest version of the snippet [here](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet). +> **Note:** To use this feature, you must be on snippet version 4.1.0 or later. You can get the latest version of the snippet from the [Analytics.js Quickstart](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet). You can modify the `.load` method in Analytics.js (the second line of the snippet) to take a second argument. If you pass an object with an `integrations` dictionary, then Segment only loads the integrations in that dictionary that are marked as enabled with the boolean value `true`. @@ -936,7 +936,7 @@ Bundle the destinations you want loaded from [npm](https://www.npmjs.com/package }) ``` - Pass in the destination plugin to the added config option called `plugins`. A list of all action destination packages can be found [here](https://github.com/segmentio/action-destinations/blob/main/packages/destinations-manifest/package.json){:target="_blank"}. + Pass in the destination plugin to the added config option called `plugins`. A list of all action destination packages can be found on GitHub in the [@segmentio/action-destinations](https://github.com/segmentio/action-destinations/blob/main/packages/destinations-manifest/package.json){:target="_blank"} repository. * To add classic destinations from npm: diff --git a/src/connections/sources/catalog/libraries/website/javascript/supported-browsers.md b/src/connections/sources/catalog/libraries/website/javascript/supported-browsers.md index 1c4f8118d3..a0d1eb8f88 100644 --- a/src/connections/sources/catalog/libraries/website/javascript/supported-browsers.md +++ b/src/connections/sources/catalog/libraries/website/javascript/supported-browsers.md @@ -22,7 +22,7 @@ The library is regularly tested and is functional with the following browsers: Segment guarantees support for Internet Explorer 11 and later for Analytics.js. Remember that different bundled (device-mode) destinations might have different compatibility guarantees for their own products. Refer to the vendor's documentation to confirm browser compatibility. -If you need to support older versions of Internet Explorer or Opera, Segment recommends you to either load a polyfill script in the head as shown [here](https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/7.7.0/polyfill.min.js){:target="_blank"}, or use the analytics-next npm package and polyfill bundle as shown in [Babel](https://babeljs.io/docs/babel-preset-env){:target="_blank"}. +If you need to support older versions of Internet Explorer or Opera, Segment recommends you to either load a polyfill script in the head as shown [in this code snippet](https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/7.7.0/polyfill.min.js){:target="_blank"}, or use the analytics-next npm package and polyfill bundle as shown in [Babel](https://babeljs.io/docs/babel-preset-env){:target="_blank"}. > info "" > Classic destinations and Analytics.js support Internet Explorer 11, but some Actions destinations are not yet supported. diff --git a/src/connections/sources/plugins/vimeo/index.md b/src/connections/sources/plugins/vimeo/index.md index 02c3a8442f..49fc1919d7 100644 --- a/src/connections/sources/plugins/vimeo/index.md +++ b/src/connections/sources/plugins/vimeo/index.md @@ -8,7 +8,7 @@ With the analytics.js Vimeo Plugin you can easily collect Vimeo player events in ## Getting Started To use the plugin you must first generate an Access Token in Vimeo. The plugin uses this token to access metadata about the video content being played. -Vimeo provides documentation outlining this process [here](https://developer.vimeo.com/api/start#getting-started-step1). Make sure you are carefully selecting your access scopes! The plugin only needs to read information about your video(s). +Vimeo provides documentation outlining this process in the Vimeo [The Basics](https://developer.vimeo.com/api/start#getting-started-step1){:target="_blank"} documentation. Make sure you are carefully selecting your access scopes. The plugin only needs to read information about your video(s). ### 1. Enable diff --git a/src/connections/storage/catalog/amazon-s3/index.md b/src/connections/storage/catalog/amazon-s3/index.md index 135643060c..ac10597e3b 100644 --- a/src/connections/storage/catalog/amazon-s3/index.md +++ b/src/connections/storage/catalog/amazon-s3/index.md @@ -184,9 +184,9 @@ Segment recommends doing this as a best practice. The following policy strictly ## Region > warning "" -> The Amazon S3 destination only supports workspaces in the US region. Workspaces outside of the US can't connect to this destination. If you wish to connect to a different region use Segment's new [AWS S3 destination](https://segment.com/docs/connections/storage/catalog/aws-s3/) instead. +> The Amazon S3 destination only supports workspaces in the US region. Workspaces outside of the US can't connect to this destination. If you wish to connect to a different region use Segment's new [AWS S3 destination](/docs/connections/storage/catalog/aws-s3/) instead. -Segment infers the region of your bucket when data is copied to it, so you don't need to specify a bucket region in your configuration. If you're using VPC Endpoints for your S3 bucket, make sure you configure the endpoint in the same region as your bucket. You can find more information on this in the AWS S3 docs [here](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-s3.html). +Segment infers the region of your bucket when data is copied to it, so you don't need to specify a bucket region in your configuration. If you're using VPC Endpoints for your S3 bucket, make sure you configure the endpoint in the same region as your bucket. You can find more information on this in the AWS S3 docs [Gateway endpoints for Amazon S3](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-s3.html){:target="_blank"}. ## Custom Path Prefix @@ -197,9 +197,9 @@ To use a custom key prefix for the files in your bucket, append the path to the Segment recommends using the [AWS CLI](http://aws.amazon.com/cli/) and writing a short script to download specific days, one at a time. The AWS CLI is faster than [s3cmd](http://s3tools.org/s3cmd) because it downloads files in parallel. > info "" -> S3 transparently decompresses the files for most clients. To access the raw gzipped data you can programmatically download the file using [the AWS SDK](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html) and setting `ResponseContentEncoding: none`. This functionality isn't available in the AWS CLI). You can also manually remove the metadata on the file (`Content-Type: text/plain` and `Content-Encoding: gzip`) through the AWS interface, which allows you to download the file as gzipped. +> S3 transparently decompresses the files for most clients. To access the raw gzipped data you can programmatically download the file using [the AWS SDK](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html){:target="_blank"} and setting `ResponseContentEncoding: none`. This functionality isn't available in the AWS CLI. You can also manually remove the metadata on the file (`Content-Type: text/plain` and `Content-Encoding: gzip`) through the AWS interface, which allows you to download the file as gzipped. -To configure the AWS CLI, see Amazon's documentation [here](http://docs.aws.amazon.com/cli/latest/userguide/installing.html). For linux systems, run the following command: +To configure the AWS CLI, see Amazon's [Get started with the CLI](http://docs.aws.amazon.com/cli/latest/userguide/installing.html){:target="_blank"} documentation. For Linux systems, run the following command: ```bash diff --git a/src/connections/storage/catalog/data-lakes/index.md b/src/connections/storage/catalog/data-lakes/index.md index 82942831a8..66cd3b5540 100644 --- a/src/connections/storage/catalog/data-lakes/index.md +++ b/src/connections/storage/catalog/data-lakes/index.md @@ -73,7 +73,7 @@ You will see event data and [sync reports](/docs/connections/storage/data-lakes/ To receive sync failure alerts by email, subscribe to the `Storage Destination Sync Failed` activity email notification within the **App Settings > User Preferences > [Notification Settings](https://app.segment.com/goto-my-workspace/settings/notifications){:target="_blank”}**. -`Sync Failed` emails are sent on the 1st, 5th, and 20th sync failure. Learn more about the types of errors which can cause sync failures [here](/docs/connections/storage/data-lakes/sync-reports/#sync-errors). +`Sync Failed` emails are sent on the 1st, 5th, and 20th sync failure. Learn more about the types of errors which can cause sync failures in Segment's [Sync errors](/docs/connections/storage/data-lakes/sync-reports/#sync-errors) docs. ### (Optional) Step 4 - Replay historical data diff --git a/src/connections/storage/warehouses/index.md b/src/connections/storage/warehouses/index.md index 59fab788e1..d4aeb540e7 100644 --- a/src/connections/storage/warehouses/index.md +++ b/src/connections/storage/warehouses/index.md @@ -23,7 +23,7 @@ Examples of data warehouses include Amazon Redshift, Google BigQuery, and Postgr
> info "Looking for the Warehouse Schemas docs?" -> They've moved! Check them out [here](schema/). +> They've moved: [Warehouse Schemas](/docs/connections/storage/warehouses/schema). {% include components/reference-button.html href="https://segment.com/academy/intro/when-to-use-sql-for-analysis/?referrer=docs" icon="media/academy.svg" title="Analytics Academy: When to use SQL for analysis" description="When your existing analytics tools can't answer your questions, it's time to level-up and use SQL for analysis." %} diff --git a/src/engage/audiences/account-audiences.md b/src/engage/audiences/account-audiences.md index 4832548f82..6c5b49dcbc 100644 --- a/src/engage/audiences/account-audiences.md +++ b/src/engage/audiences/account-audiences.md @@ -56,7 +56,7 @@ The three types of user-level conditions are: ## Account-level computed and SQL traits -Workspaces with access to account-level audiences can create account-level [computed](/docs/engage/audiences/computed-traits/) and [SQL](/docs/engage/audiences/sql-traits/) traits. All user-level computed trait types are supported (see [here](/docs/engage/audiences/computed-traits/#types-of-computed-traits) for a full list). Account-level computed traits operate on the set of events triggered by all users associated with a given account. +Workspaces with access to account-level audiences can create account-level [computed](/docs/engage/audiences/computed-traits/) and [SQL](/docs/engage/audiences/sql-traits/) traits. All user-level computed trait types are supported (see the [Types of computed traits](/docs/engage/audiences/computed-traits/#types-of-computed-traits) docs for a full list). Account-level computed traits operate on the set of events triggered by all users associated with a given account. Use-cases for account-level computed traits include: - Calculate the number of times users associated with an account logged in during the past month diff --git a/src/guides/how-to-guides/cross-channel-tracking.md b/src/guides/how-to-guides/cross-channel-tracking.md index 5124a0f85a..1710577cf0 100644 --- a/src/guides/how-to-guides/cross-channel-tracking.md +++ b/src/guides/how-to-guides/cross-channel-tracking.md @@ -91,7 +91,7 @@ UTM parameters are types of query strings added to the end of a URL. When clicke ![Diagram showing how different UTM parameters redirect to your site and then are displayed in Traffic analytics.](images/x-channel_GWqnp2I6.png) -UTM parameters are only used when linking to your site from outside of your domain. When a visitor arrives to your site using a link containing UTM parameters, Segment's client-side analytics.js library will automatically parse the URL's query strings, and store them within the `context` object as outlined [here](/docs/connections/spec/common/#context-fields-automatically-collected). These parameters do not persist to subsequent calls unless you pass them explicitly. +UTM parameters are only used when linking to your site from outside of your domain. When a visitor arrives to your site using a link containing UTM parameters, Segment's client-side analytics.js library will automatically parse the URL's query strings, and store them within the `context` object as outlined in the [Spec: Common](/docs/connections/spec/common/#context-fields-automatically-collected) docs. These parameters do not persist to subsequent calls unless you pass them explicitly. UTM parameters contain three essential components: diff --git a/src/guides/usage-and-billing/startup-program.md b/src/guides/usage-and-billing/startup-program.md index 3d648f818b..1a0eff242d 100644 --- a/src/guides/usage-and-billing/startup-program.md +++ b/src/guides/usage-and-billing/startup-program.md @@ -16,7 +16,7 @@ The Segment Startup Program includes three components: - Partner **Startup Deals** - Segment partners with other technology companies that offer valuable tools for startups to offer exclusive deals and promotions from marketing, data warehouse, and analytics tools. - **Startup Resources** - Segment offers learning materials on topics like analytics, product-market fit, and more for founders to become experts on data analytics and making the most of Segment's technology. -Interested companies can apply [here](http://segment.com/industry/startups). +Interested companies can apply on the [Startup Program](http://segment.com/industry/startups){:target="_blank”} site. *Can vary based on affiliated accelerator and VC partners. @@ -45,7 +45,7 @@ If you go over the total credit applied, you will be charged for the additional Once you've used your total credits, you might be eligible to renew for another year at a discounted rate. Otherwise, we can talk about options for upgrading your plan. **How do I get the startup partner deals?** -Once you've been accepted to the Segment Startup Program, you can apply for the partner deals using [this form](http://bit.ly/segment-deal-redeem). (You can view a list of the available deals [here](https://bit.ly/segment-partner-deals).) +Once you've been accepted to the Segment Startup Program, you can apply for the partner deals using [this Airtable form](http://bit.ly/segment-deal-redeem){:target="_blank”}. (You can view a list of the available deals [in a section of the Airtable form](https://bit.ly/segment-partner-deals){:target="_blank”}.) **How do I know if my accelerator/incubator/VC firm has a relationship with Segment?** Ask your program manager to see if they participate in the Segment Startup Program. If they do not, you can request that they [apply to become a partner](https://airtable.com/shr84MIvVo4k8xbaO){:target="_blank"}. diff --git a/src/guides/usage-and-billing/twilio-developer-plan.md b/src/guides/usage-and-billing/twilio-developer-plan.md index 8817a5f465..01fdea35f5 100644 --- a/src/guides/usage-and-billing/twilio-developer-plan.md +++ b/src/guides/usage-and-billing/twilio-developer-plan.md @@ -22,7 +22,7 @@ Need more destinations or more MTUs? Upgrade to the [Team Plan](https://segment. ## How do I qualify for the Twilio Developer Plan? -You must have an active Twilio account to sign up for the Twilio Developer Plan. Active Twilio users can sign up for the Twilio Developer Plan [here](https://www.segment.com/twilio-developer-plan). +You must have an active Twilio account to sign up for the Twilio Developer Plan. Active Twilio users can sign up for the Twilio Developer Plan [on Segment's website](https://www.segment.com/twilio-developer-plan){:target="_blank”}. ## What is a data source? @@ -51,8 +51,8 @@ For more information about Monthly Tracked Users, see [What is an MTU?](/docs/gu If you exceed the 10,000 MTU limit once in a 6-month period, Segment locks access to your account, but data still flows through Segment. To unlock your account, you can choose from these options: - **Option 1**: Wait for a full billing cycle (1 month) to go by without any overages. Segment unlocks your account if the MTU numbers reduce on their own. -- **Option 2**: Upgrade to the [Team plan](https://segment.com/pricing/). This starts a 2-week free trial that gives you 14 days to fix your implementation to decrease the traffic. -- **Option 3:** Upgrade to a [Business plan](https://segment.com/pricing/). Business plans are custom built for customers and typically have higher MTU limits than Team plans. [Click here](https://segment.com/demo) to schedule time with a Segment representative to see if a Business plan is a good fit for you. +- **Option 2**: Upgrade to the [Team plan](https://segment.com/pricing/){:target="_blank”}. This starts a 2-week free trial that gives you 14 days to fix your implementation to decrease the traffic. +- **Option 3:** Upgrade to a [Business plan](https://segment.com/pricing/){:target="_blank”}. Business plans are custom built for customers and typically have higher MTU limits than Team plans. [Schedule time with a Segment representative](https://segment.com/demo){:target="_blank”} to see if a Business plan is a good fit for you. If you exceed the 10,000 MTU limit twice in a 6-month period, Segment locks access to your account and also stops sending and receiving data. You can unlock your account by following option 2 or 3 above to upgrade your plan. diff --git a/src/partners/destinations/index.md b/src/partners/destinations/index.md index ffc007b34b..de47dd7d8d 100644 --- a/src/partners/destinations/index.md +++ b/src/partners/destinations/index.md @@ -17,7 +17,7 @@ Sign up for the [Segment Select Partner Program](https://segment.com/partners/in Before you begin development, consider the following points: -1. Decide the type of destination you want to build. Developer Center supports building cloud-mode and device-mode web destinations. Segment recommends building a cloud-mode destination, because data is sent to Segment prior to going to your API, so customers can take advantage of Segment features like filters, transformations, and replays. You can learn more [here](https://segment.com/docs/connections/destinations/#connection-modes). Developer Center does not support building device-mode mobile destinations. Segment recommends building a plugin to get information like session ID from the device. +1. Decide the type of destination you want to build. Developer Center supports building cloud-mode and device-mode web destinations. Segment recommends building a cloud-mode destination, because data is sent to Segment prior to going to your API, so customers can take advantage of Segment features like filters, transformations, and replays. You can learn more in the [Connection Modes](/docs/connections/destinations/#connection-modes) documentation. Developer Center does not support building device-mode mobile destinations. Segment recommends building a plugin to get information like session ID from the device. 2. Spec out the integration. If you want some guidance, you can use this [template](https://docs.google.com/document/d/1dIJxYge9N700U9Nhawapy25WMD8pUuey72S5qo3uejA/edit#heading=h.92w309fjzhti){:target="_blank"}, which will prompt you to think about the connection mode of the destination, the method of authentication, the settings, and the Actions and default Field Mappings that you want to build. diff --git a/src/partners/direct-destination.md b/src/partners/direct-destination.md index 4c2809f5e6..84ffecf716 100644 --- a/src/partners/direct-destination.md +++ b/src/partners/direct-destination.md @@ -115,7 +115,7 @@ Upon receiving data, your endpoint should reply with one of the following status | `401` | The client's API key is malformed, has expired, or is otherwise no longer valid. | | `403` | The client's API key is valid, but has been rejected due to inadequate permissions. | | `500` | If you encounter an internal error when processing the message, reply with this code. (Hopefully you won't have to send too many of these.) | -| `501` | If Segment sends you an [API call type](https://segment.com/docs/connections/spec/#api-calls) (indicated by the `type` property included on all messages) you don't support, reply with this code. Read more about the API call types Segment supports [here](https://segment.com/docs/connections/spec/#api-calls). | +| `501` | If Segment sends you an [API call type](/docs/connections/spec/#api-calls) (indicated by the `type` property included on all messages) you don't support, reply with this code. Read more about the API call types Segment supports [in the Spec](docs/connections/spec/#api-calls) docs. | | `503` | Send Segment this code when your endpoint is temporarily down for maintenance or otherwise not accepting messages. This helps Segment avoid dropping users' messages during your downtime. | #### Response body @@ -164,7 +164,7 @@ To test your Destination in the Catalog, click the "View in workspace" button in From here, click "Configure App", select a Source, and click "Confirm Source". You can now configure your destination by setting the "API Key", then clicking the toggle to enable the destination. -Next you can click the "Event Tester" tab to send data to your destination. Here you can see what requests Segment sends to your destination and introspect the response you are returning. Learn more about the event tester [here](/docs/guides/best-practices/how-do-I-test-my-connections/). +Next you can click the "Event Tester" tab to send data to your destination. Here you can see what requests Segment sends to your destination and introspect the response you are returning. Learn more about the event tester in the [Event Tester docs](/docs/connections/test-connections/). Now you can use the JavaScript SDK in a browser to generate real analytics events. diff --git a/src/partners/faqs.md b/src/partners/faqs.md index cb990d8eb8..c28f688ae7 100644 --- a/src/partners/faqs.md +++ b/src/partners/faqs.md @@ -22,7 +22,7 @@ For unknown users, Segment will handle generating a unique `anonymousId` using o Segment handles cacheing these values on our mobile SDKs and client-side analytics.js library and sending the values on subsequent calls. Our server-side libraries rely on the customer creating either the `anonymousId` or `userId` and passing this in on each call. -Read more about our unique ID's [here](https://segment.com/blog/a-brief-history-of-the-uuid/). +Read more about unique IDs on Segment's blog: [A brief history of the UUID](https://segment.com/blog/a-brief-history-of-the-uuid/){:target="_blank”}. ### Do you have semantic events? @@ -38,13 +38,13 @@ No. Since Segment queues events, Segment cannot guarantee the order in which the ### Does Segment de-dupe messages? -Yes! Segment de-dupes messages by `messageId`. +Yes, Segment de-dupes messages by `messageId`. Segment maintains a sliding window of all `messageId`s received for each source, only allowing `messageId`s through that do not already appear within the window. Segment guarantees this window to be at least 24 hours of messages (meaning any message sent twice within 24 hours will be de-duped), but in practice, this window is significantly larger(currently sitting at around 170 days). -You can read more [here](https://segment.com/blog/exactly-once-delivery/). +You can read more on the Segment blog: [Delivering billions of messages exactly once](https://segment.com/blog/exactly-once-delivery/){:target="_blank”}. ### What is a replay? @@ -62,9 +62,9 @@ Be sure to let us know if you are able to accept replays and what your rate limi Segment provides excellent data deliverability by employing API layer scalability and durability, data backup and replay, partner API monitoring, and library and integration cloud retries. Segment's API processes 170B+ billion calls per month across over a billion of monthly tracked users, is rate performant (avg. load 100,000 msg/sec), fully automated and scalable, can tolerate massive data spikes. -Segment monitors hundreds of partner APIs for 500s, success rate, and end-to-end latency to help our customers proactively achieve the best data deliverability possible. +Segment monitors hundreds of partner APIs for 500s, success rate, and end-to-end latency to help customers proactively achieve the best data deliverability possible. -You can subscribe to updates [here](https://status.segment.com/). +You can subscribe to updates on [status.segment.com](https://status.segment.com/){:target="_blank”}. ### Does Segment retry data? diff --git a/src/partners/index.md b/src/partners/index.md index f5a8d21905..3475cd659c 100644 --- a/src/partners/index.md +++ b/src/partners/index.md @@ -38,7 +38,7 @@ To develop your integration in the Developer Center, complete the following step ### Become a Segment Partner -Sign up for the [Segment Select Partner Program](https://segment.com/partners/integration/). During the sign-up process, you’ll agree to the [Segment Partner Program Agreement](https://segment.com/legal/partnersagreement/) and [Privacy Policy](https://segment.com/legal/privacy/). +Sign up for the [Segment Select Partner Program](https://segment.com/partners/integration/){:target="_blank”}. During the sign-up process, you’ll agree to the [Segment Partner Program Agreement](https://segment.com/legal/partnersagreement/){:target="_blank”} and [Privacy Policy](https://segment.com/legal/privacy/){:target="_blank”}. ### Understand Segment's conceptual model and Spec @@ -48,7 +48,7 @@ The [Segment Spec](/docs/connections/spec) provides best practices for the speci ### Follow Segment's security guidance -Security for both customers and partners is a priority at Segment. Before you start building on the Developer Center, review the [Acceptable Use Policy](https://segment.com/legal/acceptable-use-policy/) and ensure you're following these guidelines: +Security for both customers and partners is a priority at Segment. Before you start building on the Developer Center, review the [Acceptable Use Policy](https://segment.com/legal/acceptable-use-policy/){:target="_blank”} and ensure you're following these guidelines: - Follow a secure software-development lifecycle, which enables you to create code that is safe for Segment customers and their end users, and that enables you to maintain and raise the security of that code over time - If you or your code comes into contact with Segment customer- or end-user data for any reason, protect it with commercially reasonable methods throughout its data lifecycle, including creation, handling, transporting, storing and destruction. @@ -57,7 +57,7 @@ Security for both customers and partners is a priority at Segment. Before you st ### Request access to the Segment Developer Center -Segment provides access to the developer on request. [Click here](https://segment.com/partners/developer-center/){:target="_blank"} to request access. A Segment account is required for this step. +Segment provides access to the Developer Portal on request. Open the Developer Portal page and click [Sign up](https://segment.com/partners/developer-center/){:target="_blank"} to request access. A Segment account is required for this step. Segment receives a large volume of requests so please include a valid company website and email address, answer all questions with details about integration's use case as well as highlighting specific customer requests to expedite the approval process. @@ -79,11 +79,11 @@ Before users can go hands on with your integration, a review by Segment engineer #### Destinations -To submit your destination for review, follow the destination-specific instructions [here](/docs/partners/destinations#submit-a-pull-request). +To submit your destination for review, follow the destination-specific instructions in the [Submit a pull request](/docs/partners/destinations#submit-a-pull-request) docs. #### Sources -To submit your source for review, complete the steps described in the Developer Portal, and click **Submit for review**. +To submit your source for review, complete the steps described in the Developer Portal and click **Submit for review**. {% comment %} ## Provide integration metadata for the catalog diff --git a/src/partners/sources.md b/src/partners/sources.md index a3d87ac813..1c7d6599d9 100644 --- a/src/partners/sources.md +++ b/src/partners/sources.md @@ -52,7 +52,7 @@ Here are the five most common options: - `Sentence case` — Account created -You can read more about Segment's recommended naming conventions [here](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/){:target="_blank"}. +You can read more about Segment's recommended naming conventions in the Segment Academy post [Naming Conventions: Why You Need Them for Clean Data](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/){:target="_blank"}. ### `userId` @@ -101,7 +101,7 @@ The write key is required in the header of every call to identify the customer w **Rate limits and batching** There is no hard rate limit at which point Segment will drop your data. However, to avoid processing delays, Segment asks partners to send requests at a maximum rate of 50 requests per second. -If you want to batch requests to the HTTP endpoint, refer to the batching documentation [here](/docs/connections/sources/catalog/libraries/server/http-api/#import). The suggested maximum rate includes any batch requests. +If you want to batch requests to the HTTP endpoint, refer to the HTTP API's [batching documentation](/docs/connections/sources/catalog/libraries/server/http-api/#import). The suggested maximum rate includes any batch requests. ## Regional Segment diff --git a/src/partners/subscriptions/build-webhook.md b/src/partners/subscriptions/build-webhook.md index 65fe1ba13d..19573653be 100644 --- a/src/partners/subscriptions/build-webhook.md +++ b/src/partners/subscriptions/build-webhook.md @@ -14,7 +14,7 @@ Review the steps outlined in the [Developer Center Overview](/docs/partners). Th 1. Understand Segment's [Conceptual Model](/docs/partners/conceptual-model) and [Spec](/docs/connections/spec). 2. Follow Segment's security guidance. -3. Request [access to the Segment Developer Center](https://segment.com/partners/developer-center/). +3. Request [access to the Segment Developer Center](https://segment.com/partners/developer-center/){:target="_blank”}. 4. Create an App. 5. Build and test your Component(s). 6. Publish documentation. @@ -124,7 +124,7 @@ Upon receiving data, your endpoint should reply with one of the following status | `401` | The client's API key is malformed, has expired, or is otherwise no longer valid. | | `403` | The client's API key is valid, but has been rejected due to inadequate permissions. | | `500` | If you encounter an internal error when processing the message, reply with this code. (Hopefully you won't have to send too many of these.) | -| `501` | If Segment sends you an [API call type](https://segment.com/docs/connections/spec/#api-calls) (indicated by the `type` property included on all messages) you don't support, reply with this code. Read more about the API call types Segment supports [here](https://segment.com/docs/connections/spec/#api-calls). | +| `501` | If Segment sends you an [API call type](/docs/connections/spec/#api-calls) (indicated by the `type` property included on all messages) you don't support, reply with this code. Read more about the API call types Segment supports in the [Segment Spec documentation](/docs/connections/spec/#api-calls). | | `503` | Send Segment this code when your endpoint is temporarily down for maintenance or otherwise not accepting messages. This helps Segment avoid dropping users' messages during your downtime. | #### Response Body @@ -178,7 +178,7 @@ To test your Destination in the Catalog, click the "Test" tab in the Developer C From here, click "Configure App", select a Source, and click "Confirm Source". You can now configure your destination by setting the "API Key", then clicking the toggle to enable the destination. -Next you can click the "Event Tester" tab to send data to your destination. Here you can see what requests Segment sends to your destination and introspect the response you are returning. Learn more about the event tester [here](/docs/guides/best-practices/how-do-I-test-my-connections/). +Next you can click the "Event Tester" tab to send data to your destination. Here you can see what requests Segment sends to your destination and introspect the response you are returning. Learn more about the event tester in the [Event Tester](/docs/connections/test-connections/) docs. Now you can use the JavaScript SDK in a browser to generate real analytics events. diff --git a/src/partners/subscriptions/index.md b/src/partners/subscriptions/index.md index b95c5ef23d..13932dcfaa 100644 --- a/src/partners/subscriptions/index.md +++ b/src/partners/subscriptions/index.md @@ -15,7 +15,7 @@ Review the steps outlined in the [Developer Center Overview](/docs/partners). Th 1. Understand Segment's [Conceptual Model](/docs/partners/conceptual-model) and [Spec](/docs/connections/spec). 2. Follow Segment's security guidance. -3. Request [access to the Segment Developer Center](https://segment.com/partners/developer-center/). +3. Request [access to the Segment Developer Center](https://segment.com/partners/developer-center/)/docs/connections/test-connections/. 4. Create an App. 5. Build and test your Component(s). 6. Publish documentation. @@ -27,4 +27,4 @@ Review the steps outlined in the [Developer Center Overview](/docs/partners). Th > note "" > **NOTE:** On July 31, 2021 support for building Subscription Functions was removed from Developer Center. You may continue building [Subscription Webhooks](/docs/partners/subscriptions/build-webhook) in place of Subscription Functions. Work has begun on Developer Center 2.0 which will offer a more holistic approach to building on Segment. If you're interested in joining the beta in the coming months, please fill out [this form](https://airtable.com/shrvZzQ6NTTwsc6rQ){:target="_blank"}! -[Subscription Webhooks](/docs/partners/subscriptions/build-webhook) allow you to build a new HTTP service that receives Webhook POSTs from Segment. Read more in-depth technical details about building webhooks [here](/docs/partners/subscriptions/build-webhook). +[Subscription Webhooks](/docs/partners/subscriptions/build-webhook) allow you to build a new HTTP service that receives Webhook POSTs from Segment. Read more in-depth technical details about building webhooks in the [Subscription Webhooks](/docs/partners/subscriptions/build-webhook) docs. diff --git a/src/protocols/apis-and-extensions/typewriter.md b/src/protocols/apis-and-extensions/typewriter.md index 07541dd657..d2899545f8 100644 --- a/src/protocols/apis-and-extensions/typewriter.md +++ b/src/protocols/apis-and-extensions/typewriter.md @@ -4,9 +4,9 @@ redirect_from: '/protocols/typewriter/' --- > warning "" -> Typewriter for analytics.js and analytics-node will receive no new features and only critical maintenance updates from Segment. Typewriter for other libraries and SDKs are not actively maintained by Segment. Typewriter is available on [Github](https://github.com/segmentio/typewriter/){:target="_blank”} under the MIT license for the open-source community to fork and contribute. +> Typewriter for analytics.js and analytics-node will receive no new features and only critical maintenance updates from Segment. Typewriter for other libraries and SDKs are not actively maintained by Segment. Typewriter is available on [GitHub](https://github.com/segmentio/typewriter/){:target="_blank”} under the MIT license for the open-source community to fork and contribute. -[Typewriter](https://github.com/segmentio/typewriter) is a tool for generating strongly-typed Segment analytics libraries based on your pre-defined [Tracking Plan](/docs/protocols/tracking-plan) spec. +[Typewriter](https://github.com/segmentio/typewriter){:target="_blank”} is a tool for generating strongly-typed Segment analytics libraries based on your pre-defined [Tracking Plan](/docs/protocols/tracking-plan) spec. At a high-level, Typewriter can take an event from your Tracking Plan like this `"Order Completed"` event: @@ -60,13 +60,13 @@ To get started, check out one of the quickstart guides below: - [Swift Quickstart](#swift-quickstart) > info "" -> For use with the Analytics-iOS and Analytics-Android SDK, use [Typewriter v7](/docs/protocols/apis-and-extensions/typewriter-v7). +> For use with the Analytics-iOS and Analytics-Android SDK, use [Typewriter v7](/docs/protocols/apis-and-extensions/typewriter-v7){:target="_blank”}. -Have feedback on Typewriter? Consider opening a [GitHub issue here](https://github.com/segmentio/typewriter/issues/new). +Have feedback on Typewriter? Consider opening a [GitHub Issue in the @segmentio/typewriter](https://github.com/segmentio/typewriter/issues/new){:target="_blank”} repository. ## Prerequisites -Typewriter is built using [Node.js](https://nodejs.org/en/), and requires node >= 14.x +Typewriter is built using [Node.js](https://nodejs.org/en/){:target="_blank”}, and requires node >= 14.x You can check if you have Node and NPM installed by running the following commands in your command-line window: @@ -75,7 +75,7 @@ $ node --version v14.x ``` -If you don't have these, [you'll need to install `node`](https://nodejs.org/en/download/package-manager). Installing `node` also installs `npm` and `npx` for you. If you're on macOS, you can install it with [Homebrew](https://brew.sh/): +If you don't have these, [you'll need to install `node`](https://nodejs.org/en/download/package-manager){:target="_blank”}. Installing `node` also installs `npm` and `npx` for you. If you're on macOS, you can install it with [Homebrew](https://brew.sh/){:target="_blank”}: ```sh $ brew install node @@ -89,7 +89,7 @@ To get started with Typewriter in your browser: 1. Make sure you have `node` installed using the instructions in the [prerequisites](#prerequisites) above. 2. Install `analytics.js` in your app. There are two methods. - **Snippet method (most common)**: Paste the snippet in the[`Step 1: Copy the Snippet`](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet) from the [`analytics.js` Quickstart Guide](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/). - - **NPM method**: Load analytics.js with the npm library. Learn more about using the npm method [here](https://github.com/segmentio/analytics-next/tree/master/packages/browser#readme). + - **NPM method**: Load analytics.js with the npm library. Learn more about using the npm method in the [@segmentio/analytics-next](https://github.com/segmentio/analytics-next/tree/master/packages/browser#readme){:target="_blank”} repository. 3. Once you've got `analytics.js` installed, add Typewriter as a developer dependency in your project: @@ -191,7 +191,7 @@ To get started with Node.js: > info "" > Run `npx typewriter` to regenerate your Typewriter client. You need to do this each time you update your Tracking Plan. -Typewriter wraps your analytics calls in an [ES6 `Proxy`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy), which helps protect your application from crashing if you make analytics calls with a generated function that doesn't exist. For example, if an `Order Completed` event didn't exist in your Tracking Plan in the first example above, then your app would crash with a `TypeError: typewriter.orderCompleted is not a function`. However, since `typewriter` dynamically proxies the underlying function calls, it can detect if a function does not exist, and handle it for you. Typewriter logs a warning message, then fires an `Unknown Analytics Call Fired` event into your source. This helps to prevent regressions when you migrate JavaScript projects to Typewriter in bulk. Keep in mind that proxying doesn't work with named exports. +Typewriter wraps your analytics calls in an [ES6 `Proxy`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy){:target="_blank”}, which helps protect your application from crashing if you make analytics calls with a generated function that doesn't exist. For example, if an `Order Completed` event didn't exist in your Tracking Plan in the first example above, then your app would crash with a `TypeError: typewriter.orderCompleted is not a function`. However, since `typewriter` dynamically proxies the underlying function calls, it can detect if a function does not exist, and handle it for you. Typewriter logs a warning message, then fires an `Unknown Analytics Call Fired` event into your source. This helps to prevent regressions when you migrate JavaScript projects to Typewriter in bulk. Keep in mind that proxying doesn't work with named exports. ## Swift Quickstart @@ -332,13 +332,13 @@ $ npx typewriter ## API Token Configuration -Typewriter requires a Segment API token to fetch Tracking Plans from the [Segment Public API](https://docs.segmentapis.com/). +Typewriter requires a Segment API token to fetch Tracking Plans from the [Segment Public API](https://docs.segmentapis.com/){:target="_blank”}. You must be a workspace owner to create Segment API tokens. To create an API token: -1. Click on the **Tokens** tab on the [Access Management](https://app.segment.com/goto-my-workspace/settings/access-management) page and click **Create Token**. +1. Click on the **Tokens** tab on the [Access Management](https://app.segment.com/goto-my-workspace/settings/access-management){:target="_blank”} page and click **Create Token**. 2. Choose Segment's Public API. 3. Add a description for the token and assign access. If you choose *Workspace Member*, you only need to select **Tracking Plan Read-Only** for the Resource Role, as Typewriter only needs the *Tracking Plan Read-Only* role. 4. Click **Create**. @@ -363,19 +363,19 @@ To make the most of Typewriter, Segment recommends installing a few extensions: **JavaScript** -Typewriter clients include function documentation adhering to the [JSDoc](https://jsdoc.app/) specification. Install the relevant extension below for JSDoc support in your editor: +Typewriter clients include function documentation adhering to the [JSDoc](https://jsdoc.app/){:target="_blank”} specification. Install the relevant extension below for JSDoc support in your editor: - *VSCode*: Supports JSDoc out-of-the-box. -- *Atom*: Install the official [atom-ide-ui](https://atom.io/packages/atom-ide-ui) and [ide-typescript](https://atom.io/packages/ide-typescript) plugins (the latter provides JavaScript support). -- *Sublime Text*: Install [`tern_for_sublime`](https://packagecontrol.io/packages/tern_for_sublime). And then [follow this guide's advice](https://medium.com/@nicklee1/configuring-sublime-text-3-for-modern-es6-js-projects-6f3fd69e95de) on configuring Tern. +- *Atom*: Install the official [atom-ide-ui](https://atom.io/packages/atom-ide-ui){:target="_blank”} and [ide-typescript](https://atom.io/packages/ide-typescript){:target="_blank”} plugins (the latter provides JavaScript support). +- *Sublime Text*: Install [`tern_for_sublime`](https://packagecontrol.io/packages/tern_for_sublime){:target="_blank”}. And then [follow this guide's advice](https://medium.com/@nicklee1/configuring-sublime-text-3-for-modern-es6-js-projects-6f3fd69e95de){:target="_blank”} on configuring Tern. **TypeScript** For intellisense in TypeScript clients, install the relevant extension below for TypeScript support in your editor. If your project is a mix between JavaScript and TypeScript, then you should also install the plugins in the JavaScript section above so that your editor will also support JSDoc intellisense. - *VSCode*: Supports TypeScript out-of-the-box. -- *Atom*: Install the official [atom-ide-ui](https://atom.io/packages/atom-ide-ui) and [ide-typescript](https://atom.io/packages/ide-typescript) plugins. -- *Sublime Text*: Install the [TypeScript](https://packagecontrol.io/packages/TypeScript) plugin from [Package Control](https://packagecontrol.io/installation). +- *Atom*: Install the official [atom-ide-ui](https://atom.io/packages/atom-ide-ui){:target="_blank”} and [ide-typescript](https://atom.io/packages/ide-typescript){:target="_blank”} plugins. +- *Sublime Text*: Install the [TypeScript](https://packagecontrol.io/packages/TypeScript){:target="_blank”} plugin from [Package Control](https://packagecontrol.io/installation){:target="_blank”}. **iOS** @@ -454,7 +454,7 @@ scripts: token: echo "OIEGO$*hf83hfh034fnosnfiOEfowienfownfnoweunfoiwenf..." ``` -To give a real example, Segment stores secrets in [`segmentio/chamber`](http://github.com/segmentio/chamber) which is backed by [AWS Parameter Store](https://aws.amazon.com/blogs/mt/the-right-way-to-store-secrets-using-parameter-store/){:target="_blank"}. Providing access to a token in `chamber` looks like this: +To give a real example, Segment stores secrets in [`segmentio/chamber`](http://github.com/segmentio/chamber){:target="_blank”} which is backed by [AWS Parameter Store](https://aws.amazon.com/blogs/mt/the-right-way-to-store-secrets-using-parameter-store/){:target="_blank"}. Providing access to a token in `chamber` looks like this: ```yaml scripts: @@ -467,7 +467,7 @@ To learn more about the `typewriter.yml` configuration format, see the [Configur In your `typewriter.yml`, you can configure a script (`scripts.after`) that fires after generating a Typewriter client. You can use this to apply your team's style guide to any of Typewriter's auto-generated files. -For example, if you want to apply your [`prettier`](https://prettier.io/) formatting to `plan.json` (the local snapshot of your Tracking Plan), you can use an `after` script like this: +For example, if you want to apply your [`prettier`](https://prettier.io/){:target="_blank”} formatting to `plan.json` (the local snapshot of your Tracking Plan), you can use an `after` script like this: ```yaml scripts: @@ -507,7 +507,7 @@ $ npx typewriter development $ npx typewriter production ``` > note "" -> Not all languages support run-time validation. Currently, `analytics.js` and `analytics-node` support it using [AJV](https://github.com/epoberezkin/ajv) (both for JavaScript and TypeScript projects) while `analytics-ios` and `analytics-android` do not yet support run-time validation. Typewriter also doesn't support run-time validation using Common JSON Schema. For languages that don't support run-time validation, the development and production clients are identical. +> Not all languages support run-time validation. Currently, `analytics.js` and `analytics-node` support it using [AJV](https://github.com/epoberezkin/ajv){:target="_blank”} (both for JavaScript and TypeScript projects) while `analytics-ios` and `analytics-android` do not yet support run-time validation. Typewriter also doesn't support run-time validation using Common JSON Schema. For languages that don't support run-time validation, the development and production clients are identical. Segment recommends you to use a development build when testing your application locally, or when running tests. Segment generally recommends _against_ using a development build in production, since this includes a full copy of your Tracking Plan which can increase the size of the application. @@ -572,8 +572,8 @@ Not all languages support run-time validation. Currently, `analytics.js` and `an ## Contributing -If you're interested in contributing, [open an issue on GitHub](https://github.com/segmentio/typewriter/issues/new) and Segment can help provide you pointers to get started. +If you're interested in contributing, [open an issue on GitHub](https://github.com/segmentio/typewriter/issues/new){:target="_blank”} and Segment can help provide you pointers to get started. ## Feedback -Segment welcomes feedback you may have on your experience with Typewriter. To contact Segment, [open an issue on GitHub](https://github.com/segmentio/typewriter/issues/new). +Segment welcomes feedback you may have on your experience with Typewriter. To contact Segment, [open an issue on GitHub](https://github.com/segmentio/typewriter/issues/new){:target="_blank”}. diff --git a/src/unify/identity-resolution/identity-resolution-settings.md b/src/unify/identity-resolution/identity-resolution-settings.md index 9aefcd9bf5..2aaa61a209 100644 --- a/src/unify/identity-resolution/identity-resolution-settings.md +++ b/src/unify/identity-resolution/identity-resolution-settings.md @@ -10,18 +10,18 @@ redirect_from: > info "" -> The steps in this guide pertain to spaces created before September 27th, 2020. For spaces created after September 27th, 2020, please refer to the onboarding guide [here](/docs/unify/identity-resolution/identity-resolution-onboarding/). +> The steps in this guide pertain to spaces created before September 27th, 2020. For spaces created after September 27th, 2020, please refer to the [Identity Resolution Onboarding](/docs/unify/identity-resolution/identity-resolution-onboarding/) docs. ## Configure Identity Graph rules -Before you connect a source to Unify, Segment recommends that you first review the default Identity settings and configure custom rules as needed. Segment applies configuration updates to all *new* data flowing through the space after you save your changes. As a result, if this is your first time setting up your Identity Graph, Segment recommends that you get started with a *Dev* space [here](/docs/unify/identity-resolution/space-setup/). +Before you connect a source to Unify, Segment recommends that you first review the default Identity settings and configure custom rules as needed. Segment applies configuration updates to all *new* data flowing through the space after you save your changes. As a result, if this is your first time setting up your Identity Graph, Segment recommends that you get started with a *Dev* space in the [Space Setup](/docs/unify/identity-resolution/space-setup/) docs. > info "" > Workspace owners and users with the Identity Admin role can edit the Identity Resolution table. > warning "Changing Identity Resolution rules" > Making a space's Identity Resolution rules less restrictive by changing the [limit](/docs/unify/identity-resolution/identity-resolution-settings/#limit) shouldn't cause any issues to existing or future profiles.

However, making a space's rules more restrictive might have an impact existing profiles that don't adhere to the new rules (for example, decreasing an identifier's limit or changing the [priority](/docs/unify/identity-resolution/identity-resolution-settings/#priority) of identifiers). ->

Segment recommends to get started with a Dev space [here](https://segment.com/docs/unify/identity-resolution/space-setup/), test the rules with the expected data, and then create an identical Production space with those rules. Document any changes to a space's Identity Resolution rules, and don't update rules to be more restrictive after profiles already exist outside the bounds of those new rules. +>

Segment recommends to get started with a Dev space in the [Space Setup](/docs/unify/identity-resolution/space-setup/) docs, test the rules with the expected data, and then create an identical Production space with those rules. Document any changes to a space's Identity Resolution rules, and don't update rules to be more restrictive after profiles already exist outside the bounds of those new rules. ## ExternalIDs diff --git a/src/unify/identity-resolution/space-setup.md b/src/unify/identity-resolution/space-setup.md index 59663fb9d7..d5fd41b54e 100644 --- a/src/unify/identity-resolution/space-setup.md +++ b/src/unify/identity-resolution/space-setup.md @@ -10,7 +10,7 @@ When starting with Unify, begin by creating a *Dev* space. This will be your san ## Step two: Configure Identity settings -Before you connect any source to the Dev space, Segment recommends that you first start by reviewing and configuring your Identity settings, as changes to the Identity rules will only be applied to new events received following any updates. Read more on those settings [here](/docs/unify/identity-resolution/identity-resolution-settings/). +Before you connect any source to the Dev space, Segment recommends that you first start by reviewing and configuring your Identity settings, as changes to the Identity rules will only be applied to new events received following any updates. Read more on those settings in the [Identity Resolution Settings](/docs/unify/identity-resolution/identity-resolution-settings/) docs. ## Step three: Set up a connection policy diff --git a/src/unify/product-limits.md b/src/unify/product-limits.md index 867c324523..542cd7f9ea 100644 --- a/src/unify/product-limits.md +++ b/src/unify/product-limits.md @@ -7,7 +7,7 @@ redirect_from: --- > info "" -> Beginning August 18, 2023, new Unify Plus and Engage users can refer to this page for Segment's product limits. Existing users prior to this date can continue to refer to the Engage product limits [here](/docs/engage/product-limits/). +> Beginning August 18, 2023, new Unify Plus and Engage users can refer to this page for Segment's product limits. Existing users prior to this date can continue to refer to the Engage product limits in the [Engage Default Limits](/docs/engage/product-limits/) documentation. To provide consistent performance and reliability at scale, Segment enforces default use and rate limits within Unify. Most customers do not exceed these limits. diff --git a/src/unify/quickstart.md b/src/unify/quickstart.md index ce14843124..bb03c679a8 100644 --- a/src/unify/quickstart.md +++ b/src/unify/quickstart.md @@ -40,12 +40,12 @@ You probably have teammates who help set up your Segment Workspace with the data Segment recommends connecting your production website or App source as a great starting point. > info "" -> If the source you want to add doesn't appear on the list, then check if the source is enabled. If the source is enabled, verify that you have set up a connection policy which enforces that you can only add sources with specific labels to this space. Read more about Segment's connection policy [here](/docs/unify/identity-resolution/space-setup/#step-three-set-up-a-connection-policy). +> If the source you want to add doesn't appear on the list, then check if the source is enabled. If the source is enabled, verify that you have set up a connection policy which enforces that you can only add sources with specific labels to this space. Read more about Segment's connection policy in the [Space Setup](/docs/unify/identity-resolution/space-setup/#step-three-set-up-a-connection-policy) docs. > success "" > **Tip:** It sounds a little counter- intuitive to connect a production source to a developer space, but your production sources have rich user data in them, which is what you need to build and validate user profiles. -Once you select sources, Segment starts a replay of one month of historical data from these sources into your Unify space. We're doing this step first so you have some user data to build your first profiles. +Once you select sources, Segment starts a replay of one month of historical data from these sources into your Unify space. Segment does this step first so you have some user data to build your first profiles. The replay usually takes several hours, but the duration will vary depending on how much data you have sent through these sources in the past one month. When the replay finishes, you are notified in the Sources tab under Settings, shown below. diff --git a/src/utils/cmode-verify.md b/src/utils/cmode-verify.md index f045e54f3b..2a66ee8d4d 100644 --- a/src/utils/cmode-verify.md +++ b/src/utils/cmode-verify.md @@ -102,7 +102,7 @@ tests: mobile: true server: true --- -Use this page to verify that the static table at the top of each section matches the API generated tables below it. Any mismatches indicate a change in the API that requires further research to determine impact to the main Connection Modes table [here](docs/connections/destinations/cmodes-compare/). +Use this page to verify that the static table at the top of each section matches the API generated tables below it. Any mismatches indicate a change in the API that requires further research to determine impact to the main Connection Modes table in the [Destinations Connection Modes comparison](docs/connections/destinations/cmodes-compare/) docs. Mismatches are shown highlighted in Red.
**Parsely Parameter****Parse.ly Parameter** **Segment Property** **Data Type**