diff --git a/_includes/content/spec-field-page-name.md b/_includes/content/spec-field-page-name.md
index 3eddaad4a6..2099172ea9 100644
--- a/_includes/content/spec-field-page-name.md
+++ b/_includes/content/spec-field-page-name.md
@@ -2,6 +2,6 @@
`name` *optional* |
String |
Name of the page
- For example, most sites have a “Signup” page that can be useful to tag, so you can see users as they move through your funnel.
+ For example, most sites have a "Signup" page that can be useful to tag, so you can see users as they move through your funnel.
|
\ No newline at end of file
diff --git a/_includes/content/whats-a-destination.md b/_includes/content/whats-a-destination.md
new file mode 100644
index 0000000000..f10166265d
--- /dev/null
+++ b/_includes/content/whats-a-destination.md
@@ -0,0 +1,9 @@
+Destinations are business tools or apps that you can connect to the data flowing through Segment. Some of our most popular destinations are Google Analytics, Mixpanel, KISSmetrics, Customer.io, Intercom, and KeenIO.
+
+All of these tools run on the same data: who are your customers and what are they doing? But each tool requires that you send that data in a slightly different format, which means that you'd have to write code to track all of this information, again and again, for each tool, on each page of your app or website.
+
+Enter Segment. Do it once!
+
+We eliminate this process by introducing an abstraction layer. You send your data to us, and we understand how to translate it so we can send it along to any destination. You enable destinations from the catalog in the Segment App, and user data immediately starts flowing into those tools. No extra code required!
+
+We support many categories of destinations, from advertising to marketing, email to customer support, CRM to user testing, and even data warehouses. You can view a complete list of our [destinations](/docsv2/connections/destinations/catalog/) or check out our [destination page](https://segment.com/destinations) for a searchable list broken down by category.
diff --git a/_includes/content/whats-a-source.md b/_includes/content/whats-a-source.md
new file mode 100644
index 0000000000..2a2a74b958
--- /dev/null
+++ b/_includes/content/whats-a-source.md
@@ -0,0 +1,10 @@
+In Segment, you create a source (or more than one!) for each website or app you want to track. While it's not required that you have a single Source for each server, site or app, we **highly recommend** creating a Source for each unique source of data.
+
+Sources belong to a workspace, and the URL for a source look something like this:
+`https://segment.com//sources//`
+
+You can create new sources using the button in the workspace view. Each source you create has a write key, which is used to send data to that source. For example, to load [`analytics.js`, the Segment JavaScript library](https://segment.com/docs/sources/website/analytics.js/) on your page, the snippet on the [Quickstart Guide](https://segment.com/docs/sources/website/analytics.js/quickstart/) includes:
+
+```js
+analytics.load("YOUR_WRITE_KEY");
+```
diff --git a/_includes/content/whats-a-warehouse.md b/_includes/content/whats-a-warehouse.md
new file mode 100644
index 0000000000..5a4b59546c
--- /dev/null
+++ b/_includes/content/whats-a-warehouse.md
@@ -0,0 +1,13 @@
+A warehouse is a central repository of data collected from one or more sources. This is what commonly comes to mind you think about a relational database: structured data that fits neatly into rows and columns.
+
+In Segment, a Warehouse is a special type destination. Instead of streaming data to the destination all the time, we load data to them in bulk at a regular intervals. When we load data, we insert and update events and objects, and automatically adjust their schema to fit the data you’ve sent to Segment.
+
+When selecting and building a data warehouse, there are three questions to consider:
+
+1. What type of data will be collected?
+2. How many data sources will there be?
+3. How will the data be used?
+
+Relational databases are great when you know and predefine the information collected and how it will be linked. This is usually the type of database used in the world of user analytics. For instance, a users table might be populated with the columns "name", "email address", "plan name", etc.
+
+Examples of data warehouses include Amazon Redshift, Google BigQuery, MySQL, and Postgres.
diff --git a/_includes/content/whats-a-workspace.md b/_includes/content/whats-a-workspace.md
new file mode 100644
index 0000000000..d1014f19db
--- /dev/null
+++ b/_includes/content/whats-a-workspace.md
@@ -0,0 +1,3 @@
+A workspace is a group of sources that can be administered and billed together. Workspaces let you collaborate with team members, add permissions, and share sources across your whole team using a shared billing account.
+
+Workspaces help companies manage access for multiple users and data sources. When you are logged in to your Segment account, you can create a new workspace from the menu.
diff --git a/_templates/destinations.example.yml b/_templates/destinations.example.yml
index f7c2d77efc..bd05318323 100644
--- a/_templates/destinations.example.yml
+++ b/_templates/destinations.example.yml
@@ -11873,7 +11873,7 @@ destinations:
required: false
string_validators:
regexp: ''
- description: To find your API key, log into Pendo and navigate to “your user name”
+ description: To find your API key, log into Pendo and navigate to "your user name"
> Site settings > Basic Information > API key. If your account has not fully
been set up yet, you can see the API key inside of the code snippet on the Pendo
setup page.
@@ -14653,11 +14653,11 @@ destinations:
required: true
string_validators:
regexp: "^.{8,}$"
- description: To find your key, log into Split and navigate to “Admin Settings”
- > “Integrations” > select your desired workspace > “Segment”. There you can
+ description: To find your key, log into Split and navigate to "Admin Settings"
+ > "Integrations" > select your desired workspace > "Segment". There you can
find the key for each configured integration. If you don’t have an integration
- configured, be sure to configure your integration in the section “Configure
- as a destination in Segment” and click save to generate a key. For more information,
+ configured, be sure to configure your integration in the section "Configure
+ as a destination in Segment" and click save to generate a key. For more information,
learn more in Split’s [integration documentation](https://segment.com/docs/destinations/split/).
settings: []
- name: catalog/destinations/stitch-data
@@ -15562,7 +15562,7 @@ destinations:
required: true
string_validators:
regexp: "^[a-zA-Z0-9]*$"
- description: Drop in the “Integration Key” into your Segment Settings UI which
+ description: Drop in the "Integration Key" into your Segment Settings UI which
you can find on https://businessapp.b2b.trustpilot.com/#/ecommerce/segment
settings: []
- name: catalog/destinations/tune
diff --git a/connections/destinations/catalog/activecampaign/index.md b/connections/destinations/catalog/activecampaign/index.md
index ef22ce04c8..5548c63e32 100644
--- a/connections/destinations/catalog/activecampaign/index.md
+++ b/connections/destinations/catalog/activecampaign/index.md
@@ -13,8 +13,8 @@ This document was last updated on March 27, 2018. If you notice any gaps, outdat
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Active Campaign” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Active Campaign" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Add your API URL and API Key which can be found in your ActiveCampaign UI Settings page under the Developer tab.
4. Since the Segment ActiveCampaign destination integration is 100% handled through Segment, you don't need to install ActiveCampaign site tracking or event tracking Javascript code.
diff --git a/connections/destinations/catalog/adobe-analytics/index.md b/connections/destinations/catalog/adobe-analytics/index.md
index 1d82318254..3926d84122 100644
--- a/connections/destinations/catalog/adobe-analytics/index.md
+++ b/connections/destinations/catalog/adobe-analytics/index.md
@@ -451,7 +451,7 @@ You can either send the property value as a string (ie. `'brady'`) or as an arra
### Merchandising Events
-The Merchandising Events settings allow you to set eVars and events on a per-product basis within the “products” string, and support increment and currency events. This provides robust product string support, which you can read more about [here](https://marketing.adobe.com/resources/help/en_US/sc/implement/products.html).
+The Merchandising Events settings allow you to set eVars and events on a per-product basis within the "products" string, and support increment and currency events. This provides robust product string support, which you can read more about [here](https://marketing.adobe.com/resources/help/en_US/sc/implement/products.html).
The setting operates as follows:
diff --git a/connections/destinations/catalog/adobe-target/index.md b/connections/destinations/catalog/adobe-target/index.md
index de60095684..934eb30c30 100644
--- a/connections/destinations/catalog/adobe-target/index.md
+++ b/connections/destinations/catalog/adobe-target/index.md
@@ -121,7 +121,7 @@ document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function() {
### Preventing Page Flicker
Page flicker may occur when default content momentarily displays to a visitor
-prior to the A/B “activity” content replacing it. One approach to preventing
+prior to the A/B "activity" content replacing it. One approach to preventing
page flicker in conjunction with Segment would be to create a global mbox. Adobe
will automatically set the HTML body style opacity to 0, which keeps the page
content hidden while allowing the browser to still execute page load. After a
diff --git a/connections/destinations/catalog/adroll/index.md b/connections/destinations/catalog/adroll/index.md
index f7b0f0347d..8a009cd5df 100644
--- a/connections/destinations/catalog/adroll/index.md
+++ b/connections/destinations/catalog/adroll/index.md
@@ -17,8 +17,8 @@ This document was last updated on January 26, 2018. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Adroll" within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Adroll" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Locate both your AdRoll Advertiser ID and Pixel ID in AdRoll's "Audience" tab, "AdRoll Pixel" section. Click on "View Pixel". Your Advertiser ID will be listed beside `adroll_adv_id` and your AdRoll Pixel will be listed beside `adroll_pix_id`.

diff --git a/connections/destinations/catalog/alexa/index.md b/connections/destinations/catalog/alexa/index.md
index 5edfcf5514..4b92458ade 100644
--- a/connections/destinations/catalog/alexa/index.md
+++ b/connections/destinations/catalog/alexa/index.md
@@ -10,8 +10,8 @@ This document was last updated on October 16, 2018. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Alexa” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Alexa" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Fill in your "Account ID" which you can find in the Alexa Javascript snippet. It appears as atrk_acct: 'XXXXXXX'.
4. Fill in your "Domain" which you can find in the Alexa Javascript snippet. It appears as domain: 'example.com'.
5. In about 5-10 minutes the CDN will be updated and the Alexa Javascript snippet will be initialized onto your page.
diff --git a/connections/destinations/catalog/amazon-lambda/index.md b/connections/destinations/catalog/amazon-lambda/index.md
index c8a754e805..8c2a6abfaa 100644
--- a/connections/destinations/catalog/amazon-lambda/index.md
+++ b/connections/destinations/catalog/amazon-lambda/index.md
@@ -133,7 +133,7 @@ While setting up the new role, add the policy you created in the previous step.
Finish with any other setup items you may want (like `tags`). Once that’s complete, search for and click on your new roles from the [IAM home](https://console.aws.amazon.com/iam/home#/home).
-Select the “Trust Relationships” tab, then click the “Edit trust relationship” button.
+Select the "Trust Relationships" tab, then click the "Edit trust relationship" button.

@@ -170,7 +170,7 @@ If you have multiple Source’s using this Role, replace the `sts:ExternalId` se
## Configure Segment Lambda Destination
-Search for “Lambda" in our catalog. Connect the destination to the source you created previously. Now you will be presented with the AWS Lambda settings.
+Search for "Lambda" in our catalog. Connect the destination to the source you created previously. Now you will be presented with the AWS Lambda settings.
## FAQ
diff --git a/connections/destinations/catalog/amazon-personalize/index.md b/connections/destinations/catalog/amazon-personalize/index.md
index 1ca70ba150..e8eca2f5fa 100644
--- a/connections/destinations/catalog/amazon-personalize/index.md
+++ b/connections/destinations/catalog/amazon-personalize/index.md
@@ -590,7 +590,7 @@ The "Import user-item interaction data" step is displayed next. To complete this
For the "IAM service role", select "Create a new role" from the dropdown. In the next pop-up, we recommend listing your bucket name in the "Specific S3 buckets" option, but you're free to choose the option that best suits your needs.
-Next you will need the location of the CSV file you generated in the earlier steps. This needs to be configured in the “Data Location” field on this screen.
+Next you will need the location of the CSV file you generated in the earlier steps. This needs to be configured in the "Data Location" field on this screen.

@@ -692,7 +692,7 @@ While setting up the new role, add the policy you created in the previous step.
Finish with any other setup items you may want (like `tags`). Once that’s complete, search for and click on your new roles from the [IAM home](https://console.aws.amazon.com/iam/home#/home).
-Select the “Trust Relationships” tab, then click the “Edit trust relationship” button.
+Select the "Trust Relationships" tab, then click the "Edit trust relationship" button.

@@ -868,7 +868,7 @@ Enter a name for your Event Tracker.
You will need to configure a role for Personalize to that allows it to execute the tracker. This is the same as the execution role you defined earlier for Personalize:
-Often this is automatically included as a policy labelled "AmazonPersonalizeFullAccess”
+Often this is automatically included as a policy labelled "AmazonPersonalizeFullAccess"
```
{
@@ -917,7 +917,7 @@ Often this is automatically included as a policy labelled "AmazonPersonalizeFull
}
```
-This may be automatically included as policy “AmazonPersonalize-ExecutionPolicy-”
+This may be automatically included as policy "AmazonPersonalize-ExecutionPolicy-"
```
{
@@ -998,7 +998,7 @@ Your lambda is now ready to receive events from Segment. Next, you will need to
Once your Lambda function is enabled, you can send it events from Segment using the Personalize Destination.
-Search for “Amazon Personalize” in our catalog. Connect the destination to the source you created previously. Now you will be presented with the Amazon Personalize Settings.
+Search for "Amazon Personalize" in our catalog. Connect the destination to the source you created previously. Now you will be presented with the Amazon Personalize Settings.
We allow you to send each call type to a different Lambda. If you leave the Lambda field blank for a given call type, we won’t attempt to send any of those calls.
diff --git a/connections/destinations/catalog/appcues/index.md b/connections/destinations/catalog/appcues/index.md
index cc6104bbf8..796c593f82 100644
--- a/connections/destinations/catalog/appcues/index.md
+++ b/connections/destinations/catalog/appcues/index.md
@@ -116,6 +116,6 @@ lifecycle events that can be tracked:
* `coachmarks_completed`
To enable this feature, go to the Integrations Settings in Appcues and
-click “Activate” under the Segment integration.
+click "Activate" under the Segment integration.
{% include content/integration-foot.md %}
diff --git a/connections/destinations/catalog/appsflyer/index.md b/connections/destinations/catalog/appsflyer/index.md
index 4ea4942a3d..e873e43aa6 100644
--- a/connections/destinations/catalog/appsflyer/index.md
+++ b/connections/destinations/catalog/appsflyer/index.md
@@ -11,8 +11,8 @@ This document was last updated on April 27, 2018. If you notice any gaps, outdat
{% include content/connection-modes.md %}
- 1. From your Segment UI’s Destinations page click on “Add Destination”.
- 2. Search for “AppsFlyer“ within the Destinations Catalog and confirm the Source you’d like to connect to.
+ 1. From your Segment UI’s Destinations page click on "Add Destination".
+ 2. Search for "AppsFlyer" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your `AppsFlyer Dev Key`, which can be retrieved from the App Settings section of your AppsFlyer account.
4. Follow the instructions in the Github repos: [iOS SDK](https://github.com/AppsFlyerSDK/segment-appsflyer-ios) and [Android SDK](https://github.com/AppsFlyerSDK/AppsFlyer-Segment-Integration).
5. After you build and release to the app store, we start translating and sending your data to AppsFlyer automatically.
diff --git a/connections/destinations/catalog/apptimize/index.md b/connections/destinations/catalog/apptimize/index.md
index 332f30ea94..33bafe114e 100644
--- a/connections/destinations/catalog/apptimize/index.md
+++ b/connections/destinations/catalog/apptimize/index.md
@@ -10,8 +10,8 @@ This document was last updated on April 27, 2018. If you notice any gaps, outdat
{% include content/connection-modes.md %}
- 1. From your Segment UI’s Destinations page click on “Add Destination”.
- 2. Search for “Apptimize“ within the Destinations Catalog and confirm the Source you’d like to connect to.
+ 1. From your Segment UI’s Destinations page click on "Add Destination".
+ 2. Search for "Apptimize" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your Apptimize application key, the 31 character key which you can find in your [Apptimize app settings](https://apptimize.com/admin/settings/apps).
4. Depending on the mobile library you've selected, follow the below instructions to complete your setup.
diff --git a/connections/destinations/catalog/auryc/index.md b/connections/destinations/catalog/auryc/index.md
index 501bef9139..91816a9532 100644
--- a/connections/destinations/catalog/auryc/index.md
+++ b/connections/destinations/catalog/auryc/index.md
@@ -11,7 +11,7 @@ _**NOTE:** The Auryc Destination is currently in beta, which means that they are
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
+1. From your Segment UI’s Destinations page click on "Add Destination".
2. Search for Auryc within the Destinations Catalog and confirm the Source you’d like to connect to. Please note the source must be sending events via our Javascript library Analytics.js.
3. Add your Auryc site id in the destination settings. You can find this in Auryc by navigating to Project Settings > Web > and copying the value found on the line //cdn.auryc.com/auryc_siteid_here/container.js;
4. In about 5-10 minutes the CDN will be updated and Auryc snippet will be initialized onto your page.
diff --git a/connections/destinations/catalog/autopilothq/index.md b/connections/destinations/catalog/autopilothq/index.md
index 0f07bf0aef..d2c09b0788 100644
--- a/connections/destinations/catalog/autopilothq/index.md
+++ b/connections/destinations/catalog/autopilothq/index.md
@@ -13,7 +13,7 @@ This document was last updated on October 12, 2018. If you notice any gaps, outd
{% include content/connection-modes.md %}
- 1. From your Segment UI’s Destinations page click on “Add Destination”.
+ 1. From your Segment UI’s Destinations page click on "Add Destination".
2. Search for "Autopilot" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your "API Key" from [here](https://login.autopilothq.com/login#settings/app-connections/segment-sync) 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.
diff --git a/connections/destinations/catalog/bing-ads/index.md b/connections/destinations/catalog/bing-ads/index.md
index a99e81a30d..c3f307710e 100644
--- a/connections/destinations/catalog/bing-ads/index.md
+++ b/connections/destinations/catalog/bing-ads/index.md
@@ -14,8 +14,8 @@ Before you can track conversions or target audiences, you need to create a UET t
Once you have created the Tag ID, you can follow the steps below:
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Bing Ads” within the Destinations Catalog and confirm the Source you’d like to connect to. Please note the source must be sending events via our Javascript library Analytics.js.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Bing Ads" within the Destinations Catalog and confirm the Source you’d like to connect to. Please note the source must be sending events via our Javascript library Analytics.js.
3. Drop in your Tag Id
4. In about 5-10 minutes the CDN will be updated and Bing Ads' snippet will be initialized onto your page.
diff --git a/connections/destinations/catalog/braze/index.md b/connections/destinations/catalog/braze/index.md
index fe809d0e58..e733265f24 100644
--- a/connections/destinations/catalog/braze/index.md
+++ b/connections/destinations/catalog/braze/index.md
@@ -23,8 +23,8 @@ This document was last updated on June 13, 2018. If you notice any gaps, outdate
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Braze” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Braze" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. In your Segment Settings UI, add the "API Key" which can be found in your Braze Dashboard under App Settings > Manage App Group.
4. You will also need to setup a new App Group REST API Key in the Braze Dashboard under App Settings > Developer Console > API Settings. Instructions can be found [here](https://www.braze.com/documentation/REST_API/#creating-and-managing-rest-api-keys). **Note:** For this App Group REST API Key, you will only need to select users.track endpoint under "User Data"
5. If you are implementing via Analytics.js, Segment will automatically load the [Braze Web SDK](https://www.braze.com/documentation/Web/). Otherwise, depending on the source you’ve selected, include Braze’s library by adding the following lines to your dependency configuration.
@@ -326,7 +326,7 @@ The `inAppMessages` parameter will be an array of [`appboy.ab.InAppMessage`](htt
### Soft Push Prompts
-1. Follow [step one](https://www.Braze.com/documentation/Web/#soft-push-prompts) to create a “Prime for Push” in-app messaging Campaign on the Braze dashboard.
+1. Follow [step one](https://www.Braze.com/documentation/Web/#soft-push-prompts) to create a "Prime for Push" in-app messaging Campaign on the Braze dashboard.
2. Disable your [Automatically Send In-App Messages Destination setting](https://segment.com/docs/integrations/Braze/#settings). By default, it is enabled when you enable the Braze destination.
diff --git a/connections/destinations/catalog/bugherd/index.md b/connections/destinations/catalog/bugherd/index.md
index 93047e9aab..e897363217 100644
--- a/connections/destinations/catalog/bugherd/index.md
+++ b/connections/destinations/catalog/bugherd/index.md
@@ -9,8 +9,8 @@ This document was last updated on November 26, 2018. If you notice any gaps, out
{% include content/connection-modes.md %}
- 1. From your Segment UI’s Destinations page click on “Add Destination”.
- 2. Search for “BugHerd” within the Destinations Catalog and confirm the Source you’d like to connect to.
+ 1. From your Segment UI’s Destinations page click on "Add Destination".
+ 2. Search for "BugHerd" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your `API Key` as retrieved from the Install BugHerd tab on your BugHerd Project page.
4. Our CDN is updated within 5-10 minutes. Then our snippet will start asynchronously loading BugHerd onto your page. This means you should remove BugHerd's snippet from your page.
5. The BugHerd Destination doesn’t utilize any Segment API calls (e.g. identify, track, etc) so, once it's loaded, it’s good to go! Your BugHerd sidebar will begin appearing for your team.
diff --git a/connections/destinations/catalog/bugsnag/index.md b/connections/destinations/catalog/bugsnag/index.md
index 614c31726d..c3d8ba6086 100644
--- a/connections/destinations/catalog/bugsnag/index.md
+++ b/connections/destinations/catalog/bugsnag/index.md
@@ -19,8 +19,8 @@ This document was last updated on July 11th, 2018. If you notice any gaps, outda
### Web
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Bugsnag” within the Destinations Catalog and confirm the project you’d like to connect to
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Bugsnag" within the Destinations Catalog and confirm the project you’d like to connect to
3. Add your API key to your connection settings. You can find your API key in your Bugsnag dashboard under "Settings", which is located in the upper left-hand corner
4. We’ll automatically initialize Bugsnag's javascript script with your API key upon loading analytics.js
diff --git a/connections/destinations/catalog/clearbit-enrichment/index.md b/connections/destinations/catalog/clearbit-enrichment/index.md
index 73832ec2a4..003aca84f8 100644
--- a/connections/destinations/catalog/clearbit-enrichment/index.md
+++ b/connections/destinations/catalog/clearbit-enrichment/index.md
@@ -16,8 +16,8 @@ This document was last updated on April 20th, 2018. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Clearbit Enrichment” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Clearbit Enrichment" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. In your Segment UI's destination settings, enter your Clearbit **secret** API key (note: it should start with "sk_"). You can find this in the API section of your [Clearbit dashboard](https://dashboard.clearbit.com/api).
To verify that the destination has been set up correctly, check the Debugger section of your Segment Source. Assuming everything is as it should be, you should start seeing Clearbit Enrichment data populate in the `identify` events – click on the specific event you're interested in to see Clearbit Enrichment traits. These traits will now be available to other Segment destinations in your account. Notice that all Clearbit Enrichment traits are prefixed with `clearbit_` to ensure they don't conflict with existing traits.
diff --git a/connections/destinations/catalog/clearbit-reveal/index.md b/connections/destinations/catalog/clearbit-reveal/index.md
index 86fab21860..c2a647f71f 100644
--- a/connections/destinations/catalog/clearbit-reveal/index.md
+++ b/connections/destinations/catalog/clearbit-reveal/index.md
@@ -17,8 +17,8 @@ This document was last updated on August 29, 2018. If you notice any gaps, outda
{% include content/connection-modes.md %}
Setup within Segment:
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Clearbit Reveal” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Clearbit Reveal" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. In your Segment Settings UI, enter your Clearbit **secret** API key (note: it should start with "sk_"). You can find this in the API section of your [Clearbit dashboard](https://dashboard.clearbit.com/api).
Setup within Clearbit:
diff --git a/connections/destinations/catalog/clicky/index.md b/connections/destinations/catalog/clicky/index.md
index cf61de2c63..3a8f6180b6 100644
--- a/connections/destinations/catalog/clicky/index.md
+++ b/connections/destinations/catalog/clicky/index.md
@@ -14,8 +14,8 @@ This document was last updated on July 30th, 2018. If you notice any gaps, outda
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Clicky” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Clicky" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your Site ID in the settings. You can find your Site ID under the Preferences of your account: 
4. We’ll automatically initialize Clicky's script with your Site ID upon loading analytics.js.
diff --git a/connections/destinations/catalog/delighted/index.md b/connections/destinations/catalog/delighted/index.md
index db11e8dcce..d3faf5b405 100644
--- a/connections/destinations/catalog/delighted/index.md
+++ b/connections/destinations/catalog/delighted/index.md
@@ -15,8 +15,8 @@ This document was last updated on January 29, 2019. If you notice any gaps, out-
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “{{integration.name}}” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "{{integration.name}}" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your {{integration.name}} "API Key" in Segment's Settings UI. You can retrieve this from your {{integration.name}} Settings > API > Your API Key. It should look like "T8jtGnuYaNerDedVMYrcgn1dRdywfGOl".
4. If you're using Segment's client-side `analytics.js` library, we asynchronously load {{integration.name}}'s Javascript library onto the page and the CDN will be updated in 5-10 minutes.
diff --git a/connections/destinations/catalog/drift/index.md b/connections/destinations/catalog/drift/index.md
index c5a8153c8f..7ecb522241 100644
--- a/connections/destinations/catalog/drift/index.md
+++ b/connections/destinations/catalog/drift/index.md
@@ -20,7 +20,7 @@ This document was last updated on January 25, 2019. If you notice any gaps, outd
{% include content/connection-modes.md %}
- 1. From your Segment UI’s Destinations page click on “Add Destination”.
+ 1. From your Segment UI’s Destinations page click on "Add Destination".
2. Search for "Drift" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your `API Key` and `Embed ID` as obtained from your Drift account (if Drift account not accessible yet, please [email the team](mailto:team@drift.com) to get a link for the Drift account creation).
4. If you're using analytics.js and 'identify' users by default, Drift will work automatically. If you don’t have analytics.js setup, after enabling the Drift destination in Segment, you must 'identify' users in order for Drift to display in your product.
diff --git a/connections/destinations/catalog/facebook-app-events/index.md b/connections/destinations/catalog/facebook-app-events/index.md
index 1cb9b6ee61..56f1556b07 100644
--- a/connections/destinations/catalog/facebook-app-events/index.md
+++ b/connections/destinations/catalog/facebook-app-events/index.md
@@ -14,8 +14,8 @@ This document was last updated on October 04, 2018. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Facebook App Events” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Facebook App Events" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your Facebook App ID which can be retrieved from your [Facebook Apps dashboard](https://developers.facebook.com/apps/).
4. Once you turn on the Facebook App Events integration in your app's Segment project, we'll start sending `track` data to Facebook's App Events endpoints.
diff --git a/connections/destinations/catalog/facebook-offline-conversions/index.md b/connections/destinations/catalog/facebook-offline-conversions/index.md
index 618b69d899..07f7c85b16 100644
--- a/connections/destinations/catalog/facebook-offline-conversions/index.md
+++ b/connections/destinations/catalog/facebook-offline-conversions/index.md
@@ -13,9 +13,9 @@ This document was last updated on April 24, 2018. If you notice any gaps, outdat
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
+1. From your Segment UI’s Destinations page click on "Add Destination".
-2. Search for “Facebook Offline Conversions” within the Destinations Catalog and confirm the Source you’d like to connect to.
+2. Search for "Facebook Offline Conversions" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Authorize Segment to send data on your behalf by connecting through OAuth:
diff --git a/connections/destinations/catalog/faq/how-do-i-automate-multi-channel-re-engagement-campaigns/index.md b/connections/destinations/catalog/faq/how-do-i-automate-multi-channel-re-engagement-campaigns/index.md
index 103f86e24f..9b123e555a 100644
--- a/connections/destinations/catalog/faq/how-do-i-automate-multi-channel-re-engagement-campaigns/index.md
+++ b/connections/destinations/catalog/faq/how-do-i-automate-multi-channel-re-engagement-campaigns/index.md
@@ -29,7 +29,7 @@ Before we proceed, it’s important to register for these tools and enable them
When you send tracking data from your app or website to Segment, Segment will send the same data to all of your tools. Segment also collects key messaging events like Push Notification Opened and Email Opened from AppBoy and Customer.io, respectively, and sends that to other tools. By defining cohorts based on these events, you can create dynamic campaign audiences, to which customers can add and remove themselves.
-In each of your destinations—Appboy, Facebook, Customer.io, AdRoll—you can create custom campaigns to show display ads or send emails to a specific segment of users who have performed (or not performed) a given action, or “event.” In this cross-channel re-engagement example, we’ll start with push notifications.
+In each of your destinations—Appboy, Facebook, Customer.io, AdRoll—you can create custom campaigns to show display ads or send emails to a specific segment of users who have performed (or not performed) a given action, or "event." In this cross-channel re-engagement example, we’ll start with push notifications.
## 1st Line of Defense: The Push Notification
diff --git a/connections/destinations/catalog/faq/how-do-i-check-if-data-is-successfully-being-delivered-to-my-destination/index.md b/connections/destinations/catalog/faq/how-do-i-check-if-data-is-successfully-being-delivered-to-my-destination/index.md
index 96cf79d83c..0da91f0d00 100644
--- a/connections/destinations/catalog/faq/how-do-i-check-if-data-is-successfully-being-delivered-to-my-destination/index.md
+++ b/connections/destinations/catalog/faq/how-do-i-check-if-data-is-successfully-being-delivered-to-my-destination/index.md
@@ -34,7 +34,7 @@ Scenarios when this tool will be useful:
## Where to find it?
-Event Delivery can be accessed within any supported destination in the App. It’s located on the tab under “Settings” for each destination.
+Event Delivery can be accessed within any supported destination in the App. It’s located on the tab under "Settings" for each destination.

diff --git a/connections/destinations/catalog/faq/how-do-i-setup-a-dynamic-coupon-program-to-reward-loyal-customers/index.md b/connections/destinations/catalog/faq/how-do-i-setup-a-dynamic-coupon-program-to-reward-loyal-customers/index.md
index ac1b47dd9f..bcdab6a8a1 100644
--- a/connections/destinations/catalog/faq/how-do-i-setup-a-dynamic-coupon-program-to-reward-loyal-customers/index.md
+++ b/connections/destinations/catalog/faq/how-do-i-setup-a-dynamic-coupon-program-to-reward-loyal-customers/index.md
@@ -40,7 +40,7 @@ We’ll conduct a split test (half of the cohort will represent the control grou
## Set it up
-First, register for an account with Customer.io and Amplitude. Then, enable Customer.io and enable Amplitude on your Segment project. Finally, go into your Customer.io account and enable “sending data to Segment”:
+First, register for an account with Customer.io and Amplitude. Then, enable Customer.io and enable Amplitude on your Segment project. Finally, go into your Customer.io account and enable "sending data to Segment":

@@ -52,13 +52,13 @@ When everything is enabled, customer event data such as `Order Completed` and `P
## Define the cohort in Customer.io
-Now we define the specific cohort in Customer.io as per our conditions listed earlier: someone who spends over $20 per order and shops over twice a month. In Customer.io, go to “Segments” and “Create Segment”:
+Now we define the specific cohort in Customer.io as per our conditions listed earlier: someone who spends over $20 per order and shops over twice a month. In Customer.io, go to "Segments" and "Create Segment":

After this cohort is created, then when a customer makes the third purchase in a month and it’s over $20, then she will be added to this segment.
-Next, we’ll create a “segment trigger campaign”, where Customer.io will send a message the first time someone enters a segment. The segment in this case will be the one we just created: Coupon Loyalty Experiment.
+Next, we’ll create a "segment trigger campaign", where Customer.io will send a message the first time someone enters a segment. The segment in this case will be the one we just created: Coupon Loyalty Experiment.

diff --git a/connections/destinations/catalog/faq/how-do-we-craft-a-push-notification/index.md b/connections/destinations/catalog/faq/how-do-we-craft-a-push-notification/index.md
index 02a184a93b..825fcf9511 100644
--- a/connections/destinations/catalog/faq/how-do-we-craft-a-push-notification/index.md
+++ b/connections/destinations/catalog/faq/how-do-we-craft-a-push-notification/index.md
@@ -17,7 +17,7 @@ Every Push messaging focuses around three key features:
### Choose an destination
-It’s best practice to self evaluate when trying to choose the “one” that suits your needs.
+It’s best practice to self evaluate when trying to choose the "one" that suits your needs.
1. What’s your user base size? Is it more than 10k? If not, you can try demo versions of mobile marketing automation libraries.
2. Are you looking for a tool only to support push notification or provide an entire marketing suite ?
@@ -58,7 +58,7 @@ Test different action words, phrases, message lengths, etc.
* Marketing automation
-To “auto-enroll” new users into existing campaigns
+To "auto-enroll" new users into existing campaigns
* Measure the right metrics
diff --git a/connections/destinations/catalog/faq/what-role-does-segment-play-in-attribution/index.md b/connections/destinations/catalog/faq/what-role-does-segment-play-in-attribution/index.md
index f525ce59c0..69aa421e8b 100644
--- a/connections/destinations/catalog/faq/what-role-does-segment-play-in-attribution/index.md
+++ b/connections/destinations/catalog/faq/what-role-does-segment-play-in-attribution/index.md
@@ -51,7 +51,7 @@ Destination receives the **Application Installed** event and attributes the inst
Device-Mode Connection
-For tools that support this, if you have enabled “Track Attribution Data” in your Segment dashboard, our integration listens to the attribution tool’s SDK for a change in attribution state. **Note**: Not all device-mode attribution tools offer “Track Attribution Data” functionality. See the settings section for a particular tool in your Segment dashboard for confirmation.
+For tools that support this, if you have enabled "Track Attribution Data" in your Segment dashboard, our integration listens to the attribution tool’s SDK for a change in attribution state. **Note**: Not all device-mode attribution tools offer "Track Attribution Data" functionality. See the settings section for a particular tool in your Segment dashboard for confirmation.
When there is a change in attribution state, the integration code triggers an **Install Attributed** call to be sent back to your Segment source (and on to all other enabled destinations - in device and cloud mode).
diff --git a/connections/destinations/catalog/firebase/index.md b/connections/destinations/catalog/firebase/index.md
index d218d69f31..f07737af13 100644
--- a/connections/destinations/catalog/firebase/index.md
+++ b/connections/destinations/catalog/firebase/index.md
@@ -10,7 +10,7 @@ To start sending data to Firebase Analytics from your Android project, you’ll
- Register your mobile app with Firebase at `https://console.firebase.google.com`
-- Once your app is registered, you’ll be prompted to download a `google-services.json` file. Place this in your Application’s “app” folder. This file contains all necessary configurations and cannot be used across multiple apps. If you’re configuring Firebase for other apps, you should create a new view in your Firebase console and download a unique `google-services.json` file for each.
+- Once your app is registered, you’ll be prompted to download a `google-services.json` file. Place this in your Application’s "app" folder. This file contains all necessary configurations and cannot be used across multiple apps. If you’re configuring Firebase for other apps, you should create a new view in your Firebase console and download a unique `google-services.json` file for each.
***Module-level build.gradle**: Add the Segment-Firebase SDK and apply the Google Services plugin at the end of the file:
@@ -96,7 +96,7 @@ When you call `identify` Segment will map to the corresponding Firebase Analytic
You can use these traits to create audiences and views to analyze your users’ behavior.
-**Note**: Google prohibits sending PII to Firebase unless [“robust notice” is given to your app users](https://firebase.google.com/policies/analytics/). For iOS apps, you must include the iAD Framework to automatically collect the Age, Gender, and Interests Firebase properties.
+**Note**: Google prohibits sending PII to Firebase unless ["robust notice" is given to your app users](https://firebase.google.com/policies/analytics/). For iOS apps, you must include the iAD Framework to automatically collect the Age, Gender, and Interests Firebase properties.
Learn more about [Firebase's reporting dashboard here](https://support.google.com/firebase/answer/6317517?hl=en&ref_topic=6317489).
@@ -174,7 +174,7 @@ Segment maps the followed Segment specced properties (left) to the corresponding
### Passing Revenue and Currency
-Ecommerce events containing “revenue” or “total” must also include the appropriate ISO 4217 “currency” string for revenue data to populate to the Firebase dashboard. If a “currency” value is not included, Segment default to "USD".
+Ecommerce events containing "revenue" or "total" must also include the appropriate ISO 4217 "currency" string for revenue data to populate to the Firebase dashboard. If a "currency" value is not included, Segment default to "USD".
```js
Properties properties = new Properties()
diff --git a/connections/destinations/catalog/flurry/index.md b/connections/destinations/catalog/flurry/index.md
index c4cbc8574d..3cd40e6c89 100644
--- a/connections/destinations/catalog/flurry/index.md
+++ b/connections/destinations/catalog/flurry/index.md
@@ -12,8 +12,8 @@ This document was last updated on January 10, 2019. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Flurry” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Flurry" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your Flurry "API Key" in Segment's Settings UI. You can retrieve this from your Flurry Admin > Apps > API Key. It should look like "4KKKGS3BAK4WW8WJ93DN".
4. Follow the instructions in the Github repos: [iOS SDK](https://github.com/segment-integrations/analytics-ios-integration-flurry) and [Android SDK](https://github.com/segment-integrations/analytics-android-integration-flurry).
5. Once the Segment library is integrated with your app, toggle Flurry on in your Segment UI.
diff --git a/connections/destinations/catalog/foxmetrics/index.md b/connections/destinations/catalog/foxmetrics/index.md
index 759de1c28f..81002e7ee9 100644
--- a/connections/destinations/catalog/foxmetrics/index.md
+++ b/connections/destinations/catalog/foxmetrics/index.md
@@ -10,8 +10,8 @@ This document was last updated on October 15, 2018. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “FoxMetrics” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "FoxMetrics" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Add your FoxMetrics `App ID`
4. When FoxMetrics in enabled in Segment, our CDN will update within 5-10 minutes, and FoxMetrics's javascript will be loaded asynchronously onto your page. Please remember to remove FoxMetrics's snippet from your page.
diff --git a/connections/destinations/catalog/freshmarketer/index.md b/connections/destinations/catalog/freshmarketer/index.md
index 8519bfdbf2..27e0acdbbc 100644
--- a/connections/destinations/catalog/freshmarketer/index.md
+++ b/connections/destinations/catalog/freshmarketer/index.md
@@ -14,7 +14,7 @@ _**NOTE:** The Freshmarketer Destination is currently in beta, which means that
{% include content/connection-modes.md %}
1. From your Segment UI’s Destinations page click **Add Destination**.
-2. Search for “Freshmarketer” in the Destinations Catalog and confirm the Source you’d like to connect to.
+2. Search for "Freshmarketer" in the Destinations Catalog and confirm the Source you’d like to connect to.
3. Go to your Freshmarketer dashboard (Admin Settings > API Settings) and copy your API Key.
4. In the Freshmarketer settings in the Segment UI, paste your API Key.
diff --git a/connections/destinations/catalog/fullstory/index.md b/connections/destinations/catalog/fullstory/index.md
index aca10866ef..c49f76f778 100644
--- a/connections/destinations/catalog/fullstory/index.md
+++ b/connections/destinations/catalog/fullstory/index.md
@@ -9,8 +9,8 @@ This document was last updated on January 25, 2018. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “FullStory” within the Destinations Catalog and confirm the Source you’d like to connect to. Please note the source must be sending events via our Javascript library Analytics.js.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "FullStory" within the Destinations Catalog and confirm the Source you’d like to connect to. Please note the source must be sending events via our Javascript library Analytics.js.
3. Add your `FS Org` in the destination settings. You can find this in FullStory by navigating to `Settings` > `General` > and copying the value found on the line `window['_fs_org'] = 'fullstory_org_here';`
4. In about 5-10 minutes the CDN will be updated and FullStory's recording snippet will be initialized onto your page.
diff --git a/connections/destinations/catalog/gainsight-px/index.md b/connections/destinations/catalog/gainsight-px/index.md
index 191d9659c2..2839da6390 100644
--- a/connections/destinations/catalog/gainsight-px/index.md
+++ b/connections/destinations/catalog/gainsight-px/index.md
@@ -14,8 +14,8 @@ This document was last updated on June 14, 2018. If you notice any gaps, outdate
{% include content/connection-modes.md %}
- 1. From your Segment UI’s Destinations page click on “Add Destination”.
- 2. Search for “Gainsight PX” within the Destinations Catalog and confirm the Source you’d like to connect to.
+ 1. From your Segment UI’s Destinations page click on "Add Destination".
+ 2. Search for "Gainsight PX" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. To find your Gainsight PX key, log into Gainsight PX and navigate to Settings > Products > Web App. If you have not already entered the URL for your web application, do that and click the Generate button. The Tag Key is the value to the right of the URL value. Use the "Copy" button to copy the value to your clipboard.

diff --git a/connections/destinations/catalog/gainsight/index.md b/connections/destinations/catalog/gainsight/index.md
index 310ddbf0da..30b0d83dd5 100644
--- a/connections/destinations/catalog/gainsight/index.md
+++ b/connections/destinations/catalog/gainsight/index.md
@@ -13,7 +13,7 @@ This document was last updated on October 18, 2018. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
+1. From your Segment UI’s Destinations page click on "Add Destination".
2. Search for Gainsight within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Copy your Gainsight Access Key and paste it into to the Access Key field in your Segment settings for Gainsight. This key can be generated from the integrations page under the `admin` area in Gainsight. It should be 36 characters long, for reference. If you need more information, please visit the [relevant documentation provided by Gainsight](https://support.gainsight.com/Connectors/API_Integration/Generate_API_Access_Key).
4. Start sending events!
diff --git a/connections/destinations/catalog/goedle/index.md b/connections/destinations/catalog/goedle/index.md
index 34bdde93e5..72d4cdb213 100644
--- a/connections/destinations/catalog/goedle/index.md
+++ b/connections/destinations/catalog/goedle/index.md
@@ -11,8 +11,8 @@ This document was last updated on May 16, 2018. If you notice any gaps, outdated
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Goedle” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Goedle" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. In your Segment Settings UI, enter your goedle.io app key which you received upon [sign up](https://go.goedle.io/signup "Sign up at goedle.io").
4. After activating, goedle.io will start automatically collecting data from your website, mobile app, or game. However, it will take up to 24 hours for goedle.io to process this data and predict future user behavior - you will receive an email from goedle.io when your data is available.
diff --git a/connections/destinations/catalog/google-tag-manager/index.md b/connections/destinations/catalog/google-tag-manager/index.md
index 7f380ae077..773d6dab3a 100644
--- a/connections/destinations/catalog/google-tag-manager/index.md
+++ b/connections/destinations/catalog/google-tag-manager/index.md
@@ -11,8 +11,8 @@ This document was last updated on April 30, 2018. If you notice any gaps, outdat
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Google Tag Manager” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Google Tag Manager" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. In your Segment UI's destination settings, enter your Container ID (note: it should start with "GTM-"). You can find this in the Admin section of your [GTM dashboard](https://tagmanager.google.com/#/admin/).
4. GTM will be loaded on any pages where your Segment snippet is initialized and `analytics.page` gets called in client-side Javascript. Once you've turned on GTM through Segment, you can use Segment `track` events to populate the GTM `dataLayer`.
diff --git a/connections/destinations/catalog/heap/index.md b/connections/destinations/catalog/heap/index.md
index 8350b1ccfa..0a1d90e1e0 100644
--- a/connections/destinations/catalog/heap/index.md
+++ b/connections/destinations/catalog/heap/index.md
@@ -10,8 +10,8 @@ This document was last updated on January 29, 2018. If you notice any gaps, out-
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Heap” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Heap" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your Heap "App ID" into the connection settings.
4. If you are using Heap via Segment's client-side `analytics.js` library, we asynchronously load Heap's Javascript library onto the page. As such, all native functionality of Heap, including auto-capturing of all events.
diff --git a/connections/destinations/catalog/help-scout/index.md b/connections/destinations/catalog/help-scout/index.md
index 37d1c1ce08..5699c123c1 100644
--- a/connections/destinations/catalog/help-scout/index.md
+++ b/connections/destinations/catalog/help-scout/index.md
@@ -10,7 +10,7 @@ This document was last updated on October 16, 2018. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
+1. From your Segment UI’s Destinations page click on "Add Destination".
2. Search for Help Scout within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Copy your Help Scout API key and paste it into to the API Key field in your Segment settings for Help Scout. You can find your API Key on the Help Scout API keys page by navigating from the [Help Scout Dashboard](https://secure.helpscout.net/).
diff --git a/connections/destinations/catalog/hotjar/index.md b/connections/destinations/catalog/hotjar/index.md
index 5ce30da06d..dbce3efb42 100644
--- a/connections/destinations/catalog/hotjar/index.md
+++ b/connections/destinations/catalog/hotjar/index.md
@@ -11,9 +11,9 @@ This document was last updated on April 28, 2018. If you notice any gaps, outdat
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
+1. From your Segment UI’s Destinations page click on "Add Destination".
-2. Search for “Hotjar” within the Destinations Catalog and confirm the Javascript source you’d like to connect to.
+2. Search for "Hotjar" within the Destinations Catalog and confirm the Javascript source you’d like to connect to.
3. Add your Hotjar Site ID - which you can find under Settings and Sites & Organizations in our Hotjar dashboard - to your Destination settings. It should be a whole number (e.g. 123456).
diff --git a/connections/destinations/catalog/hubspot/index.md b/connections/destinations/catalog/hubspot/index.md
index 8ce9acc04d..fb450213d9 100644
--- a/connections/destinations/catalog/hubspot/index.md
+++ b/connections/destinations/catalog/hubspot/index.md
@@ -11,8 +11,8 @@ This document was last updated on March 30, 2018. If you notice any gaps, outdat
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “HubSpot” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "HubSpot" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. If you haven't already done so, add your API Key from [HubSpot](https://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key) and drop into the "API Key" field within the Segment UI.
4. Navigate to the "Settings" page within the HubSpot UI to find your Hub ID and drop into the "Hub ID" field within the Segment UI.
5. When you activate the destination, our CDN will be updated in about 5-10 minutes and the HubSpot snippet will be initilized and begin recording data.
diff --git a/connections/destinations/catalog/inspectlet/index.md b/connections/destinations/catalog/inspectlet/index.md
index eb4157d57f..fd37a20c7b 100644
--- a/connections/destinations/catalog/inspectlet/index.md
+++ b/connections/destinations/catalog/inspectlet/index.md
@@ -10,8 +10,8 @@ This document was last updated on 20th June, 2018. If you notice any gaps, out-d
{% include content/connection-modes.md %}
- 1. From your Segment UI’s Destinations page click on “Add Destination”.
- 2. Search for “Inspectlet” within the Destinations Catalog and confirm the Source you’d like to connect to.
+ 1. From your Segment UI’s Destinations page click on "Add Destination".
+ 2. Search for "Inspectlet" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Take your Inspectlet WID (website’s ID), you can find it after clicking the Get Install Code button for your site in your Inspectlet dashboard. It will appear near the beginning of your embed code snippet. It should be a series of numbers, like 9492461759.
4. Add the WID in the "Connection Settings" section in Segment.
5. Our CDN is updated within 5-10 minutes. Then our snippet will start asynchronously loading Inspectlet's tracker.js onto your page. This means you should remove Inspectlet's snippet from your page.
diff --git a/connections/destinations/catalog/intercom/index.md b/connections/destinations/catalog/intercom/index.md
index 72566cc22c..253f8bfa15 100644
--- a/connections/destinations/catalog/intercom/index.md
+++ b/connections/destinations/catalog/intercom/index.md
@@ -17,8 +17,8 @@ This document was last updated on January 18, 2019. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Intercom” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Intercom" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Authorize your Intercom account in Segment and select the Intercom Account you want to sync with Segment. You can choose which account to sync in the drop down menu in the top right. If you have opted to utilize our [server-side sources](https://segment.com/docs/sources/#server), we will begin passing data through our servers once you activate the Destination. For other libraries please continue reading below.
4. Find your "App ID" within the Intercom UI following [the instructions here](https://docs.intercom.com/faqs-and-troubleshooting/getting-set-up/where-can-i-find-my-app-id) or by navigating to the Gear Menu and clicking on "App Settings" followed by "API Keys". It should look something like this: `9iefb489`.
diff --git a/connections/destinations/catalog/iterable/index.md b/connections/destinations/catalog/iterable/index.md
index ce4f905b3e..0d06ac6967 100644
--- a/connections/destinations/catalog/iterable/index.md
+++ b/connections/destinations/catalog/iterable/index.md
@@ -77,7 +77,7 @@ analytics.track("Order Completed", {
## Page
-Calling `page` to track pageviews will register as a custom event within Iterable. If you have a page called “shoppingCart” the custom event will be called “shoppingCart page” within Iterable.
+Calling `page` to track pageviews will register as a custom event within Iterable. If you have a page called "shoppingCart" the custom event will be called "shoppingCart page" within Iterable.
If a user does not already exist in Iterable, calling `page` for a user event will add that user into the system. Be sure to pass in the `email` the first time you call page for a user, since Iterable keys users by `email`. After the first time, you can call page with `userId`.
diff --git a/connections/destinations/catalog/kissmetrics/index.md b/connections/destinations/catalog/kissmetrics/index.md
index e4cae63a61..e48066f1a3 100644
--- a/connections/destinations/catalog/kissmetrics/index.md
+++ b/connections/destinations/catalog/kissmetrics/index.md
@@ -11,9 +11,9 @@ This document was last updated on July 3, 2018. If you notice any gaps, out-date
When you toggle on KISSmetrics in Segment, this is what happens:
-1. From your Segment UI’s Destinations page click on “Add Destination”.
+1. From your Segment UI’s Destinations page click on "Add Destination".
2. Search for "KISSmetrics" within the Destinations Catalog and confirm the Source you’d like to connect to.
-3. Drop in your KISSmetrics "API Key” into the connection settings.
+3. Drop in your KISSmetrics "API Key" into the connection settings.
4. If you are using KISSmetrics via Segment’s client-side analytics.js library, we asynchronously load KISSmetrics Javascript library onto the page. This means you should remove KISSmetrics's snippet from your page. Your KISSmetrics source will start automatically collecting "Visited Site" events and [other automatically tracked events](http://support.kissmetrics.com/article/show/javascript-settings).
## Page
diff --git a/connections/destinations/catalog/klaviyo/index.md b/connections/destinations/catalog/klaviyo/index.md
index 9b8a4108ea..08a04b0a7c 100644
--- a/connections/destinations/catalog/klaviyo/index.md
+++ b/connections/destinations/catalog/klaviyo/index.md
@@ -16,8 +16,8 @@ This document was last updated on September 6, 2018. If you notice any gaps, out
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “{{integration.name}}” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "{{integration.name}}" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Navigate to your [Account > Settings > API Keys](https://www.klaviyo.com/account#api-keys-tab) in the Klaviyo's UI and copy your "API Key" into the Segment Settings UI.
5. **Note:** Private API Key is required to use the List API. You can find this by going to Klaviyo’s UI and clicking [Account > Settings > API Keys > Create API Key](https://www.klaviyo.com/account#api-keys-tab) in order to generate a Private API Key and copy it into the Segment Settings UI.
diff --git a/connections/destinations/catalog/kochava/index.md b/connections/destinations/catalog/kochava/index.md
index cbb13fcfb1..bd4cd6b8c5 100644
--- a/connections/destinations/catalog/kochava/index.md
+++ b/connections/destinations/catalog/kochava/index.md
@@ -15,7 +15,7 @@ This document was last updated on October 8, 2018. If you notice any gaps, outda
{% include content/connection-modes.md %}
1. If you have not already, create your app within the Kochava dashboard. Check out Kochava's documentation for information on [creating your app](http://support.kochava.com/create-manage-apps/create-edit-apps).
-2. From your Segment UI’s Destinations page click on “Add Destination”.
+2. From your Segment UI’s Destinations page click on "Add Destination".
3. Search for "Kochava" within the Destinations Catalog and confirm the Source you’d like to connect to.
4. In the Kochava app, grab your Kochava App GUID (Globally Unique Identifier)
5. Copy the Kochava GUID into the Segment Destinations Settings UI under "API key".
diff --git a/connections/destinations/catalog/leanplum/index.md b/connections/destinations/catalog/leanplum/index.md
index 8ab59e5e5b..2de9e7f20e 100644
--- a/connections/destinations/catalog/leanplum/index.md
+++ b/connections/destinations/catalog/leanplum/index.md
@@ -10,8 +10,8 @@ This document was last updated on January 29, 2018. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Leanplum” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Leanplum" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Navigate to your "App Settings" within the Leanplum UI and open up your "Keys & Settings"
4. Copy the "App ID" into the Segment Settings UI under "Leanplum Application ID"
5. We recommend creating 2 Leanplum Destinations, 1 for production and 1 for development.
diff --git a/connections/destinations/catalog/mailchimp/index.md b/connections/destinations/catalog/mailchimp/index.md
index f7a04aea4b..c6a1f0a59c 100644
--- a/connections/destinations/catalog/mailchimp/index.md
+++ b/connections/destinations/catalog/mailchimp/index.md
@@ -13,8 +13,8 @@ This document was last updated on May 08, 2018. If you notice any gaps, out-date
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “MailChimp” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "MailChimp" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your MailChimp "API key" into the connection settings. It is recommended that you create a brand new API key for the Segment destination. MailChimp restricts each API key to a maximum of 10 concurrent requests, so creating a dedicated one for Segment will ensure maximum throughput for outgoing calls. You can read more about API keys on [MailChimp's docs](http://kb.mailchimp.com/integrations/api-integrations/about-api-keys).
4. Drop in your MailChimp "Audience ID" into your connection settings.
diff --git a/connections/destinations/catalog/mailjet/index.md b/connections/destinations/catalog/mailjet/index.md
index 10d7d0aaf6..89a50aecec 100644
--- a/connections/destinations/catalog/mailjet/index.md
+++ b/connections/destinations/catalog/mailjet/index.md
@@ -5,7 +5,7 @@ This destination is maintained by Mailjet. For any issues with the destination,
## Getting Started
-Navigate to the “App Connections” page* (Account -> App Connections) and click on the “Segment” destination block to find your Segment Authentication key. * If you do not see the App Connections page for any reason, please contact us at plugins@mailjet.com. Select a Contact list from the drop down menu that you wish to have Segment send contact property data to.
+Navigate to the "App Connections" page* (Account -> App Connections) and click on the "Segment" destination block to find your Segment Authentication key. * If you do not see the App Connections page for any reason, please contact us at plugins@mailjet.com. Select a Contact list from the drop down menu that you wish to have Segment send contact property data to.
Be sure and note the contact list id inside the field below the chosen list because you will need to paste it into your Segment account so Segment knows where to send the data to.
diff --git a/connections/destinations/catalog/mammoth/index.md b/connections/destinations/catalog/mammoth/index.md
index 6542786d3b..d28e8b5de2 100644
--- a/connections/destinations/catalog/mammoth/index.md
+++ b/connections/destinations/catalog/mammoth/index.md
@@ -100,7 +100,7 @@ Page calls will be sent to the webhook dataset you created earlier. You can filt
If you haven’t had a chance to review our spec, please take a look to understand what the [Screen method](https://segment.com/docs/spec/screen/) does. An example call would look like:
```
-[[SEGAnalytics sharedAnalytics] screen:@ “Home”];
+[[SEGAnalytics sharedAnalytics] screen:@ "Home"];
```
Screen calls will be sent to the webhook dataset you created earlier. You can filter this data into a different view after you have set up JSON extract pipelines.
diff --git a/connections/destinations/catalog/marketo-v2/index.md b/connections/destinations/catalog/marketo-v2/index.md
index 24ac8711e3..c8c0564e8a 100644
--- a/connections/destinations/catalog/marketo-v2/index.md
+++ b/connections/destinations/catalog/marketo-v2/index.md
@@ -215,7 +215,7 @@ You can do one of the following to prevent duplicate leads:
| alex@email.com | ABC1234 |
| natasha@email.com | XYZ9876 |
-To upload a list to Marketo, when you are in Lead Database, click All Leads. Then click “New”, then “Import List” from the drop down. Select your CSV, then click “Next”. Make sure “Email Address” and “userId” are the Marketo Fields selected then click “Next”. Name your list or select a pre-existing list. Select “None” for Acquisition Program. Then Click “Import”.
+To upload a list to Marketo, when you are in Lead Database, click All Leads. Then click "New", then "Import List" from the drop down. Select your CSV, then click "Next". Make sure "Email Address" and "userId" are the Marketo Fields selected then click "Next". Name your list or select a pre-existing list. Select "None" for Acquisition Program. Then Click "Import".

@@ -234,7 +234,7 @@ There are a few necessary steps that have to be taken to Migrate from Marketo to
2. Two custom fields must be created in Marketo: userId and anonymousId. Check out [Getting Started](https://segment.com/docs/integrations/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](https://segment.com/docs/integrations/marketo-v2/#track).
4. If there are any custom Lead fields that you’d like sent to Marketo in your `Identify` calls, you must add them in your Destination settings. Detailed instructions [here](https://segment.com/docs/integrations/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:
+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:

diff --git a/connections/destinations/catalog/mixpanel/index.md b/connections/destinations/catalog/mixpanel/index.md
index 4b9ee58450..b5883fe8ae 100644
--- a/connections/destinations/catalog/mixpanel/index.md
+++ b/connections/destinations/catalog/mixpanel/index.md
@@ -11,7 +11,7 @@ This document was last updated on April 30, 2018. If you notice any gaps, outdat
1. From your Segment UI’s Destinations page click on **Add Destination**.
2. Search for Mixpanel within the Destinations Catalog and confirm the Source you’d like to connect to.
-3. Copy your Mixpanel “API Secret” and "Token", and paste them into the Connection Settings in Segment.
+3. Copy your Mixpanel "API Secret" and "Token", and paste them into the Connection Settings in Segment.
4. Enable the destination to start sending your data to Mixpanel.
## Page
diff --git a/connections/destinations/catalog/moengage/index.md b/connections/destinations/catalog/moengage/index.md
index 6e294371b0..e48369d055 100644
--- a/connections/destinations/catalog/moengage/index.md
+++ b/connections/destinations/catalog/moengage/index.md
@@ -75,7 +75,7 @@ For more info refer to this [link](https://segment.com/docs/sources/mobile/ios/#
### Tracking Events
-Event tracking is used to track user behaviour in an app. **track** lets you record the actions your users perform. Every action triggers i.e,“event”, which can also have associated attributes.
+Event tracking is used to track user behaviour in an app. **track** lets you record the actions your users perform. Every action triggers i.e,"event", which can also have associated attributes.
```[[SEGAnalytics sharedAnalytics] track:@"Item Purchased" properties:@{ @"item": @"Sword of Heracles"}];```
diff --git a/connections/destinations/catalog/mouseflow/index.md b/connections/destinations/catalog/mouseflow/index.md
index 4674f93ce1..3bd4275625 100644
--- a/connections/destinations/catalog/mouseflow/index.md
+++ b/connections/destinations/catalog/mouseflow/index.md
@@ -10,8 +10,8 @@ This document was last updated on April 28, 2018. If you notice any gaps, outdat
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Mouseflow” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Mouseflow" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your Site ID within the Segment Settings UI. You can find this in [your Mouseflow UI](http://help.mouseflow.com/knowledge_base/topics/how-do-i-find-my-mouseflow-site-id).
4. In about 5-10 minutes the CDN will be updated and Mouseflow snippet will be initialized onto your page.
diff --git a/connections/destinations/catalog/msg91/index.md b/connections/destinations/catalog/msg91/index.md
index 7ceb033782..215172034e 100644
--- a/connections/destinations/catalog/msg91/index.md
+++ b/connections/destinations/catalog/msg91/index.md
@@ -16,9 +16,9 @@ _**NOTE:** The MSG91 Destination is currently in beta, which means that they are
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
+1. From your Segment UI’s Destinations page click on "Add Destination".
-2. Search for “MSG91” within the Destinations Catalog and confirm the Source you’d like to connect to.
+2. Search for "MSG91" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in the "API Key" into your Segment Settings UI which you can find from your [MSG91 dashboard](https://control.msg91.com/signin/) in the API page using the ['API' option in the sidebar](https://help.msg91.com/article/177-where-can-i-find-my-authentication-key). It is recommended that you create a brand new API key for the Segment destination.
diff --git a/connections/destinations/catalog/new-relic/index.md b/connections/destinations/catalog/new-relic/index.md
index 2443d64484..90860e5aba 100644
--- a/connections/destinations/catalog/new-relic/index.md
+++ b/connections/destinations/catalog/new-relic/index.md
@@ -9,8 +9,8 @@ This document was last updated on August 29, 2018. If you notice any gaps, outda
{% include content/connection-modes.md %}
- 1. From your Segment UI’s Destinations page click on “Add Destination”.
- 2. Search for “New Relic” within the Destinations Catalog and confirm the Source you’d like to connect to.
+ 1. From your Segment UI’s Destinations page click on "Add Destination".
+ 2. Search for "New Relic" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your Insights [Account ID](https://docs.newrelic.com/docs/accounts/install-new-relic/account-setup/account-id) and your [Insert Key](https://docs.newrelic.com/docs/insights/insights-data-sources/custom-data/insert-custom-events-insights-api#register).
4. Once destination enabled we'll start forwarding your calls to New Relic.
diff --git a/connections/destinations/catalog/outbound/index.md b/connections/destinations/catalog/outbound/index.md
index 7ddd8cb607..3e672e7e71 100644
--- a/connections/destinations/catalog/outbound/index.md
+++ b/connections/destinations/catalog/outbound/index.md
@@ -16,7 +16,7 @@ Connect is supported on the client-side, server-side and on mobile.
## Identify
-Connect needs to identify users and their data to track who we should message. Segment will pass your UserID and any traits that you store on that user to Connect. (Note: Segment refers to user data as “traits”; Connect refers to user data as “attributes”.)
+Connect needs to identify users and their data to track who we should message. Segment will pass your UserID and any traits that you store on that user to Connect. (Note: Segment refers to user data as "traits"; Connect refers to user data as "attributes".)
analytics.identify({
userId: '019mr8mf4r',
diff --git a/connections/destinations/catalog/pendo/index.md b/connections/destinations/catalog/pendo/index.md
index 6741129c72..e13606572e 100644
--- a/connections/destinations/catalog/pendo/index.md
+++ b/connections/destinations/catalog/pendo/index.md
@@ -12,8 +12,8 @@ This document was last updated on September 26, 2018. If you notice any gaps, ou
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “{{integration.name}}” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "{{integration.name}}" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your Pendo API Key which you can find in the Pendo UI under [Site Settings](https://app.pendo.io/admin) > Basic Information > API Key.
4. In about 5-10 minutes the CDN will be updated and Pendo’s snippet will be initialized onto your page. This pulls in all page and click events without needing to make additional method calls.
@@ -21,8 +21,8 @@ This document was last updated on September 26, 2018. If you notice any gaps, ou
If you are implementing server-side, please follow the steps above to add Pendo continue with steps below to add a Webhook destination:
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Webhooks” within the Destinations Catalog and confirm the Javascript Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Webhooks" within the Destinations Catalog and confirm the Javascript Source you’d like to connect to.
3. Add the following as your Webhook URL: `https://pendo-io.appspot.com/data/segmentio/YOUR_PENDO_API_KEY` and replace `YOUR_PENDO_API_KEY` with your actual Pendo API Key which you can find in the Pendo UI under [Site Settings](https://app.pendo.io/admin) > Basic Information > API Key.
4. Headers are not required in Webhook configuration. Once you’re done adding in your URL, save changes.
5. Using Track method also requires a setting enabled on your Pendo subscription. Please reach out to Pendo to enable this feature flag for your account.
diff --git a/connections/destinations/catalog/perimeterx/index.md b/connections/destinations/catalog/perimeterx/index.md
index dca43df404..429187b4fa 100644
--- a/connections/destinations/catalog/perimeterx/index.md
+++ b/connections/destinations/catalog/perimeterx/index.md
@@ -19,15 +19,15 @@ Here's how you can get started using PerimeterX!
+ Click the "Admin" tab inside the console.
+ Click "New Policy".
-+ Rename your new policy by clicking the words “Policy name” in the new policy and then
-click “Apply Changes”.
++ Rename your new policy by clicking the words "Policy name" in the new policy and then
+click "Apply Changes".

### 3. Configure your Application
-+ Click the “Admin” tab inside the console.
-+ Define your first application by clicking the button “Create a New Application” and filling
++ Click the "Admin" tab inside the console.
++ Define your first application by clicking the button "Create a New Application" and filling
in the modal.
+ Select the policy that you would like to use (default is pxDefault_Policy and you should
use the policy that you just created)
diff --git a/connections/destinations/catalog/personyze/index.md b/connections/destinations/catalog/personyze/index.md
index 880fcb6307..4a89dda8a6 100644
--- a/connections/destinations/catalog/personyze/index.md
+++ b/connections/destinations/catalog/personyze/index.md
@@ -14,7 +14,7 @@ _**NOTE:** Personyze is currently in beta, which means that they are still activ
1. From your Segment UI's Destinations page click on "Add Destination".
2. Search for "Personyze" within the Destinations Catalog and confirm the Source you'd like to connect to.
3. Drop in the "API Key" into your Segment Settings UI which you can find from your [Personyze dashboard](https://personyze.com/site/tracker/condition/index#cat=Account%20settings%2FMain%20settings%2FIntegrations/conditions) under Account Settings > Integrations > Segment > Get Keys
-4. Once you’ve updated the API key in Segment, data from the source you selected will be shown right away in Personyze under “Manage Visitor Profiles”.
+4. Once you’ve updated the API key in Segment, data from the source you selected will be shown right away in Personyze under "Manage Visitor Profiles".
## Identify
diff --git a/connections/destinations/catalog/quanticmind/index.md b/connections/destinations/catalog/quanticmind/index.md
index 9059fd57d8..f309b0d67b 100644
--- a/connections/destinations/catalog/quanticmind/index.md
+++ b/connections/destinations/catalog/quanticmind/index.md
@@ -9,7 +9,7 @@ This document was last updated on January 09, 2019. If you notice any gaps, outd
{% include content/connection-modes.md %}
- 1. From your Segment UI’s Destinations page click on “Add Destination”.
+ 1. From your Segment UI’s Destinations page click on "Add Destination".
2. Search for "QuanticMind" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your `ClientID`, and `Domain` if provided, from QuanticMind account manager.
4. Under `Events` you can then map any necessary 'track' event/s to QuanticMind numbered event/s. Please note that unless mapped in the settings, no 'track' calls will be sent to QuanticMind.
diff --git a/connections/destinations/catalog/quora-conversion-pixel/index.md b/connections/destinations/catalog/quora-conversion-pixel/index.md
index c5ad1e404f..499da2edfc 100644
--- a/connections/destinations/catalog/quora-conversion-pixel/index.md
+++ b/connections/destinations/catalog/quora-conversion-pixel/index.md
@@ -10,8 +10,8 @@ This document was last updated on June 15th, 2018. If you notice any gaps, outda
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Quora” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Quora" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Add your Quora Conversion Pixel Key to your Destination settings. To get this you will need to do the following:
i. Log into your [Quora Ads Manager Account](https://www.quora.com/ads/account).
diff --git a/connections/destinations/catalog/refersion/index.md b/connections/destinations/catalog/refersion/index.md
index f76c469cf4..eea0882c65 100644
--- a/connections/destinations/catalog/refersion/index.md
+++ b/connections/destinations/catalog/refersion/index.md
@@ -20,8 +20,8 @@ You have two options to connect - either automatically within your Refersion das
### Option 2 - Segment UI
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Refersion” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Refersion" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Once connected, you will be asked to input an API key - which can be found in your [Refersion dashboard](https://www.refersion.com/base/settings/integrations/api) - which is formatted as `publickey.secretkey`. You will need to click "Show" to obtain the "Secret Key" portion.
## Identify
diff --git a/connections/destinations/catalog/salesforce-dmp/index.md b/connections/destinations/catalog/salesforce-dmp/index.md
index 46ae14c59b..af8383974f 100644
--- a/connections/destinations/catalog/salesforce-dmp/index.md
+++ b/connections/destinations/catalog/salesforce-dmp/index.md
@@ -146,9 +146,9 @@ To collect a Segment property as an SFDMP `user attribute` instead, contact your
SFDMP can split an attribute value into many individual values based on a
delimiter. For example, say you have a property `colors` with a value
`red,green,blue,yellow`. You can adjust your SFDMP settings so that it recognizes a comma as a delimiter for this attribute. That way, you can
-create audience Segments based on individual attribute values such as “red”,
-“green”, “blue” and “yellow” rather than on complete strings like
-“red,green,blue,yellow”.
+create audience Segments based on individual attribute values such as "red",
+"green", "blue" and "yellow" rather than on complete strings like
+"red,green,blue,yellow".
To set up a custom delimiter, contact your Salesforce representative.
diff --git a/connections/destinations/catalog/salesforce-marketing-cloud/index.md b/connections/destinations/catalog/salesforce-marketing-cloud/index.md
index e505bb55bf..80d94d8fb0 100644
--- a/connections/destinations/catalog/salesforce-marketing-cloud/index.md
+++ b/connections/destinations/catalog/salesforce-marketing-cloud/index.md
@@ -30,7 +30,7 @@ You should now see a Summary page with a Components section. This section lists
Segment will pass any traits you specify in an `identify` call through to the *Identify Data Extension* you specify in the Segment UI. You'll need to create this Data Extension manually in SMC's Contact Builder UI. When creating a Data Extension in SMC, you can set up as many or as few traits as you would like, but a good starting point for your schema is to include Segment's [standard identify traits][].
### Set up your subdomain
-Segment will use your unique Salesforce subdomain to make API calls to SFMC. Your subdomain is represented by a 28-character string starting with the letters “mc” in any of your base URIs. For example, in the base URI `mc563885gzs27c5t9-63k636ttgm.rest.marketingcloudapis.com`, the subdomain is `mc563885gzs27c5t9-63k636ttgm`.
+Segment will use your unique Salesforce subdomain to make API calls to SFMC. Your subdomain is represented by a 28-character string starting with the letters "mc" in any of your base URIs. For example, in the base URI `mc563885gzs27c5t9-63k636ttgm.rest.marketingcloudapis.com`, the subdomain is `mc563885gzs27c5t9-63k636ttgm`.
**If you do not set your subdomain, Segment will use the legacy V1 endpoint and your events can result in authentication errors.**
diff --git a/connections/destinations/catalog/satismeter/index.md b/connections/destinations/catalog/satismeter/index.md
index c1042cd673..cb5918758f 100644
--- a/connections/destinations/catalog/satismeter/index.md
+++ b/connections/destinations/catalog/satismeter/index.md
@@ -20,7 +20,7 @@ With SatisMeter you can:
## Get Started
-To get started you need to sign up to SatisMeter, and click the green button “Enable with Segment”. This will link your SatisMeter project with your Segment project and enable the destination.
+To get started you need to sign up to SatisMeter, and click the green button "Enable with Segment". This will link your SatisMeter project with your Segment project and enable the destination.

diff --git a/connections/destinations/catalog/sentry/index.md b/connections/destinations/catalog/sentry/index.md
index 1104c64f26..c493d044cf 100644
--- a/connections/destinations/catalog/sentry/index.md
+++ b/connections/destinations/catalog/sentry/index.md
@@ -10,8 +10,8 @@ This document was last updated on October 16, 2018. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Sentry” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Sentry" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your "Public DSN" into the Sentry destination settings.
4. We’ll automatically initialize Sentry with your "Public DSN" upon loading analytics.js.
5. Sentry will automatically start tracking errors in your app's javascript.
diff --git a/connections/destinations/catalog/simplereach/index.md b/connections/destinations/catalog/simplereach/index.md
index 058ab55ad3..686e452fc2 100644
--- a/connections/destinations/catalog/simplereach/index.md
+++ b/connections/destinations/catalog/simplereach/index.md
@@ -10,7 +10,7 @@ This document was last updated on April 16, 2018. If you notice any gaps, outdat
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “SimpleReach” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "SimpleReach" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. In your Segment Settings UI, enter your SimpleReach PID which was given to you by the SimpleReach client services team.
4. In about 5-10 minutes the CDN will be updated and the SimpleReach snippet will be initialized onto your page and data will flow through to your SimpleReach Dashboard.
diff --git a/connections/destinations/catalog/singular/index.md b/connections/destinations/catalog/singular/index.md
index 11a3b414b9..8eba7f4dc0 100644
--- a/connections/destinations/catalog/singular/index.md
+++ b/connections/destinations/catalog/singular/index.md
@@ -24,7 +24,7 @@ This destination is maintained by Singular. For any issues with the destination,
## Install Attribution
-Enable automatic tracking of lifecycle events (`Application Opened`, `Application Installed`, `Application Updated`) via initialization config parameters ([iOS](https://segment.com/docs/sources/mobile/ios/#application-lifecycle-tracking), [Android](https://segment.com/docs/sources/mobile/android/#step-2-initialize-the-client)) to track installs and sessions in Singular. The Singular “**session**” will be sent automatically by the integration as long as you are including the events above.
+Enable automatic tracking of lifecycle events (`Application Opened`, `Application Installed`, `Application Updated`) via initialization config parameters ([iOS](https://segment.com/docs/sources/mobile/ios/#application-lifecycle-tracking), [Android](https://segment.com/docs/sources/mobile/android/#step-2-initialize-the-client)) to track installs and sessions in Singular. The Singular "**session**" will be sent automatically by the integration as long as you are including the events above.
## Apple Search Ads Attribution
diff --git a/connections/destinations/catalog/slicingdice/index.md b/connections/destinations/catalog/slicingdice/index.md
index 3a98a1dec2..9fd1faa9be 100644
--- a/connections/destinations/catalog/slicingdice/index.md
+++ b/connections/destinations/catalog/slicingdice/index.md
@@ -54,9 +54,9 @@ analytics.identify('userId123', {
```
Identify calls will be sent to SlicingDice using the following columns:
-* `{source_name}-identifies-user-id`: contains the “userId” attribute of an Identify call
-* `{source_name}-identifies-{attribute_name}`: contains the “traits” attributes of an Identify call, saving each one as an individual column
-* `{source_name}-identifies-context-{attribute_name}`: contains the “context” attributes of an Identify call, saving each one as an individual column
+* `{source_name}-identifies-user-id`: contains the "userId" attribute of an Identify call
+* `{source_name}-identifies-{attribute_name}`: contains the "traits" attributes of an Identify call, saving each one as an individual column
+* `{source_name}-identifies-context-{attribute_name}`: contains the "context" attributes of an Identify call, saving each one as an individual column
## Track
@@ -69,9 +69,9 @@ analytics.track('Clicked Login Button')
Track calls will be sent to SlicingDice using the following columns:
-* `{source_name}-track-event`: contains the “event” attribute of a Track call
-* `{source_name}-track-{attribute_name}`: contains the “properties” attributes of a Track call, saving each one as an individual column
-* `{source_name}-track-context-{attribute_name}`: contains the “context” attributes of a Track call, saving each one as an individual column
+* `{source_name}-track-event`: contains the "event" attribute of a Track call
+* `{source_name}-track-{attribute_name}`: contains the "properties" attributes of a Track call, saving each one as an individual column
+* `{source_name}-track-context-{attribute_name}`: contains the "context" attributes of a Track call, saving each one as an individual column
*Observation: if your* `context` *attribute has nested attributes, your column names will follow this pattern:* `{source_name}-track-context-{attribute_name}{nested_attribute_name}`
@@ -92,7 +92,7 @@ Group calls will be sent to SlicingDice using the following columns:
* `{source_name}-groups-group-id`: contains the `groupID` attribute of a Group call
* `{source_name}-groups-{attribute_name}`: contains the `traits` attributes of a Group call, saving each one as an individual column
-* `{source_name}-groups-context-{attribute_name}`: contains the “context” attributes of a Group call, saving each one as an individual column
+* `{source_name}-groups-context-{attribute_name}`: contains the "context" attributes of a Group call, saving each one as an individual column
*Observation: Group calls will also be sent to SlicingDice using the following [Account](https://segment.com/docs/destinations/#warehouse-schemas) columns that holds the latest state of a group.*
* `{source_name}-accounts-group-id`: contains the `groupId` attribute of a Group call
diff --git a/connections/destinations/catalog/snapengage/index.md b/connections/destinations/catalog/snapengage/index.md
index 5bd173b0a5..819d36ee22 100644
--- a/connections/destinations/catalog/snapengage/index.md
+++ b/connections/destinations/catalog/snapengage/index.md
@@ -10,9 +10,9 @@ This document was last updated on October 22, 2018. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
+1. From your Segment UI’s Destinations page click on "Add Destination".
-2. Search for “SnapEngage” within the Destinations Catalog and confirm the Source you’d like to connect to - keep in mind that our "SnapEngage" destination is only compatible with our client-side [analytics.js](https://segment.com/docs/sources/website/analytics.js/) library.
+2. Search for "SnapEngage" within the Destinations Catalog and confirm the Source you’d like to connect to - keep in mind that our "SnapEngage" destination is only compatible with our client-side [analytics.js](https://segment.com/docs/sources/website/analytics.js/) library.
3. Add your SnapEngage `Widget ID` to your destination settings in Segment. You can find the `Widget ID` in your SnapEngage Javascript snippet. It will look something like this: 0c739ebb-2016-44a0-b1da-a5b5eb272474. Alternatively, the `Widget ID` can also be found under the _Advanced Widget ID_ section of the _Get the Code_ tab in the Admin Dashboard when logged in to SnapEngage.
diff --git a/connections/destinations/catalog/sparkpage/index.md b/connections/destinations/catalog/sparkpage/index.md
index 0a6267c6c7..781ef19a1f 100644
--- a/connections/destinations/catalog/sparkpage/index.md
+++ b/connections/destinations/catalog/sparkpage/index.md
@@ -5,7 +5,7 @@ This destination is maintained by SparkPage.
## Getting Started
-Once the Segment library is integrated with your server, toggle SparkPage on in your Segment destinations, and add your API key which you can find in the SparkPage Dashboard under “Settings”
+Once the Segment library is integrated with your server, toggle SparkPage on in your Segment destinations, and add your API key which you can find in the SparkPage Dashboard under "Settings"
The Segment SparkPage destination is 100% handled through our servers, so you don't need to bundle their iOS or Android SDKs. Your Segment SDK will be enough.
diff --git a/connections/destinations/catalog/trackier/index.md b/connections/destinations/catalog/trackier/index.md
index a433087e1f..32c680f064 100644
--- a/connections/destinations/catalog/trackier/index.md
+++ b/connections/destinations/catalog/trackier/index.md
@@ -20,7 +20,7 @@ _**NOTE:** The Trackier Destination is currently in beta, which means that they
If you haven't had a chance to review our spec, please take a look to understand what the [Track method](https://segment.com/docs/spec/track/) does. An example call would look like:
```
- analytics.track(“Item Sold”, {
+ analytics.track("Item Sold", {
click_id: '1233443',
sale_amount: $12.54,
txn_id: 'random',
diff --git a/connections/destinations/catalog/tune/index.md b/connections/destinations/catalog/tune/index.md
index bb2b6e0257..be0c396c7e 100644
--- a/connections/destinations/catalog/tune/index.md
+++ b/connections/destinations/catalog/tune/index.md
@@ -14,8 +14,8 @@ This document was last updated on May 8, 2018. If you notice any gaps, outdated
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “TUNE” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "TUNE" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Add your TUNE Advertiser ID in the Segment Settings UI from [your TUNE Dashboard](https://developers.tune.com/sdk/finding-your-advertiser-id-and-conversion-key/).
4. In your TUNE account, ensure that you have created a new app by navigating to Applications > Apps > Add A New App.
5. Depending on library you've installed, please follow the additional steps below to finish setting up!
diff --git a/connections/destinations/catalog/tv-squared/index.md b/connections/destinations/catalog/tv-squared/index.md
index e8a7558487..fe4d2ee8c2 100644
--- a/connections/destinations/catalog/tv-squared/index.md
+++ b/connections/destinations/catalog/tv-squared/index.md
@@ -10,9 +10,9 @@ This document was last updated on April 20th, 2018. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
+1. From your Segment UI’s Destinations page click on "Add Destination".
-2. Search for “TV Squared” within the Destinations Catalog and confirm the Javascript source you’d like to connect to.
+2. Search for "TV Squared" within the Destinations Catalog and confirm the Javascript source you’d like to connect to.
3. Add your TV Squared Brand ID and Client ID to your Segment Settings UI. You can find this within your TV Squared dashboard.
diff --git a/connections/destinations/catalog/userlike/index.md b/connections/destinations/catalog/userlike/index.md
index ef52cc4bad..ec6e3db281 100644
--- a/connections/destinations/catalog/userlike/index.md
+++ b/connections/destinations/catalog/userlike/index.md
@@ -10,8 +10,8 @@ This document was last updated on October 22, 2018. If you notice any gaps, outd
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Userlike” within the Destinations Catalog and confirm the Source you’d like to connect to - keep in mind, that the Userlike destination is only compatible with our Javascript source.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Userlike" within the Destinations Catalog and confirm the Source you’d like to connect to - keep in mind, that the Userlike destination is only compatible with our Javascript source.
3. Add your Secret Key to your destination settings in Segment - your Secret Key can be found under Config > Install > Secret in your Userlike dashboard. It should look something like this: 8a3707ab96df8354253c158a25f908b84dc655c27d5828a1a97d99f08bfba6f4.
4. Once you enable the destination, our CDN is updated within 5-10 minutes. Analytics.js will start asynchronously loading Userlike's javascript onto your page. Please remember to remove Userlike's snippet from your page.
diff --git a/connections/destinations/catalog/userlist/index.md b/connections/destinations/catalog/userlist/index.md
index 3c7e68fff0..2fd7f0ce72 100644
--- a/connections/destinations/catalog/userlist/index.md
+++ b/connections/destinations/catalog/userlist/index.md
@@ -13,8 +13,8 @@ _**NOTE:** The Userlist.io Destination is currently in beta, which means that th
{% include content/connection-modes.md %}
1. From your Segment UI's Destinations page click on "Add Destination".
-2. Search for “Userlist” within the Destinations Catalog and confirm the Source you'd like to connect to.
-3. Drop in the “Push API Key" into your Segment Settings UI which you can find from your [Userlist.io Push API settings](https://app.userlist.io/settings/push).
+2. Search for "Userlist" within the Destinations Catalog and confirm the Source you'd like to connect to.
+3. Drop in the "Push API Key" into your Segment Settings UI which you can find from your [Userlist.io Push API settings](https://app.userlist.io/settings/push).
_**NOTE:** The Userlist.io Destination does not support tracking of anonymous users, so please make sure to call `identify` before calling `track`. If you do call `track` on unidentified users, you will receive a 400 error which you can disregard if it was intentional._
diff --git a/connections/destinations/catalog/visual-website-optimizer/index.md b/connections/destinations/catalog/visual-website-optimizer/index.md
index c372ae73d8..81ded4d994 100644
--- a/connections/destinations/catalog/visual-website-optimizer/index.md
+++ b/connections/destinations/catalog/visual-website-optimizer/index.md
@@ -19,8 +19,8 @@ Because the VWO destination needs to be on the page right away, there are two wa
Additionaly, to enable the destination please follow these instructions:
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Visual Web Optimizer” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Visual Web Optimizer" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Toggle the destination on!
@@ -75,10 +75,10 @@ analytics.track('Order Completed', {
If you are using VWO together with Google Analytics, you can enable this setting to add the `nonInteraction` flag to your `Experiment Viewed` track events. This can help with low bounce rates.
### Library Tolerance
-The maximum amount of time (in milliseconds) to wait for VWO’s full library to be downloaded before simply displaying your original page. This setting is only effective if “Use Async Smart Code” is set to “true”.
+The maximum amount of time (in milliseconds) to wait for VWO’s full library to be downloaded before simply displaying your original page. This setting is only effective if "Use Async Smart Code" is set to "true".
### Settings Tolerance
-The maximum amount of time (in milliseconds) to wait for test settings before VWO will simply display your original page. This setting is only effective if “Use Async Smart Code” is set to “true”.
+The maximum amount of time (in milliseconds) to wait for test settings before VWO will simply display your original page. This setting is only effective if "Use Async Smart Code" is set to "true".
## Use Existing JQuery
-If your page already includes JQuery, you can set this to “true”. Otherwise, VWO will include JQuery onto the page for you. VWO needs JQuery on the page to function correctly. This setting is only effective if “Use Async Smart Code” is enabled.
+If your page already includes JQuery, you can set this to "true". Otherwise, VWO will include JQuery onto the page for you. VWO needs JQuery on the page to function correctly. This setting is only effective if "Use Async Smart Code" is enabled.
diff --git a/connections/destinations/catalog/webhooks/index.md b/connections/destinations/catalog/webhooks/index.md
index 84e791352d..1d043c7428 100644
--- a/connections/destinations/catalog/webhooks/index.md
+++ b/connections/destinations/catalog/webhooks/index.md
@@ -9,8 +9,8 @@ This document was last updated on January 28, 2018. If you notice any gaps, out-
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Webhooks” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Webhooks" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Specify up to five different Webhook URLs, you would like to forward data to.
4. Add in any header values you would like to add to the HTTP requests
5. If you require authentication, add in a [shared secret](https://segment.com/docs/destinations/webhooks/#authentication).
diff --git a/connections/destinations/catalog/wishpond/index.md b/connections/destinations/catalog/wishpond/index.md
index f119ca01ce..144c66d7b7 100644
--- a/connections/destinations/catalog/wishpond/index.md
+++ b/connections/destinations/catalog/wishpond/index.md
@@ -11,7 +11,7 @@ Our Wishpond destination code is open sourced on Github. Feel free to check it o
Wishpond works with our client-side javascript library: Analytics.js.
-From your Segment Destinations page click on Wishpond. Drop in your Merchant ID and Trackey Key from Wishpond’s [“API Keys” dialog](https://www.wishpond.com/central/welcome?api_keys=true). These are also found in your Wishpond Account in the "API Keys" dropdown under your account name in the top right corner.
+From your Segment Destinations page click on Wishpond. Drop in your Merchant ID and Trackey Key from Wishpond’s ["API Keys" dialog](https://www.wishpond.com/central/welcome?api_keys=true). These are also found in your Wishpond Account in the "API Keys" dropdown under your account name in the top right corner.
We’ll automatically initialize Wishpond’s Tracking Code with your Tracking Key and Merchant ID upon loading Analytics.js.
@@ -73,7 +73,7 @@ To more details how Wishpond's identify works please visit [Wishpond API Docs: #
### Destination is not working properly
-Make sure you have copied the right keys from Wishpond’s [“API Keys” dialog](https://www.wishpond.com/central/welcome?api_keys=true), this destination will need `Merchant ID` and `Tracking Key`.
+Make sure you have copied the right keys from Wishpond’s ["API Keys" dialog](https://www.wishpond.com/central/welcome?api_keys=true), this destination will need `Merchant ID` and `Tracking Key`.
[Analytics.js]: https://segment.com/docs/libraries/analytics.js/
[ci-link]: https://circleci.com/gh/segment-integrations/analytics.js-integration-wishpond
diff --git a/connections/destinations/catalog/wootric/index.md b/connections/destinations/catalog/wootric/index.md
index dbe50cb00a..dbbc60a5bf 100644
--- a/connections/destinations/catalog/wootric/index.md
+++ b/connections/destinations/catalog/wootric/index.md
@@ -11,8 +11,8 @@ This document was last updated on October 15, 2018. If you notice any gaps, out-
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “{{integration.name}}” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "{{integration.name}}" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Drop in your {{integration.name}} "Account Token" in Segment's Settings UI. You can retrieve this from your {{integration.name}} Settings > Your unique Account Token is. It should look like "NPS-XXXXXXXX".
4. If you're using Segment's client-side `analytics.js` library, we asynchronously load {{integration.name}}'s Javascript library onto the page and the CDN will be updated in 5-10 minutes.
diff --git a/connections/destinations/catalog/yandex-metrica/index.md b/connections/destinations/catalog/yandex-metrica/index.md
index 4afc78b3bf..6d91d914f2 100644
--- a/connections/destinations/catalog/yandex-metrica/index.md
+++ b/connections/destinations/catalog/yandex-metrica/index.md
@@ -9,8 +9,8 @@ This document was last updated on January 18, 2019. If you notice any gaps, outd
## Getting Started
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Yandex.Metrica” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Yandex.Metrica" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Enter your Counter ID that you can find in your Yandex.Metrica UI navigating to Settings > Tag.
4. In about 5-10 minutes the CDN will be updated and Yandex.Metrica’s snippet will be initialized onto your page.
diff --git a/connections/destinations/catalog/zendesk/index.md b/connections/destinations/catalog/zendesk/index.md
index 01676f232b..9b866a960e 100644
--- a/connections/destinations/catalog/zendesk/index.md
+++ b/connections/destinations/catalog/zendesk/index.md
@@ -12,8 +12,8 @@ This document was last updated on April 30, 2018. If you notice any gaps, outdat
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Zendesk” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Zendesk" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. There are two ways to authenticate your Zendesk account with Segment:
* Use the standard email and password you use to Sign In to your Zendesk account. In the Zendesk settings, add your email in the **Email** setting and your password in the **Password** setting.
* Use Zendesk OAuth with a unique token. Get the corresponding token from your Zendesk account: **Settings > Channels > API** and under the Settings Tab choose the corresponding token from the "Active API Tokens" list. In the Zendesk settings, add your `email/token` in the **Email** setting (i.e. `peter@intech.com/token` - use the actual word token in your email address) and add the actual token in the **Password** setting.
diff --git a/connections/destinations/catalog/zopim/index.md b/connections/destinations/catalog/zopim/index.md
index b067c6e1a2..8e4e110407 100644
--- a/connections/destinations/catalog/zopim/index.md
+++ b/connections/destinations/catalog/zopim/index.md
@@ -13,8 +13,8 @@ This document was last updated on June 11th, 2018. If you notice any gaps, outda
{% include content/connection-modes.md %}
-1. From your Segment UI’s Destinations page click on “Add Destination”.
-2. Search for “Zopim” within the Destinations Catalog and confirm the Source you’d like to connect to.
+1. From your Segment UI’s Destinations page click on "Add Destination".
+2. Search for "Zopim" within the Destinations Catalog and confirm the Source you’d like to connect to.
3. Add your Zopim ID to your Destination Settings. If you are using the `Chat Widget`, you can find your Zopim ID in the widget script itself. See example below:
```
diff --git a/connections/sources/catalog/cloud-apps/activecampaign/index.md b/connections/sources/catalog/cloud-apps/activecampaign/index.md
index dad3cf975a..79495a56ae 100644
--- a/connections/sources/catalog/cloud-apps/activecampaign/index.md
+++ b/connections/sources/catalog/cloud-apps/activecampaign/index.md
@@ -17,24 +17,24 @@ If you have previously enabled sending email events via the ActiveCampaign desti
3. Give the Source a nickname and a schema name. The nickname is a label used in the Segment interface, and the schema name is the namespace you query against in your warehouse. You can name them however you’d like, but we recommend sticking to something that reflects the Source itself, like `ActiveCampaign` for nickname and `activecampaign` for the schema name.
-4. The next page (“Overview”) will surface your **Segment write key for ActiveCampaign.** Copy this write key.
+4. The next page ("Overview") will surface your **Segment write key for ActiveCampaign.** Copy this write key.
5. In your ActiveCampaign account, navigate to http://YOURACCOUNT.activehosted.com/apps/#/segment
-6. Scroll to the bottom of the page to where it says “Send email events data from ActiveCampaign to Segment.”
+6. Scroll to the bottom of the page to where it says "Send email events data from ActiveCampaign to Segment."
-7. Click the “OFF” toggle.
+7. Click the "OFF" toggle.

-8. This will open a modal for you to enter your Segment.com write key. Enter your write key and click “Connect”.
+8. This will open a modal for you to enter your Segment.com write key. Enter your write key and click "Connect".
-9. The toggle will now say “ON”.
+9. The toggle will now say "ON".

10. Once the first event occurs, you’ll always see the last event that occurred in this box.

-11. If you ever need to re-enter your Segment write key, just click “Re-enter your Segment write key.”
+11. If you ever need to re-enter your Segment write key, just click "Re-enter your Segment write key."
12. In Segment, click into your ActiveCampaign Source in `segment.com//sources`. From there you’ll be able to add Destinations where you want to see email events.
diff --git a/connections/sources/catalog/cloud-apps/amplitude-cohorts/index.md b/connections/sources/catalog/cloud-apps/amplitude-cohorts/index.md
index b2d532064b..0a62fbf5df 100644
--- a/connections/sources/catalog/cloud-apps/amplitude-cohorts/index.md
+++ b/connections/sources/catalog/cloud-apps/amplitude-cohorts/index.md
@@ -31,8 +31,8 @@ Segment `identify` events.

7. If you would like to set up automated export on an hourly or daily basis,
- you can use Amplitude's Cohort Sync feature. Click “Advanced Preferences”
- and select “Segment” as the integration.
+ you can use Amplitude's Cohort Sync feature. Click "Advanced Preferences"
+ and select "Segment" as the integration.
8. From your Segment account, click into your Amplitude Cohorts Source, and
you’ll be able to add other downstream destinations where you want to see
your Behavioral Cohort data.
diff --git a/connections/sources/catalog/cloud-apps/autopilothq/index.md b/connections/sources/catalog/cloud-apps/autopilothq/index.md
index 816084385f..d47ddb8936 100644
--- a/connections/sources/catalog/cloud-apps/autopilothq/index.md
+++ b/connections/sources/catalog/cloud-apps/autopilothq/index.md
@@ -13,7 +13,7 @@ This document was last updated on October 19, 2018. If you notice any gaps, outd
## Getting Started
-1. From your Segment UI’s Sources page click on “Add Source”.
+1. From your Segment UI’s Sources page click on "Add Source".
2. Search for AutopilotHQ within the Sources Catalog and confirm by clicking "Connect".
3. Give the Source a nickname and follow the setup flow to "Add Source". The nickname is a label used in the Segment interface, and Segment creates a related schema name, which you query against in your warehouse. The nickname can be whatever you like, but we recommend sticking to something that reflects the source itself and distinguishes amongst your environments (Eg. SourceName_Prod, SourceName_Staging, SourceName_Dev).
4. Sign in to your Autopilot account and visit the [Segment destination](https://app.autopilothq.com/#settings/app-connections/segment-sync) to connect.
diff --git a/connections/sources/catalog/cloud-apps/blueshift/index.md b/connections/sources/catalog/cloud-apps/blueshift/index.md
index b88c8b84f6..df0a3ff88b 100644
--- a/connections/sources/catalog/cloud-apps/blueshift/index.md
+++ b/connections/sources/catalog/cloud-apps/blueshift/index.md
@@ -13,7 +13,7 @@ In your favorite BI or analytics tool, you’ll be able to analyze your email ca
1. From your workspace’s segment.com//sources page, click Add source.
2. Choose Blueshift.
3. Give the Source a nickname and a schema name. The nickname is a label used in the Segment interface, and the schema name is the namespace you query against in your warehouse. You can name them however you’d like, but we recommend sticking to something that reflects the Source itself, like Blueshift for nickname and Blueshift for the schema name.
-4. The next page (“Overview”) will surface your Segment write key for Blueshift. Copy this write key.
+4. The next page ("Overview") will surface your Segment write key for Blueshift. Copy this write key.
5. To finish the setup, you’ll have to go into your Blueshift account and enter this Segment write key in their destinations settings. Find the right place in Blueshift by clicking Account > Webhooks:

@@ -136,7 +136,7 @@ Below is a table of properties that are sent for the events above:
## UserId
-Blueshift sends their `customer_id` associated with the message recipient as the top level `userId` field. Additionally, we will also send “email” and “blueshift_user_uuid” under `context.traits`.
+Blueshift sends their `customer_id` associated with the message recipient as the top level `userId` field. Additionally, we will also send "email" and "blueshift_user_uuid" under `context.traits`.
## Send Data to Blueshift
diff --git a/connections/sources/catalog/cloud-apps/braze/index.md b/connections/sources/catalog/cloud-apps/braze/index.md
index 8f6aabb99e..77fc4b6591 100644
--- a/connections/sources/catalog/cloud-apps/braze/index.md
+++ b/connections/sources/catalog/cloud-apps/braze/index.md
@@ -13,7 +13,7 @@ In your favorite BI or analytics tool, you’ll be able to analyze your mobile,
1. From your workspace Overview page, click Add Source.
2. Choose Braze
3. Give the Source a name. The name will be used to identify this source within your workspace. You can name it however you’d like, but we recommend sticking to something that reflects the Source itself, like Braze.
-4. The next page “Overview” will surface your Segment write key for Braze. Copy this write key.
+4. The next page "Overview" will surface your Segment write key for Braze. Copy this write key.
5. To finish the setup, you need to activate "Currents" in Braze which requires reaching out to Braze Support or your Customer Support Manager. Braze Currents is only available in select Braze packages and cannot be configured within Braze without assistance from your Braze Customer Success representative.
diff --git a/connections/sources/catalog/cloud-apps/chatlio/index.md b/connections/sources/catalog/cloud-apps/chatlio/index.md
index 579bdfc57d..a01decc007 100644
--- a/connections/sources/catalog/cloud-apps/chatlio/index.md
+++ b/connections/sources/catalog/cloud-apps/chatlio/index.md
@@ -10,7 +10,7 @@ Chatlio is a live chat tool that allows you to talk to your customers through yo
1. From your workspace’s `segment.com//sources` page, click Add source.
2. Choose Chatlio.
3. Give the Source a name. The name will be used to identify this source within your workspace. You can name it however you’d like, but we recommend sticking to something that reflects the Source itself, like Chatlio.
-4. The next page “Overview” will surface your Segment write key for Chatlio. Copy this write key.
+4. The next page "Overview" will surface your Segment write key for Chatlio. Copy this write key.
5. To finish the setup, you’ll have to go into your [Chatlio dashboard](https://chatlio.com/app/#/login) and enter the Segment write key in the settings towards the bottom of the page.
6. Now when you go back to Segment, click into your Chatlio Source and you’ll be able to add other downstream Destinations where you want to see live chat events.
diff --git a/connections/sources/catalog/cloud-apps/customer.io/index.md b/connections/sources/catalog/cloud-apps/customer.io/index.md
index ba83e06daa..3b37bae96d 100644
--- a/connections/sources/catalog/cloud-apps/customer.io/index.md
+++ b/connections/sources/catalog/cloud-apps/customer.io/index.md
@@ -18,7 +18,7 @@ If you have previously enabled sending email events via the Customer.io destinat
3. Give the Source a nickname and a schema name. The nickname is a label used in the Segment interface, and the schema name is the namespace you query against in your warehouse. You can name them however you’d like, but we recommend sticking to something that reflects the Source itself, like `Customerio` for nickname and `customerio` for the schema name.
-4. The next page (“Overview”) will surface your **Segment write key for Customer.io.** Copy this write key.
+4. The next page ("Overview") will surface your **Segment write key for Customer.io.** Copy this write key.
5. To finish the setup, you’ll have to go into your Customer.io account and enter this Segment write key in their integrations settings. Find the right place in Customer.io by clicking Settings > Integrations > Segment.
diff --git a/connections/sources/catalog/cloud-apps/delighted/index.md b/connections/sources/catalog/cloud-apps/delighted/index.md
index 5242ec5565..b937e79529 100644
--- a/connections/sources/catalog/cloud-apps/delighted/index.md
+++ b/connections/sources/catalog/cloud-apps/delighted/index.md
@@ -12,7 +12,7 @@ This document was last updated on October 19, 2018. If you notice any gaps, outd
## Getting Started
-1. From your Segment UI’s Sources page click on “Add Source”.
+1. From your Segment UI’s Sources page click on "Add Source".
2. Search for Delighted within the Sources Catalog and confirm by clicking "Connect".
3. Give the Source a nickname and follow the setup steps to "Add Source". The nickname is used as a label for the source in your Segment interface, and Segment creates a related schema name which you query against in your warehouse. The nickname can be anything, but we recommend sticking to something that reflects the source itself and distinguishes amongst your environments (Eg. SourceName_Prod, SourceName_Staging, SourceName_Dev).
4. Sign in to your Delighted account and visit the [Segment destination](https://delighted.com/integrations/segment) to connect.
diff --git a/connections/sources/catalog/cloud-apps/drip/index.md b/connections/sources/catalog/cloud-apps/drip/index.md
index 83ed21118c..5a0e08f5e9 100644
--- a/connections/sources/catalog/cloud-apps/drip/index.md
+++ b/connections/sources/catalog/cloud-apps/drip/index.md
@@ -18,7 +18,7 @@ If you have previously enabled sending email events via the Drip destination dur
3. Give the Source a nickname and a schema name. The nickname is a label used in the Segment interface, and the schema name is the namespace you query against in your warehouse. You can name them however you’d like, but we recommend sticking to something that reflects the Source itself, like `Drip` for nickname and `drip` for the schema name.
-4. The next page (“Overview”) will surface your **Segment write key for Drip.** Copy this write key.
+4. The next page ("Overview") will surface your **Segment write key for Drip.** Copy this write key.
5. To finish the setup, you’ll have to go into your Drip account and enter this Segment write key in their integrations settings. Find the right place in Drip by clicking Settings > Integrations > Segment.
diff --git a/connections/sources/catalog/cloud-apps/facebook-lead-ads/index.md b/connections/sources/catalog/cloud-apps/facebook-lead-ads/index.md
index 69c259c6fa..2202cb4cb5 100644
--- a/connections/sources/catalog/cloud-apps/facebook-lead-ads/index.md
+++ b/connections/sources/catalog/cloud-apps/facebook-lead-ads/index.md
@@ -15,7 +15,7 @@ _**NOTE:** Facebook Lead Ads is currently in beta and this doc was last updated
## Getting Started
1. Set up a Facebook Lead Ad campaign if you haven’t already. Instructions on how to do so are [here](https://www.facebook.com/business/help/1462876307360828).
-2. Search for "Facebook Lead Ads” within the Sources Catalog and confirm by clicking "Connect"
+2. Search for "Facebook Lead Ads" within the Sources Catalog and confirm by clicking "Connect"
3. Give the source a name. The name is a label used in the Segment interface, and Segment creates a related schema name which you query against in your warehouse. The nickname can be whatever you like, but we recommend sticking to something that reflects the source itself, like Facebook Lead Ads or Facebook Lead Ads Prod.
4. Click Create And Continue then Connect to OAuth into Facebook.
5. Select which accounts you would like to sync (you may change this selection later).
diff --git a/connections/sources/catalog/cloud-apps/factual-engine/index.md b/connections/sources/catalog/cloud-apps/factual-engine/index.md
index 5d139183bb..63cfa09531 100644
--- a/connections/sources/catalog/cloud-apps/factual-engine/index.md
+++ b/connections/sources/catalog/cloud-apps/factual-engine/index.md
@@ -4,7 +4,7 @@ beta: true
---
## How Engine Works
-Installing the Engine SDK in your app enables you to gather and analyze information about your users’ location. Engine caches the relevant portion of Factual’s Global Places data on the device to determine where the user is, beyond raw location. Engine needs device location data in order to work and will use whatever location permissions your app has authorized. You can also set custom rules to trigger “actions” like push notifications or emails.
+Installing the Engine SDK in your app enables you to gather and analyze information about your users’ location. Engine caches the relevant portion of Factual’s Global Places data on the device to determine where the user is, beyond raw location. Engine needs device location data in order to work and will use whatever location permissions your app has authorized. You can also set custom rules to trigger "actions" like push notifications or emails.
The Factual Engine Source is a cloud-based event source. You simply include, configure, and initialize the Engine SDK as you normally would, and then add only a few lines of code to trigger correctly formatted events to Segment in response to your dynamic triggers and actions. This event data then flows seamlessly to your downstream Segment Destinations. Once the Factual Engine Source is enabled, any Segment Destination that can accept server-to-server data can accept data from Factual Engine. The data is also automatically streamed into your next warehouse sync. The data generated from the Factual Engine can also be easily combined with other Source data collected via Segment without any additional development work on your end.
diff --git a/connections/sources/catalog/cloud-apps/iterable/index.md b/connections/sources/catalog/cloud-apps/iterable/index.md
index 5d6cda8734..cc9160d982 100644
--- a/connections/sources/catalog/cloud-apps/iterable/index.md
+++ b/connections/sources/catalog/cloud-apps/iterable/index.md
@@ -22,7 +22,7 @@ If you have previously enabled sending email events via the Iterable destination

-4. The next page (“Overview”) will surface your **Segment write key for Iterable.** Copy this write key.
+4. The next page ("Overview") will surface your **Segment write key for Iterable.** Copy this write key.

diff --git a/connections/sources/catalog/cloud-apps/klaviyo/index.md b/connections/sources/catalog/cloud-apps/klaviyo/index.md
index da20fdd1cc..4f6df62e28 100644
--- a/connections/sources/catalog/cloud-apps/klaviyo/index.md
+++ b/connections/sources/catalog/cloud-apps/klaviyo/index.md
@@ -18,7 +18,7 @@ If you have previously enabled sending email events via the Klaviyo destination
3. Give the Source a nickname and a schema name. The nickname is a label used in the Segment interface, and the schema name is the namespace you query against in your warehouse. You can name them however you’d like, but we recommend sticking to something that reflects the Source itself, like `Klaviyo` for nickname and `klaviyo` for the schema name.
-4. The next page (“Overview”) will surface your **Segment write key for Klaviyo.** Copy this write key.
+4. The next page ("Overview") will surface your **Segment write key for Klaviyo.** Copy this write key.
5. To finish the setup, you’ll have to go into your Klaviyo account and enter this Segment write key in their integrations settings. Find the right place in Klaviyo by clicking [Integrations > Segment](https://www.klaviyo.com/integration/segment_io).
diff --git a/connections/sources/catalog/cloud-apps/klenty/index.md b/connections/sources/catalog/cloud-apps/klenty/index.md
index 22ef2f398d..dab2c3936d 100644
--- a/connections/sources/catalog/cloud-apps/klenty/index.md
+++ b/connections/sources/catalog/cloud-apps/klenty/index.md
@@ -11,7 +11,7 @@ _**NOTE:** The Klenty Source is currently in beta, which means that they are sti
## Getting Started
-1. From your Segment UI’s Sources page click on “Add Source”.
+1. From your Segment UI’s Sources page click on "Add Source".
2. Search for "Klenty" within the Sources Catalog and confirm by clicking "Connect".
3. Give the Source a nickname and follow the setup flow to "Add Source". The nickname is a label used in the Segment interface, and Segment creates a related schema name which you query against in your warehouse. The nickname can be whatever you like, but we recommend sticking to something that reflects the source itself and distinguishes amongst your environments (Eg. SourceName_Prod, SourceName_Staging, SourceName_Dev).
4. Copy the Write key from the Segment UI and log in to your Klenty account - navigate to Settings > Integrations > Segment Integration and paste the key to connect.
diff --git a/connections/sources/catalog/cloud-apps/looker/index.md b/connections/sources/catalog/cloud-apps/looker/index.md
index 5a777e8195..6145519c04 100644
--- a/connections/sources/catalog/cloud-apps/looker/index.md
+++ b/connections/sources/catalog/cloud-apps/looker/index.md
@@ -11,7 +11,7 @@ From Segment's end, you will need to create a Looker source, and copy your write
Using this Source, Looker will send Look (query) results into Segment as `identify` calls. This is the only API method that Looker sends to Segment. Any user trait that you include as a column in your Look will be included as a user trait on these identify call.
-Note: When you set up your Look and generate new user traits (column names), avoid using trait names that may already exist in your marketing tools. If you create a new user trait in Looker (e.g. “churn risk”) and that trait already exists in your tools, syncing the user profile to the downstream tool will override the existing trait value with the new one.
+Note: When you set up your Look and generate new user traits (column names), avoid using trait names that may already exist in your marketing tools. If you create a new user trait in Looker (e.g. "churn risk") and that trait already exists in your tools, syncing the user profile to the downstream tool will override the existing trait value with the new one.
Below is an example of a cohort of users in Looker who have been active on toastmates.com (example website) at least once in the last 30 days.
diff --git a/connections/sources/catalog/cloud-apps/mailjet/index.md b/connections/sources/catalog/cloud-apps/mailjet/index.md
index 18954578e0..02c5cf3702 100644
--- a/connections/sources/catalog/cloud-apps/mailjet/index.md
+++ b/connections/sources/catalog/cloud-apps/mailjet/index.md
@@ -17,7 +17,7 @@ If you have previously enabled sending email events via the Mailjet destination
3. Give the Source a nickname and a schema name. The nickname is a label used in the Segment interface, and the schema name is the namespace you query against in your warehouse. You can name them however you’d like, but we recommend sticking to something that reflects the Source itself, like `Mailjet` for nickname and `Mailjet` for the schema name.
-4. The next page (“Overview”) will surface your **Segment write key for Mailjet.** Copy this write key.
+4. The next page ("Overview") will surface your **Segment write key for Mailjet.** Copy this write key.
5. To finish the setup, you’ll have to go into your Mailjet account and enter this Segment write key in their integrations settings. Find the right place in Mailjet by clicking App Connections > Segment.
diff --git a/connections/sources/catalog/cloud-apps/mandrill/index.md b/connections/sources/catalog/cloud-apps/mandrill/index.md
index 0ca99dad95..0e31cb11d1 100644
--- a/connections/sources/catalog/cloud-apps/mandrill/index.md
+++ b/connections/sources/catalog/cloud-apps/mandrill/index.md
@@ -32,7 +32,7 @@ Take your company’s email analysis to the next level by **adding Mandrill as a
### Streaming
-The Mandrill source is comprised only of a streaming component which listens in real time for inbound webhooks from [Mandrill’s Webhooks](https://mandrill.zendesk.com/hc/en-us/articles/205583217-Introduction-to-Webhooks) and batches the events to be uploaded on your next warehouse flush. These events are only ever appended to your warehouse. Since Mandrill is strictly used for transactional emails triggered directly by API calls, there are no “dimensional” concepts in their data model that would require any additional components.
+The Mandrill source is comprised only of a streaming component which listens in real time for inbound webhooks from [Mandrill’s Webhooks](https://mandrill.zendesk.com/hc/en-us/articles/205583217-Introduction-to-Webhooks) and batches the events to be uploaded on your next warehouse flush. These events are only ever appended to your warehouse. Since Mandrill is strictly used for transactional emails triggered directly by API calls, there are no "dimensional" concepts in their data model that would require any additional components.
## Collections
diff --git a/connections/sources/catalog/cloud-apps/nudgespot/index.md b/connections/sources/catalog/cloud-apps/nudgespot/index.md
index 6db8fb3539..184dc60672 100644
--- a/connections/sources/catalog/cloud-apps/nudgespot/index.md
+++ b/connections/sources/catalog/cloud-apps/nudgespot/index.md
@@ -17,7 +17,7 @@ If you have previously enabled sending email events via the Nudgespot destinatio
3. Give the Source a nickname and a schema name. The nickname is a label used in the Segment interface, and the schema name is the namespace you query against in your warehouse. You can name them however you’d like, but we recommend sticking to something that reflects the Source itself, like `Nudgespot` for nickname and `nudgespot` for the schema name.
-4. The next page (“Overview”) will surface your **Segment write key for Nudgespot.** Copy this write key.
+4. The next page ("Overview") will surface your **Segment write key for Nudgespot.** Copy this write key.
5. To finish the setup, you’ll have to go into your Nudgespot account and enter this Segment write key in their integrations settings. Find the right place in Nudgespot in Setup > Send Email Events to Segment.com.
diff --git a/connections/sources/catalog/cloud-apps/provesource/index.md b/connections/sources/catalog/cloud-apps/provesource/index.md
index e142af0c9a..9adab9fa11 100644
--- a/connections/sources/catalog/cloud-apps/provesource/index.md
+++ b/connections/sources/catalog/cloud-apps/provesource/index.md
@@ -9,7 +9,7 @@ _**NOTE:** The ProveSource Source is currently in beta, which means that they ar
## Getting Started
-1. From your Segment UI’s Sources page click on “Add Source”.
+1. From your Segment UI’s Sources page click on "Add Source".
2. Search for "ProveSource" within the Sources Catalog and confirm by clicking "Connect".
3. Give the Source a nickname and follow the setup flow to "Add Source". The nickname will be used to designate the source in the Segment interface, and Segment will create a related schema name. The schema name is the namespace you'll be querying against in your warehouse. The nickname can be whatever you like, but we recommend sticking to something that reflects the source itself and distinguishes amongst your environments (eg. SourceName_Prod, SourceName_Staging, SourceName_Dev).
4. Copy the Write key from the Segment UI and log in to your ProveSource account - navigate to [Settings](https://console.provesrc.com/#/settings) > Integrations > Click Edit next to Segment Integration and paste the key to connect.
diff --git a/connections/sources/catalog/cloud-apps/salesforce-marketing-cloud/index.md b/connections/sources/catalog/cloud-apps/salesforce-marketing-cloud/index.md
index 63bb251848..4a4dd76e77 100644
--- a/connections/sources/catalog/cloud-apps/salesforce-marketing-cloud/index.md
+++ b/connections/sources/catalog/cloud-apps/salesforce-marketing-cloud/index.md
@@ -56,7 +56,7 @@ and client secret:
You should now see a Summary page with a Components section. This section lists your _Client ID_ and _Client Secret_ settings.
### Set up your subdomain
-Segment will use your unique Salesforce subdomain to make API calls to SFMC. Your subdomain is represented by a 28-character string starting with the letters “mc” in any of your base URIs. For example, in the base URI `mc563885gzs27c5t9-63k636ttgm.rest.marketingcloudapis.com`, the subdomain is `mc563885gzs27c5t9-63k636ttgm`.
+Segment will use your unique Salesforce subdomain to make API calls to SFMC. Your subdomain is represented by a 28-character string starting with the letters "mc" in any of your base URIs. For example, in the base URI `mc563885gzs27c5t9-63k636ttgm.rest.marketingcloudapis.com`, the subdomain is `mc563885gzs27c5t9-63k636ttgm`.
### Enable the Salesforce Marketing Cloud Source
diff --git a/connections/sources/catalog/cloud-apps/selligent/index.md b/connections/sources/catalog/cloud-apps/selligent/index.md
index 9220d1fe10..0945a26090 100644
--- a/connections/sources/catalog/cloud-apps/selligent/index.md
+++ b/connections/sources/catalog/cloud-apps/selligent/index.md
@@ -18,7 +18,7 @@ If you have previously enabled sending email events via the Selligent destinatio
3. Give the Source a nickname and a schema name. The nickname is a label used in the Segment interface, and the schema name is the namespace you query against in your warehouse. You can name them however you’d like, but we recommend sticking to something that reflects the Source itself, like `Selligent` for nickname and `selligent` for the schema name.
-4. The next page (“Overview”) will surface your **Segment write key for Selligent.** Copy this write key.
+4. The next page ("Overview") will surface your **Segment write key for Selligent.** Copy this write key.
5. To finish the setup, send your write key to your Selligent Account Manager. He/she will enable the Source for you on Selligent's end.
diff --git a/connections/sources/catalog/cloud-apps/vero/index.md b/connections/sources/catalog/cloud-apps/vero/index.md
index c7b90a1f45..4b96ad71f2 100644
--- a/connections/sources/catalog/cloud-apps/vero/index.md
+++ b/connections/sources/catalog/cloud-apps/vero/index.md
@@ -21,7 +21,7 @@ If you have previously enabled sending email events via the Vero destination dur

-4. The next page (“Overview”) will surface your **Segment write key for Vero.** Copy this write key.
+4. The next page ("Overview") will surface your **Segment write key for Vero.** Copy this write key.
5. To finish the setup, you’ll have to go into your Vero account and enter this Segment write key in their integrations settings. Find the right place in Vero by clicking [Integrations](https://app.getvero.com/settings/integrations?integrations=all) > Segment.
diff --git a/connections/sources/catalog/cloud-apps/zendesk/index.md b/connections/sources/catalog/cloud-apps/zendesk/index.md
index d8da001d4c..5a09159f8c 100644
--- a/connections/sources/catalog/cloud-apps/zendesk/index.md
+++ b/connections/sources/catalog/cloud-apps/zendesk/index.md
@@ -242,7 +242,7 @@ In your warehouse, each collection gets its own table. Find below a list of the
type |
- The type of this ticket. Possible values: "problem", "incident", "question" or "task”. |
+ The type of this ticket. Possible values: "problem", "incident", "question" or "task". |
subject |
@@ -262,7 +262,7 @@ In your warehouse, each collection gets its own table. Find below a list of the
status |
- The state of the ticket. Possible values: "new", "open", "pending", "hold", "solved", "closed”. |
+ The state of the ticket. Possible values: "new", "open", "pending", "hold", "solved", "closed". |
recipient |
diff --git a/connections/sources/catalog/mobile/android/index.md b/connections/sources/catalog/mobile/android/index.md
index 597034e245..d8d2f80720 100644
--- a/connections/sources/catalog/mobile/android/index.md
+++ b/connections/sources/catalog/mobile/android/index.md
@@ -196,7 +196,7 @@ import com.segment.analytics.Properties.Product;
Properties properties = new Properties();
// add orderId and revenue to the properties object
-properties.putValue(“orderId”, String orderId).putValue(“revenue”, double revenue);
+properties.putValue("orderId", String orderId).putValue("revenue", double revenue);
// initialize a new product
Product product1 = new Product(String id, String sku, double price);
@@ -208,7 +208,7 @@ Product product2 = new Product(String id, String sku, double price);
properties.putProducts(product1, product2);
// pass the properties object into your Order Completed event
-Analytics.with(context).track(“Order Completed”, properties);
+Analytics.with(context).track("Order Completed", properties);
```
Find details on **best practices in event naming** as well as the **`track` method payload** in our [Spec](/docs/spec/track/).
diff --git a/connections/sources/catalog/ott/roku/index.md b/connections/sources/catalog/ott/roku/index.md
index 2b8166e9e2..4ce92b7184 100644
--- a/connections/sources/catalog/ott/roku/index.md
+++ b/connections/sources/catalog/ott/roku/index.md
@@ -33,7 +33,7 @@ The library consists of three parts:
2. **source/SegmentAnalytics.brs** - Implementation responsible for making HTTP requests to Segment REST API for identify, track, screen, group or alias. Includes handling for batching, error handling. Must be used within context of SceneGraph Task node. Cannot be used directly within context of SceneGraph UI components.
3. **components/SegmentAnalyticsTask.brs/xml** - SceneGraph Task node that will be running for the entire lifecycle of the app. Responsible for delegating calls to SegmentAnalytics.brs to make requests to Segment REST API.
-The “components” folder contains SceneGraph components and the “source” folder contains BrightScript files. The content of each folder must be included in the respective folder of the application. Depending on the application folder structure and where the library files are included, SegmentAnalyticsTask.xml might need to be updated to reflect the file paths.
+The "components" folder contains SceneGraph components and the "source" folder contains BrightScript files. The content of each folder must be included in the respective folder of the application. Depending on the application folder structure and where the library files are included, SegmentAnalyticsTask.xml might need to be updated to reflect the file paths.
### Initializing the library
@@ -43,32 +43,32 @@ To instantiate the library, you first need to update the application scene .xml
1. Include SegmentAnalyticsConnector.brs BrightScript file
```
-
+
```
-3. Once you have those tags in place you can initialize the library in your “init()” function of your scene as follows:
+3. Once you have those tags in place you can initialize the library in your "init()" function of your scene as follows:
```
-task = m.top.findNode(“segmentAnalyticsTask”)
+task = m.top.findNode("segmentAnalyticsTask")
m.library = SegmentAnalyticsConnector(task)
config = {
- “writeKey”: ”WRITE KEY”
- “debug”: true
- “queueSize”: 3
- “retryLimit”: 0
+ "writeKey": "WRITE KEY"
+ "debug": true
+ "queueSize": 3
+ "retryLimit": 0
}
m.library.init(config)
```
-The “config” object in the example above has four values that you can set:
+The "config" object in the example above has four values that you can set:
**writeKey (required)**: A string type field that is the write key to the source of your workspace hosted on Segment.
@@ -88,15 +88,15 @@ This is what an identify call looks like in BrightScript with your library insta
```
exampleTraitsObject = {
- “email”: test@test.com
- “name”: “TestName”
+ "email": test@test.com
+ "name": "TestName"
}
exampleOptionsObject = {
- “extraInformation”: “test”
+ "extraInformation": "test"
}
-m.library.identify(“exampleUserId”, exampleTraitsObject, exampleOptionsObject)
+m.library.identify("exampleUserId", exampleTraitsObject, exampleOptionsObject)
```
After identifying the user you can start to invoke the other methods calls library (track, screen, group and alias) with the same userID to associate them within the segment analytics system.
@@ -107,16 +107,16 @@ Identify lets you tie a user to their record trait about them. It includes a uni
An example of the method call would be as follows:
```
-userId = “1sdf1fw4xgafs”
+userId = "1sdf1fw4xgafs"
traits = {
- “email”: testEmail@gmail.com
- “name”: “John Doe”
- “accountType” : “tier-1”
+ "email": testEmail@gmail.com
+ "name": "John Doe"
+ "accountType" : "tier-1"
}
options = {
- “timeStamp”: “2019-04-23T19:24:13+00:00”
+ "timeStamp": "2019-04-23T19:24:13+00:00"
}
m.library.identify(userId, traits, options)
@@ -132,24 +132,24 @@ The identify call has the following fields:
## Track
-The track event lets you record actions users perform. Every action triggers what we call an “event”, which can also have associated properties.
+The track event lets you record actions users perform. Every action triggers what we call an "event", which can also have associated properties.
For this call in particular we suggest tracking events that are successful such as page loaded, click action performed and etc…
This is an example of how you would invoke the track call in the Roku library:
```
-eventName = “fast forward button press”
+eventName = "fast forward button press"
properties = {
- “timeSkipped”: “60”
- “mediaType”: “movie”
- “timeInMovie”: “35:20”
+ "timeSkipped": "60"
+ "mediaType": "movie"
+ "timeInMovie": "35:20"
}
options = {
- “userId”: “1sdf1fw4xgafs”
- “timeStamp”: “2019-04-23T19:24:13+00:00”
+ "userId": "1sdf1fw4xgafs"
+ "timeStamp": "2019-04-23T19:24:13+00:00"
}
m.library.track(eventName, properties, options)
@@ -170,19 +170,19 @@ The screen method lets you track which screen the user sees when it is loaded. I
Example of a screen call:
```
-name = “Main Screen”
+name = "Main Screen"
-category = “All”
+category = "All"
properties = {
- “hasCarousel”: “false”
- “isLoggedIn”: “false”
- “showingMovies”: “true”
+ "hasCarousel": "false"
+ "isLoggedIn": "false"
+ "showingMovies": "true"
}
options = {
- “userId”: “1sdf1fw4xgafs”
- “timeStamp”: “2019-04-23T19:24:13+00:00”
+ "userId": "1sdf1fw4xgafs"
+ "timeStamp": "2019-04-23T19:24:13+00:00"
}
m.library.screen(name, category, properties, options)
@@ -205,18 +205,18 @@ Helps associate an identified user with a group. Groups can be companies, organi
An example of a group call would be:
```
-userId = “1sdf1fw4xgafs”
+userId = "1sdf1fw4xgafs"
-groupId = “1s2s3d2sd2a”
+groupId = "1s2s3d2sd2a"
traits = {
- “company”: “trackers.inc”
- “field”: “advertising”
- “specialty”: “media tracking”
+ "company": "trackers.inc"
+ "field": "advertising"
+ "specialty": "media tracking"
}
options = {
- “timeStamp”: “2019-04-23T19:24:13+00:00”
+ "timeStamp": "2019-04-23T19:24:13+00:00"
}
m.library.group(userId, groupId, traits, options)
@@ -237,11 +237,11 @@ Allows you to associate one identity with another.
An example of an alias call would be:
```
-userId = “1sdf1fw4xgafs”
+userId = "1sdf1fw4xgafs"
options = {
- “previousId”: “123c-dsad-2da2-da2ds”
- “timeStamp”: “2019-04-23T19:24:13+00:00”
+ "previousId": "123c-dsad-2da2-da2ds"
+ "timeStamp": "2019-04-23T19:24:13+00:00"
}
m.library.alias(userId, options)
@@ -263,7 +263,7 @@ So for example, in the case you add a track message that is just below 500k char
If you want to see how big your request is getting you can use set the debug property to true on the config object before initializing our library. This will output a log on how big each request is getting when you queue/send them out.
### How can I see the logs for the library?
-You can follow [this guide](https://www.howtogeek.com/290787/how-to-enable-developer-mode-and-sideload-roku-apps/) to set your device into developer mode and [this one](https://sdkdocs.roku.com/display/sdkdoc/Debugging+Your+Application) to debug and surface logs out of your app. There are currently two levels of debugging which are “DEBUG” and “ERROR”.
+You can follow [this guide](https://www.howtogeek.com/290787/how-to-enable-developer-mode-and-sideload-roku-apps/) to set your device into developer mode and [this one](https://sdkdocs.roku.com/display/sdkdoc/Debugging+Your+Application) to debug and surface logs out of your app. There are currently two levels of debugging which are "DEBUG" and "ERROR".
### Does the Roku library support device-mode integrations?
The Roku library only supports cloud-mode destinations. If you have a need for a device mode integration in your Roku application please [reach out](https://segment.com/help/contact/).
diff --git a/connections/sources/catalog/website/analytics.js/index.md b/connections/sources/catalog/website/analytics.js/index.md
index d42fb84c45..5650ae9157 100644
--- a/connections/sources/catalog/website/analytics.js/index.md
+++ b/connections/sources/catalog/website/analytics.js/index.md
@@ -773,7 +773,7 @@ In order to ensure high fidelity, first-party customer data, we persist the Segm
If a user comes back to your site after a cookie has expired, Analytics.js will check local storage to see if an ID exists and reset it as the user’s ID in the cookie. If a user chooses to clear their cookies and local storage then all of the IDs will be removed.
### Using only the cookie as the Segment ID store
-If you would like to use the cookie exclusively to store the Segment ID, then you can go to your javascript source settings > Analytics.js and disable the “Use Local Storage for Segment ID” option. This will have an impact on the fidelity of your anonymous users and could result in an increase in MTUs on certain platforms.
+If you would like to use the cookie exclusively to store the Segment ID, then you can go to your javascript source settings > Analytics.js and disable the "Use Local Storage for Segment ID" option. This will have an impact on the fidelity of your anonymous users and could result in an increase in MTUs on certain platforms.
## Troubleshooting
diff --git a/connections/sources/cross-domain/index.md b/connections/sources/cross-domain/index.md
index b58f0bf5ef..bdf0428730 100644
--- a/connections/sources/cross-domain/index.md
+++ b/connections/sources/cross-domain/index.md
@@ -104,7 +104,7 @@ The time it takes to resolve the cross domain identifier can depend on a few fac
Whether our solution will work for a particular user is up to that user and their browser. Let’s look at the three most common browsers:
#### Chrome
-By default, Chrome does not block any cookies. Chrome does give the user two other options, “Block 3rd party cookies and site data” and “Block sites from setting any data.” Chrome does not have a setting that allows 2nd party cookies while blocking 3rd party cookies.
+By default, Chrome does not block any cookies. Chrome does give the user two other options, "Block 3rd party cookies and site data" and "Block sites from setting any data." Chrome does not have a setting that allows 2nd party cookies while blocking 3rd party cookies.
| Cookie Setting | Cross-Domain Analytics | Third-Party Cookie Solutions |
| ------------------------------------- | --------------------- | ---------------------------- |
diff --git a/connections/sources/faq/cloud-source-object.md b/connections/sources/faq/cloud-source-object.md
index 3ec9c50021..ec66e4377a 100644
--- a/connections/sources/faq/cloud-source-object.md
+++ b/connections/sources/faq/cloud-source-object.md
@@ -19,6 +19,6 @@ Before you connect a source, check out the [sources documentation](https://segm
Next, you’ll also need to get the credentials for your [warehouse](https://segment.com/docs/warehouses/).
-Once you have the necessary credentials (or are logged in to OAuth for your cloud source), you should be ready to go! Go to the “sources catalog” in the app, choose your preferred source and you will be prompted to enter your credentials or OAuth. Then, go to the “warehouses” tab and enter the credentials for your warehouse if you don’t already have one connected to Segment.
+Once you have the necessary credentials (or are logged in to OAuth for your cloud source), you should be ready to go! Go to the "sources catalog" in the app, choose your preferred source and you will be prompted to enter your credentials or OAuth. Then, go to the "warehouses" tab and enter the credentials for your warehouse if you don’t already have one connected to Segment.
Based on your plan, you will be able to schedule a certain number of syncs per day. We suggest setting these up so your dashboards and reports are fresh for reporting, but not at the same time of day that a lot of people are querying your database.
diff --git a/connections/sources/faq/measure-advertising-funnel.md b/connections/sources/faq/measure-advertising-funnel.md
index 3da066b52c..093992623f 100644
--- a/connections/sources/faq/measure-advertising-funnel.md
+++ b/connections/sources/faq/measure-advertising-funnel.md
@@ -86,7 +86,7 @@ The general approach is to use an arbitrary `anonymousId` (e.g. a UUID) in the s
## Estimating the Impact of Moving Server-side
-If you want to get a quick estimate for the number of additional clicks you’d track using server-side tracking, you can use “redirect tracking” with a URL shortener to estimate the number of clicks coming from Google Adwords or Facebook Ads. This will give you an estimate for the number of times an ad is clicked (minus some bounce in the few hundred milliseconds of the redirect), which will closely match server-side `page()` tracking should you choose to implement it.
+If you want to get a quick estimate for the number of additional clicks you’d track using server-side tracking, you can use "redirect tracking" with a URL shortener to estimate the number of clicks coming from Google Adwords or Facebook Ads. This will give you an estimate for the number of times an ad is clicked (minus some bounce in the few hundred milliseconds of the redirect), which will closely match server-side `page()` tracking should you choose to implement it.

diff --git a/connections/sources/faq/native-mobile-spec.md b/connections/sources/faq/native-mobile-spec.md
index a639fdaa92..c7f95140c5 100644
--- a/connections/sources/faq/native-mobile-spec.md
+++ b/connections/sources/faq/native-mobile-spec.md
@@ -16,12 +16,12 @@ This article outlines common questions about our Native Mobile Spec. To learn wh
* Faster time to value: Set up your destinations with key metrics like Daily Active Users, sessions, and in-app purchases right away!
-* Measure ROI of campaigns: Analyze campaign performance with spec’d events like “campaign hit”, “install attributed” and “push notification opened” in your favorite analytics or BI tool.
+* Measure ROI of campaigns: Analyze campaign performance with spec’d events like "campaign hit", "install attributed" and "push notification opened" in your favorite analytics or BI tool.
### Which destinations currently take advantage of the mobile spec?
-Our [Facebook App Events](https://segment.com/docs/integrations/facebook-app-events/) server-side destination currently takes advantage of the “Application Installed” event to power new features like custom audience creation, dynamic ads and conversion tracking, without needing to sit on the device. Soon, more destinations like Google Adwords and Salesforce Marketing Cloud and attribution providers will offer similar functionality.
+Our [Facebook App Events](https://segment.com/docs/integrations/facebook-app-events/) server-side destination currently takes advantage of the "Application Installed" event to power new features like custom audience creation, dynamic ads and conversion tracking, without needing to sit on the device. Soon, more destinations like Google Adwords and Salesforce Marketing Cloud and attribution providers will offer similar functionality.
### How does all of this work?
diff --git a/connections/sources/faq/tracking-plan-example.md b/connections/sources/faq/tracking-plan-example.md
index 973ec25371..c1ecda6484 100644
--- a/connections/sources/faq/tracking-plan-example.md
+++ b/connections/sources/faq/tracking-plan-example.md
@@ -61,7 +61,7 @@ This is currently recorded with the legacy name `Created a Source`, but we’d l
SENT SOURCE DATA
-The tricky thing with this event is that it’s unique per source, but everything else is tracked per user. So we’ll want to record a “Sent Source Data” event: once a day, for each user, for every source they’re connected with that had data sent. So a user might be an owner/collaborator on 3 sources that sent data today, in which case we’ll send 3 “Sent Source Data” events, one for each of those sources. We still want to differentiate workspace stuff from user account stuff.
+The tricky thing with this event is that it’s unique per source, but everything else is tracked per user. So we’ll want to record a "Sent Source Data" event: once a day, for each user, for every source they’re connected with that had data sent. So a user might be an owner/collaborator on 3 sources that sent data today, in which case we’ll send 3 "Sent Source Data" events, one for each of those sources. We still want to differentiate workspace stuff from user account stuff.
```js
analytics.track(userId,'Sent Source Data',{// source
diff --git a/connections/sources/guides/tumblr/index.md b/connections/sources/guides/tumblr/index.md
index a9cbfe7541..9c1e861b0b 100644
--- a/connections/sources/guides/tumblr/index.md
+++ b/connections/sources/guides/tumblr/index.md
@@ -14,7 +14,7 @@ Segment makes it simple to add a bunch of great analytics and engagement tools t
2. Open your Tumblr Dashboard in a new window.
3. Click Settings (the gear icon) at the top of your Tumblr Dashboard.
4. Click the blog you’d like to update on the left side of the page.
-5. Click “Customize” in the Theme section.
+5. Click "Customize" in the Theme section.
6. Paste the Segment snippet into the "Description" field.
7. Click "Save."
diff --git a/connections/sources/index.md b/connections/sources/index.md
index d2f711532c..a4a2fe6bca 100644
--- a/connections/sources/index.md
+++ b/connections/sources/index.md
@@ -10,9 +10,14 @@ redirect_from:
landing: true
---
-## Website
+## What is a source?
-[Analytics.js](/docs/sources/website/analytics.js/), our Javascript library, is the most powerful way to track customer data from your website. We recommend it over server-side libraries as the default installation for any website.
+{% include content/whats-a-source.md %}
+
+
+## Website libraries
+
+[Analytics.js](/docs/sources/website/analytics.js/), our Javascript library, is the most powerful way to track customer data from your website. If you're just starting out, we recommend it over server-side libraries as the simplest installation for any website.
## Mobile
diff --git a/connections/sources/visual-tagger/index.md b/connections/sources/visual-tagger/index.md
index e570913d28..e65b6aee49 100644
--- a/connections/sources/visual-tagger/index.md
+++ b/connections/sources/visual-tagger/index.md
@@ -71,7 +71,7 @@ Enable the Visual Tagger integration for the source you created above.
4. Click **Tag an Event** and mouse over parts of the site. The mouse highlights components that you can add an event tag to.
5. Click a component to open the **Tag Creation** panel, where you can adjust the event tag's configuration.
For each event, there are the following configuration options:
- - _Selector_: The CSS selector that the event will be added to. If you are unsure whether or not the right selector has been chosen (or you need to go up a level in the elements tree to a parent element), click on the “Elements” dropdown where you can explore the tree.
+ - _Selector_: The CSS selector that the event will be added to. If you are unsure whether or not the right selector has been chosen (or you need to go up a level in the elements tree to a parent element), click on the "Elements" dropdown where you can explore the tree.
- _URL_: The page that the event should be fired from
- _Trigger_: What user action should trigger the event. Currently, we support:
- `click` - when a user clicks on an element -
diff --git a/connections/warehouses/catalog/amazon-s3/index.md b/connections/warehouses/catalog/amazon-s3/index.md
index e3090a883b..8460dc7c44 100644
--- a/connections/warehouses/catalog/amazon-s3/index.md
+++ b/connections/warehouses/catalog/amazon-s3/index.md
@@ -90,7 +90,7 @@ The Segment user must have the permission to `GenerateDataKey` from your AWS Key

#### Update S3 bucket default encryption propery
-The target S3 bucket should have the “Default encryption” property enabled and set to `AWS-KMS`. Choose the customer-managed key generated in the above step for encryption.
+The target S3 bucket should have the "Default encryption" property enabled and set to `AWS-KMS`. Choose the customer-managed key generated in the above step for encryption.

diff --git a/connections/warehouses/catalog/bigquery/index.md b/connections/warehouses/catalog/bigquery/index.md
index c5ddeacb51..742be05cbb 100644
--- a/connections/warehouses/catalog/bigquery/index.md
+++ b/connections/warehouses/catalog/bigquery/index.md
@@ -30,7 +30,7 @@ warehouse in Segment.
2. Configure [Cloud Platform](https://console.cloud.google.com/):
- If you don’t have a project already, [create one](https://support.google.com/cloud/answer/6251787?hl=en&ref_topic=6158848).
- If you have an existing project, you will need to [enable the BigQuery API](https://cloud.google.com/bigquery/quickstart-web-ui).
- Once you've done so, you should see BigQuery in the [“Resources” section](https://cl.ly/0W2i2I2B2R0M) of Cloud Platform.
+ Once you've done so, you should see BigQuery in the ["Resources" section](https://cl.ly/0W2i2I2B2R0M) of Cloud Platform.
- **Note:** make sure [billing is enabled](https://support.google.com/cloud/answer/6293499#enable-billing) on your project,
otherwise Segment will not be able to write into the cluster.
3. Copy your project ID, as you will need it later.
diff --git a/connections/warehouses/catalog/db2/index.md b/connections/warehouses/catalog/db2/index.md
index 4be02c4fb9..7c8b44621d 100644
--- a/connections/warehouses/catalog/db2/index.md
+++ b/connections/warehouses/catalog/db2/index.md
@@ -62,7 +62,7 @@ In the Segment App, select Add Destination:
-Search for and select “Db2”:
+Search for and select "Db2":
diff --git a/connections/warehouses/catalog/postgres/index.md b/connections/warehouses/catalog/postgres/index.md
index 4b1b64bbaa..75abc376c7 100644
--- a/connections/warehouses/catalog/postgres/index.md
+++ b/connections/warehouses/catalog/postgres/index.md
@@ -136,7 +136,7 @@ As a supplement to this guide, Amazon has created an official guide to [setting
**Master Username** is the username you will use to log in to the instance.
- **Master Password** is a password that is 8 to 128 ASCII characters long that doesn’t contain the characters /, “, or @.
+ **Master Password** is a password that is 8 to 128 ASCII characters long that doesn’t contain the characters /, ", or @.
When you're done entering your settings, click **Next Step**.

diff --git a/connections/warehouses/catalog/redshift/index.md b/connections/warehouses/catalog/redshift/index.md
index bbac093ece..5eff403614 100644
--- a/connections/warehouses/catalog/redshift/index.md
+++ b/connections/warehouses/catalog/redshift/index.md
@@ -30,7 +30,7 @@ There are two kinds of Redshift clusters: **Dense Compute** and **Dense Storage
You can skip this step if you already have a Redshift cluster:
1. Open the Redshift Console: 
-2. Click on “Launch Cluster”: 
+2. Click on "Launch Cluster": 
3. Fill out the cluster details (make sure to select a secure password!): 
@@ -93,7 +93,7 @@ Or if your cluster has a field called `VPC Security Groups`, proceed to [EC2 VPC

-4. Click on “Add Connection Type”
+4. Click on "Add Connection Type"

@@ -109,7 +109,7 @@ Or if your cluster has a field called `VPC Security Groups`, proceed to [EC2 VPC

-3. Select the “Inbound” tab and then “Edit”
+3. Select the "Inbound" tab and then "Edit"

diff --git a/connections/warehouses/catalog/snowflake/index.md b/connections/warehouses/catalog/snowflake/index.md
index a60b2ce13a..82964af2d9 100644
--- a/connections/warehouses/catalog/snowflake/index.md
+++ b/connections/warehouses/catalog/snowflake/index.md
@@ -45,7 +45,7 @@ CREATE DATABASE "SEGMENT_EVENTS";
### Create Role for Segment
-You need to run these commands rather than creating a role with the “Create Role” dialog in the UI.
+You need to run these commands rather than creating a role with the "Create Role" dialog in the UI.
This role will be attached to Segment’s user and it gives just enough permissions for loading data in your database. We recommend not reusing this role for other operations.
@@ -129,7 +129,7 @@ USE DATABASE "SEGMENT_EVENTS";
After creating a Snowflake warehouse, the next step is to connect Segment.
1. In the Segment App, select Add Destination.
-2. Search for and select “Snowflake”.
+2. Search for and select "Snowflake".
3. Add your credentials as follows:
- User - The user name (as created above).
- Password - The password for the user.
@@ -143,7 +143,7 @@ After creating a Snowflake warehouse, the next step is to connect Segment.
### Whitelisting IPs
-If you create a network policy with Snowflake, add the following IP address to the “Allowed IP Addresses” list: `52.25.130.38/32`
+If you create a network policy with Snowflake, add the following IP address to the "Allowed IP Addresses" list: `52.25.130.38/32`
### Multi-Factor Authentication (MFA) & SSO
@@ -167,7 +167,7 @@ We strongly recommend creating a unique Warehouse, Database and Role for the Seg
## Troubleshooting
-### I get “Object does not exist” when running “USE DATABASE” or “USE WAREHOUSE”, even if the warehouse or the database are created.
+### I get "Object does not exist" when running "USE DATABASE" or "USE WAREHOUSE", even if the warehouse or the database are created.
Make sure you have created the role and assigned the proper permissions with the account `SYSADMIN` or `ACCOUNTADMIN`. Other non-system accounts don’t assign the right permissions.
diff --git a/connections/warehouses/choose-warehouse.md b/connections/warehouses/choose-warehouse.md
index b837aecd27..00457e5d1b 100644
--- a/connections/warehouses/choose-warehouse.md
+++ b/connections/warehouses/choose-warehouse.md
@@ -38,4 +38,4 @@ Fixed-price plans are geared toward high-volume customers and allow you to rent
Redshift does require you to create a cluster, schedule vacuums, choose sort and distribution keys, and resize your cluster as storage and performance needs change over time.
-BigQuery is “fully-managed”, which means that you’ll never have to resize, vacuum, or adjust distribution or sort keys. All of that is handled by BigQuery.
+BigQuery is "fully-managed", which means that you’ll never have to resize, vacuum, or adjust distribution or sort keys. All of that is handled by BigQuery.
diff --git a/connections/warehouses/index.md b/connections/warehouses/index.md
index 6cab751dcc..2f030911b6 100644
--- a/connections/warehouses/index.md
+++ b/connections/warehouses/index.md
@@ -9,3 +9,8 @@ redirect_from:
- '/sql/common-queries/traits-by-user/'
- '/warehouses/common-queries/'
---
+
+
+## What's a Warehouse?
+
+{% include content/whats-a-warehouse.md %}
diff --git a/connections/warehouses/redshift-faq.md b/connections/warehouses/redshift-faq.md
index 61cea046b8..03400a3dca 100644
--- a/connections/warehouses/redshift-faq.md
+++ b/connections/warehouses/redshift-faq.md
@@ -28,6 +28,6 @@ All Segment-managed schemas have a default VARCHAR size of 512 in order to keep
### Blacklisted track call properties:
-While almost all event properties are valid, we are unable to pass through properties that have naming conflicts with the default key/value pairs included in a standard raw JSON call. For example, if you send through a property in a track call named “timestamp” or “event”, it will cause a conflict and you likely wont see it appear in your warehouse. To be more specific, if you send the following track call, {'event':'birthday'} will likely be dropped when syncing the data to your data warehouse.
+While almost all event properties are valid, we are unable to pass through properties that have naming conflicts with the default key/value pairs included in a standard raw JSON call. For example, if you send through a property in a track call named "timestamp" or "event", it will cause a conflict and you likely wont see it appear in your warehouse. To be more specific, if you send the following track call, {'event':'birthday'} will likely be dropped when syncing the data to your data warehouse.
`analytics.track('selected gift', {'event':'birthday', 'type':'cake'})`
diff --git a/guides/account-management/add-team-member.md b/guides/account-management/add-team-member.md
index 58c05ae03f..4b1034a181 100644
--- a/guides/account-management/add-team-member.md
+++ b/guides/account-management/add-team-member.md
@@ -38,7 +38,7 @@ To add a Source Collaborator, navigate to the Settings page for a given Source,
If you are on a Business plan and elect to use Single Sign On, by assigning team members access to Segment in your identity provider, you are granting them implicit access to your workspaces **as a read-only member.**
-Segment supports “Just-In-Time” user provisioning via SSO. Any users with access to the application as defined in your IDP will be able to seamlessly create an account the very first time they log in. All auto-provisioned users are created as read-only members.
+Segment supports "Just-In-Time" user provisioning via SSO. Any users with access to the application as defined in your IDP will be able to seamlessly create an account the very first time they log in. All auto-provisioned users are created as read-only members.
Admins may then promote new auto-provisioned read-only members to owners as they see fit.
diff --git a/guides/account-management/move-source-workspace.md b/guides/account-management/move-source-workspace.md
index 00ea52cbb3..f0d0d0f5e9 100644
--- a/guides/account-management/move-source-workspace.md
+++ b/guides/account-management/move-source-workspace.md
@@ -2,13 +2,13 @@
title: "Can I move a source from one workspace to another?"
---
-Segment doesn’t have the ability to “merge” workspaces, however you can achieve the same effect by moving your existing sources to a single workspace.
+Segment doesn’t have the ability to "merge" workspaces, however you can achieve the same effect by moving your existing sources to a single workspace.
You can move sources between workspaces by clicking the sources tab in the top left of your workspace,

-heading to “Settings" for the requisite source,
+heading to "Settings" for the requisite source,

diff --git a/guides/best-practices/collect-on-client-or-server.md b/guides/best-practices/collect-on-client-or-server.md
index c6effdb957..f91282336f 100644
--- a/guides/best-practices/collect-on-client-or-server.md
+++ b/guides/best-practices/collect-on-client-or-server.md
@@ -2,7 +2,7 @@
title: "Should I instrument data collection on the client or server?"
---
-One of the most common questions we receive is: “Should I use one of your client-side libraries or one of your server-side libraries?”
+One of the most common questions we receive is: "Should I use one of your client-side libraries or one of your server-side libraries?"
This is such an important topic that we’ve written up an in-depth article in our Analytics Academy: [When to Track on the Client vs Server](https://segment.com/academy/collecting-data/when-to-track-on-the-client-vs-server/). It’s worth a read!
@@ -34,7 +34,7 @@ For example, if you’re sending triggered emails based on events, it’s probab
#### Calculated from your database
-Another good type of data to send server-side are things that need to be calculated from a database query. This might be something like “Friend Count” if your site or app is a social network.
+Another good type of data to send server-side are things that need to be calculated from a database query. This might be something like "Friend Count" if your site or app is a social network.
#### Sensitive information
@@ -42,6 +42,6 @@ Sensitive information is also best kept out of browsers. Any data you don’t wa
### Selecting Destinations
-Each Segment library allows an `integrations` object either as a top level object or nested in options object. [Check your library docs](https://segment.com/docs/sources/) for details; look for the section titled [“Selecting Destinations”](https://segment.com/docs/sources/website/analytics.js/#selecting-integrations).
+Each Segment library allows an `integrations` object either as a top level object or nested in options object. [Check your library docs](https://segment.com/docs/sources/) for details; look for the section titled ["Selecting Destinations"](https://segment.com/docs/sources/website/analytics.js/#selecting-integrations).
This flag may be especially useful in Legacy source types, where an event might be triggered on both the client & server for various reasons. The following will cause the payload to be sent to all enabled tools EXCEPT Facebook Pixel:
diff --git a/guides/best-practices/collect-pageviews-serverside.md b/guides/best-practices/collect-pageviews-serverside.md
index 0849f9fe0f..d53b4ac500 100644
--- a/guides/best-practices/collect-pageviews-serverside.md
+++ b/guides/best-practices/collect-pageviews-serverside.md
@@ -4,9 +4,9 @@ title: "How do I collect pageviews on the server side?"
Generally, we believe that client-side collection is appropriate for collection of basic pageviews.
-If you’d like to track `page` calls from your server to Segment, we recommend doing it in addition to any client side tracking you’re doing with analytics.js, and doing it in a separate “source” so that you can configure where to send the (probably redundant, albeit higher-fidelity) data.
+If you’d like to track `page` calls from your server to Segment, we recommend doing it in addition to any client side tracking you’re doing with analytics.js, and doing it in a separate "source" so that you can configure where to send the (probably redundant, albeit higher-fidelity) data.
-With this approach, you might use a request “middleware” to log a `pageview` with every page load from your server.
+With this approach, you might use a request "middleware" to log a `pageview` with every page load from your server.
There are a few things to be mindful of if you want to make sure you can attribute these (anonymous) page views to the appropriate user in your client-side source (eg, for effectively joining these tables together to do down-funnel behavioral attribution). You’ll want to ensure they share an anonymousId by respecting one if it’s already there ,and setting it yourself if not. To do that, you can read and modify the `ajs_anonymous_id` cookie value in the request.
diff --git a/guides/best-practices/cross-channel-tracking.md b/guides/best-practices/cross-channel-tracking.md
index 9029ee5fb2..b9b2bfc95e 100644
--- a/guides/best-practices/cross-channel-tracking.md
+++ b/guides/best-practices/cross-channel-tracking.md
@@ -18,15 +18,15 @@ Digital marketing consists of owned marketing, earned marketing, and paid market

-“Owned” marketing encompasses all activities you have full control over. It can be further split into first- and second-party data. First-party data is customer data generated on your site or in your app. Second-party data is customer data generated when your customers interact with your email or push notifications (e.g. “Email Opened”, “Push Notification Received”).
+"Owned" marketing encompasses all activities you have full control over. It can be further split into first- and second-party data. First-party data is customer data generated on your site or in your app. Second-party data is customer data generated when your customers interact with your email or push notifications (e.g. "Email Opened", "Push Notification Received").
-“Earned” marketing is when publications, newsletters or blogs organically create some content that refers to or promotes you.
+"Earned" marketing is when publications, newsletters or blogs organically create some content that refers to or promotes you.
-Paid acquisition, like display ads or embedded advertorials, don’t exist on your domain. To track the inbound traffic from both “earned” and paid acquisition sources, we use UTM parameters (and deep links if you’re directing a customer to a specific screen in your mobile app that has the product to purchase).
+Paid acquisition, like display ads or embedded advertorials, don’t exist on your domain. To track the inbound traffic from both "earned" and paid acquisition sources, we use UTM parameters (and deep links if you’re directing a customer to a specific screen in your mobile app that has the product to purchase).
**Track engagement on your email channels**
-While these are still under “owned” marketing, they happen off your domain. An example is sending an engagement email to your customer base with a call-to-action to visit your store. If you’re using Segment and an email or push notification tool on our platform, you can easily collect second-party data such as “Email Sent” and “Push Notification Opened”.
+While these are still under "owned" marketing, they happen off your domain. An example is sending an engagement email to your customer base with a call-to-action to visit your store. If you’re using Segment and an email or push notification tool on our platform, you can easily collect second-party data such as "Email Sent" and "Push Notification Opened".
_Learn more about which_ [email](https://segment.com/catalog#integrations/email) and [push notification tools](https://segment.com/catalog#integrations/push-notifications) _are supported on Segment._
@@ -87,18 +87,18 @@ UTM parameters are only used when linking to your site from outside of your doma
UTM parameters contain three essential components:
-* **utm\_campaign**: this is the name of your campaign. All marketing activities that support this campaign, needs to have the same utm\_campaign so that downstream analysis to measure performance for this specific campaign can be done off this primary key. Examples: “national-toastday”
+* **utm\_campaign**: this is the name of your campaign. All marketing activities that support this campaign, needs to have the same utm\_campaign so that downstream analysis to measure performance for this specific campaign can be done off this primary key. Examples: "national-toastday"
-* **utm\_medium**: how the traffic is coming to your site? Is it through email, a display ad, an online forum? This ensures our downstream analysis can easily see which channel performs the best. Examples: “email”, “paid-display”, “paid-social”, “organic-social”
+* **utm\_medium**: how the traffic is coming to your site? Is it through email, a display ad, an online forum? This ensures our downstream analysis can easily see which channel performs the best. Examples: "email", "paid-display", "paid-social", "organic-social"
-* **utm\_source**: where is the traffic specifically coming from? You can be specific here. This ensures our downstream analysis can measure which specific source brings the most conversions. Examples: “twitter”, “customer.io” (email tool), “facebook”, “adroll”.
+* **utm\_source**: where is the traffic specifically coming from? You can be specific here. This ensures our downstream analysis can measure which specific source brings the most conversions. Examples: "twitter", "customer.io" (email tool), "facebook", "adroll".
With these being optional:
-* **utm\_content**: for multiple calls to action on a single page, utm\_content indicates which one. For example, on a website, there may be three different display ads. While the link on each display ad will have the same utm\_campaign, utm\_medium, and utm\_source, the utm\_content will be different. Examples: “banner”, “left-side”, “bottom-side”
+* **utm\_content**: for multiple calls to action on a single page, utm\_content indicates which one. For example, on a website, there may be three different display ads. While the link on each display ad will have the same utm\_campaign, utm\_medium, and utm\_source, the utm\_content will be different. Examples: "banner", "left-side", "bottom-side"
-* **utm\_term**: this is the parameter suggested for paid search to identify keywords for your ad. If you’re using Google Adwords and have enabled “autotagging”, then you don’t need to worry about this. Otherwise, you can manually pass the keywords from your search terms through this parameter so that you can see which keywords convert the most. Note that this parameter is reserved explicitly for search. Examples: “toast”, “butter”, “jam”.
+* **utm\_term**: this is the parameter suggested for paid search to identify keywords for your ad. If you’re using Google Adwords and have enabled "autotagging", then you don’t need to worry about this. Otherwise, you can manually pass the keywords from your search terms through this parameter so that you can see which keywords convert the most. Note that this parameter is reserved explicitly for search. Examples: "toast", "butter", "jam".
[Learn more about the semantics with each UTM parameter.](https://docs.google.com/file/d/0By71e2L6SonANjViYWUyOTktOGQ2Ny00NWJmLThlY2MtMDU3MzJhNWU0MDg1/edit?hl=en) _The key isn’t to stick with the definitions that closely, but to be consistent within your own analytics system._
@@ -173,7 +173,7 @@ This works by using a `userId` instead of an `anonymousId` to track key events a
[Learn more about pulling the entire user journey for a single user given a userId.](https://segment.com/docs/guides/sources/joining-user-profiles/)
-Unfortunately, tracking the same user across devices only works if she logs into each device. Anonymous browsing in each distinct “experience” (e.g. mobile safari, native iPhone, browser on laptop) generates its own unique `anonymousId` . Each `anonymousId` is limited to the scope of that browser or app, only measuring activities in those sessions. It’s not until the user logs in when the `userId` is generated (if she is registering for a new account) or the `userId` is retrieved from your database, and then mapped to the `anonymousId` of that session. Segment will keep a table of `anonymousId` s mapped to a single `userId`so you can analyze a user’s activity across multiple devices.
+Unfortunately, tracking the same user across devices only works if she logs into each device. Anonymous browsing in each distinct "experience" (e.g. mobile safari, native iPhone, browser on laptop) generates its own unique `anonymousId` . Each `anonymousId` is limited to the scope of that browser or app, only measuring activities in those sessions. It’s not until the user logs in when the `userId` is generated (if she is registering for a new account) or the `userId` is retrieved from your database, and then mapped to the `anonymousId` of that session. Segment will keep a table of `anonymousId` s mapped to a single `userId`so you can analyze a user’s activity across multiple devices.
If a user logs in on multiple devices, then you would be able to analyze even the anonymous activity across those devices. Consequently, it’s important to encourage your users to log in so that you have this capability.
diff --git a/guides/best-practices/ecommerce-tracking-plan.md b/guides/best-practices/ecommerce-tracking-plan.md
index b8f983bcc5..872b8f3cbf 100644
--- a/guides/best-practices/ecommerce-tracking-plan.md
+++ b/guides/best-practices/ecommerce-tracking-plan.md
@@ -14,7 +14,7 @@ In this guide, we’ll share with you the core events most relevant to e-commerc
## Identifying your customers
-Before diving into specific event tracking, you’ll want to make sure you track who your users are with the the `.identify()` call. You should call `.identify()` whenever a visitor provides you with a piece of information, at which point they become “known users.” The `.identify()` call creates or updates a record of your customer with a set of traits in your tools and warehouse. But how do you choose which traits about your user to include?
+Before diving into specific event tracking, you’ll want to make sure you track who your users are with the the `.identify()` call. You should call `.identify()` whenever a visitor provides you with a piece of information, at which point they become "known users." The `.identify()` call creates or updates a record of your customer with a set of traits in your tools and warehouse. But how do you choose which traits about your user to include?
Traits are pieces of data that you track about a specific user. Read our guide about selecting traits to learn more.
@@ -120,7 +120,7 @@ Lastly, we have a set of semantic campaign events that are automatically collect
[Check out the full list of e-commerce events you should track.](https://segment.com/docs/spec/ecommerce/v2)
-You may notice a pattern in the event names. We’ve selected the “Object Action” naming convention to ensure that all of our event data is clean and easily analyzable, while choosing “snake\_case” for the traits and properties. It doesn’t matter what you choose, so long as it’s consistent. Without a uniform and enforced naming framework to guide developers that add tracking code later, your data could get marred with conflicting naming structures. Learn more about the importance of naming conventions.
+You may notice a pattern in the event names. We’ve selected the "Object Action" naming convention to ensure that all of our event data is clean and easily analyzable, while choosing "snake\_case" for the traits and properties. It doesn’t matter what you choose, so long as it’s consistent. Without a uniform and enforced naming framework to guide developers that add tracking code later, your data could get marred with conflicting naming structures. Learn more about the importance of naming conventions.
_We recommend tracking core checkout activity on the server-side. Learn more about_ [tracking on the client vs. server](https://segment.com/docs/guides/sources/client-vs-server/).
diff --git a/guides/best-practices/forecast-with-sql.md b/guides/best-practices/forecast-with-sql.md
index c3729500fb..c8b729cb5b 100644
--- a/guides/best-practices/forecast-with-sql.md
+++ b/guides/best-practices/forecast-with-sql.md
@@ -2,7 +2,7 @@
title: "How do I forecast LTV with SQL and Excel for e-commerce?"
---
-Customer Lifetime Value (“LTV”) is the amount of money that an individual customer will spend with a given business in the future. It’s often used to value cohorts in your customer base, determine how much to spend in acquiring or retaining new users in a given cohort, rank customers, and measure the success of marketing activities from a baseline LTV forecast.
+Customer Lifetime Value ("LTV") is the amount of money that an individual customer will spend with a given business in the future. It’s often used to value cohorts in your customer base, determine how much to spend in acquiring or retaining new users in a given cohort, rank customers, and measure the success of marketing activities from a baseline LTV forecast.
The LTV calculation is not straightforward for e-commerce businesses, since future payments are not contractual: at any moment, a customer may never make a single purchase again. Additionally, forecasting future purchases requires statistical modeling that many current LTV formulas lack.
@@ -16,7 +16,7 @@ In this guide, we assume that you’re using the tracking scheme we described in
In a non-contractual setting, we can’t use a simple retention rate to determine when customers terminate their relationship. This is because the retention rate is a linear model that doesn’t accurately predict whether a customer has ended her relationship with the company or is merely in the midst of a long hiatus between transactions.
-The most accurate non-contractual LTV model, named “Buy Til You Die” (“BTYD”), focuses on calculating the discounted estimation of future purchases based on recency of last purchase, frequency of purchases, and average purchase value. This model uses non-linear modeling to predict whether or not a user is “alive” or “dead” given historic transactions to forecast future probability and size of purchases.
+The most accurate non-contractual LTV model, named "Buy Til You Die" ("BTYD"), focuses on calculating the discounted estimation of future purchases based on recency of last purchase, frequency of purchases, and average purchase value. This model uses non-linear modeling to predict whether or not a user is "alive" or "dead" given historic transactions to forecast future probability and size of purchases.
Since LTV is a critical metric for e-commerce companies, it’s important that this model, instead of simpler linear formula that is based on retention rates, is used for it’s calculation.
@@ -113,17 +113,17 @@ After Solver runs, cells B1:B4 will be updated to represent the model’s estima
## Model and predict future customer purchases
-The model requires four pieces of information about each customer’s past purchasing history: her “recency” (how many “time units” her last transaction occurred), “frequency” (how many transactions she made over the specified time period), the length of time over which we have observed her purchasing behavior, and the average transaction size.
+The model requires four pieces of information about each customer’s past purchasing history: her "recency" (how many "time units" her last transaction occurred), "frequency" (how many transactions she made over the specified time period), the length of time over which we have observed her purchasing behavior, and the average transaction size.
In our example, we have the purchasing behavior data over the course of six months with each unit of time being a single day.
-We’ll apply a both a beta-geometric and a negative binomial distribution (“BG/NBD”) to these inputs and then use Excel to estimate the model parameters (an alternative would be the Pareto/NBD model). These probability distributions are used because they accurately reflect the underlying assumptions of the aggregation of realistic individual buying behavior. ([Learn more about these models](http://www.brucehardie.com/notes/021/palive_for_BGNBD.pdf)).
+We’ll apply a both a beta-geometric and a negative binomial distribution ("BG/NBD") to these inputs and then use Excel to estimate the model parameters (an alternative would be the Pareto/NBD model). These probability distributions are used because they accurately reflect the underlying assumptions of the aggregation of realistic individual buying behavior. ([Learn more about these models](http://www.brucehardie.com/notes/021/palive_for_BGNBD.pdf)).
After estimating the model parameters, we’ll predict a particular customer’s conditional expected transactions by applying the same historic purchasing data to Bayes’ Theorem, which describes the probability of an event based on prior knowledge of conditions related to the event.
**Estimating the model parameters**
-The top left part of the first sheet represent the parameters of the BG/NBD model that must be fitted to the historic data you paste in. These four parameters (r, alpha, a, and b) will have “starting values” of 1.0, since we’ll use Excel Solver to determine their actual values.
+The top left part of the first sheet represent the parameters of the BG/NBD model that must be fitted to the historic data you paste in. These four parameters (r, alpha, a, and b) will have "starting values" of 1.0, since we’ll use Excel Solver to determine their actual values.
The values in columns F to J represent variables in the BG/NBD model. Column F, in particular, defines a single customer’s contribution to a the overarching function, on which we’ll use Solver to determine the parameters. In statistics, this function is called the likelihood function, which is a function of the parameters of a statistical model.
@@ -135,7 +135,7 @@ With the new parameter estimates, we can now predict a customer’s future purch
In the next sheet, we apply Bayes’ Theorem to the historic purchasing information to forecast the quantity of transactions in the next period. We’ll then multiply the expected quantity with the average transaction size to calculate the expected revenue for that period, which we can extrapolate as an annuity, of which we can find the present discounted value (assuming discount rate is 10%).
-Central to the Bayes’ Theorem formula is the Gaussian hypergeometric function, which is defined by “2F1” in column M. We evaluate the hypergeometric function as if it were a truncated series: by adding terms to the series until each term is small enough that it becomes trivial. In the spreadsheet, we sum the series to it’s 50th term.
+Central to the Bayes’ Theorem formula is the Gaussian hypergeometric function, which is defined by "2F1" in column M. We evaluate the hypergeometric function as if it were a truncated series: by adding terms to the series until each term is small enough that it becomes trivial. In the spreadsheet, we sum the series to it’s 50th term.
The rest of the variables in Bayes’ Theorem is in columns I through L, which use the inputs from the customer’s historic purchasing information, as well as the model parameter estimates as determined from Solver (cells B1:B4).
diff --git a/guides/best-practices/measure-marketing-roi-2.md b/guides/best-practices/measure-marketing-roi-2.md
index 1e468d09ea..4b509d5fd0 100644
--- a/guides/best-practices/measure-marketing-roi-2.md
+++ b/guides/best-practices/measure-marketing-roi-2.md
@@ -18,9 +18,9 @@ For our analysis walkthrough, we’ll use fictitious e-commerce and marketing da
Toastmates is currently running these two campaigns:
-* “National Toast Day”, where $5 off was applied if you made a purchase on that day
+* "National Toast Day", where $5 off was applied if you made a purchase on that day
-* “A Toast To Your Friend”, where you can buy toast for a friend at $5 off
+* "A Toast To Your Friend", where you can buy toast for a friend at $5 off
Each of these campaigns used a combination of channels. Here is a table with the channels and corresponding UTM parameters so when we build the SQL query, we can make sure all of the traffic sources are accounted for.
@@ -92,7 +92,7 @@ The resulting table:

-Since the National Toast Day campaign is relatively new, the majority of the traffic is from the email and an article (“news”). But we can see that the social channels have a lower conversion from store visits to product views. Email has the best overall conversion to revenue, which may be attributed to the recipients already familiar with the Toastmates brand or having previously had a stellar end-to-end shopping experience.
+Since the National Toast Day campaign is relatively new, the majority of the traffic is from the email and an article ("news"). But we can see that the social channels have a lower conversion from store visits to product views. Email has the best overall conversion to revenue, which may be attributed to the recipients already familiar with the Toastmates brand or having previously had a stellar end-to-end shopping experience.
We can further breakdown this analysis by seeing which email, display ads, and social channels performed the best, by adding `utm_source` and `utm_content` ,assuming that you’ve properly added them in your earned and paid media links. Also note that this preliminary analysis in SQL doesn’t account for double-counted users, who had impressions with our brand on multiple channels (e.g. someone seeing a display ad, yet converted on the email outreach). Fortunately, there are multi-touch attribution models that can be applied to better understand the weights of each activity towards conversion.
diff --git a/guides/best-practices/measure-marketing-roi.md b/guides/best-practices/measure-marketing-roi.md
index 3065e9ccd9..dc90edfde1 100644
--- a/guides/best-practices/measure-marketing-roi.md
+++ b/guides/best-practices/measure-marketing-roi.md
@@ -18,9 +18,9 @@ For our analysis walkthrough, we’ll use fictitious e-commerce and marketing da
Toastmates is currently running these two campaigns:
-* “National Toast Day”, where $5 off was applied if you made a purchase on that day
+* "National Toast Day", where $5 off was applied if you made a purchase on that day
-* “A Toast To Your Friend”, where you can buy toast for a friend at $5 off
+* "A Toast To Your Friend", where you can buy toast for a friend at $5 off
Each of these campaigns used a combination of channels. Here is a table with the channels and corresponding UTM parameters so when we build the SQL query, we can make sure all of the traffic sources are accounted for.
@@ -243,7 +243,7 @@ The resulting table:

-Since the National Toast Day campaign is relatively new, the majority of the traffic is from the email and an article (“news”). But we can see that the social channels have a lower conversion from store visits to product views. Email has the best overall conversion to revenue, which may be attributed to the recipients already familiar with the Toastmates brand or having previously had a stellar end-to-end shopping experience.
+Since the National Toast Day campaign is relatively new, the majority of the traffic is from the email and an article ("news"). But we can see that the social channels have a lower conversion from store visits to product views. Email has the best overall conversion to revenue, which may be attributed to the recipients already familiar with the Toastmates brand or having previously had a stellar end-to-end shopping experience.
We can further breakdown this analysis by seeing which email, display ads, and social channels performed the best, by adding `utm_source` and `utm_content` ,assuming that you’ve properly added them in your earned and paid media links. Also note that this preliminary analysis in SQL doesn’t account for double-counted users, who had impressions with our brand on multiple channels (e.g. someone seeing a display ad, yet converted on the email outreach). Fortunately, there are multi-touch attribution models that can be applied to better understand the weights of each activity towards conversion.
diff --git a/guides/best-practices/test-connections.md b/guides/best-practices/test-connections.md
index ade04da1f2..5a54780238 100644
--- a/guides/best-practices/test-connections.md
+++ b/guides/best-practices/test-connections.md
@@ -17,9 +17,9 @@ There are two scenarios where you might want to use the Event Tester:
## Ensuring an event is successfully making it to a specific destination
-**1\. Choose an event from the Source Debugger that you want to debug and select “Validate”**
+**1\. Choose an event from the Source Debugger that you want to debug and select "Validate"**
-Go to your Source Debugger, select an event and in the top right hand side of the debugger view, select “Validate”.
+Go to your Source Debugger, select an event and in the top right hand side of the debugger view, select "Validate".

@@ -31,13 +31,13 @@ Select the destination that you want to test this event with. At this time, you
**3\. Send event to destination**
-The event payload from your debugger that you just selected will automatically load in the JSON view. You have the option to edit the payload if you want. Assuming it looks good, select “Send Event” at the bottom right of the screen.
+The event payload from your debugger that you just selected will automatically load in the JSON view. You have the option to edit the payload if you want. Assuming it looks good, select "Send Event" at the bottom right of the screen.

**4\. Ensure you’re happy to send the test event to the destination**
- This is a real event that will appear in your end tool alongside your existing data. If you’re not comfortable with this, then select “Cancel” and do not send the event.
+ This is a real event that will appear in your end tool alongside your existing data. If you’re not comfortable with this, then select "Cancel" and do not send the event.

diff --git a/guides/best-practices/user-deletion-suppression.md b/guides/best-practices/user-deletion-suppression.md
index fa32861077..d8e37d7d62 100644
--- a/guides/best-practices/user-deletion-suppression.md
+++ b/guides/best-practices/user-deletion-suppression.md
@@ -10,7 +10,7 @@ In keeping with our commitment to GDPR and CCPA readiness, Segment offers the ab
## Overview
-All deletion and suppression actions in Segment are asynchronous, and are categorized as what we call “Regulations.” **Regulations** are requests to Segment to control your data flow. They can be issued from your Segment Workspace Settings page under **End User Privacy.**
+All deletion and suppression actions in Segment are asynchronous, and are categorized as what we call "Regulations." **Regulations** are requests to Segment to control your data flow. They can be issued from your Segment Workspace Settings page under **End User Privacy.**

@@ -38,7 +38,7 @@ To remove a user from the suppression list, create an `UNSUPPRESSION` regulation
When you create a `SUPPRESS_AND_DELETE` regulation, the user is actively suppressed, and Segment begins permanently deleting all data associated with this user from your workspace. This includes scanning and removing all messages related to that `userId` from all storage mediums that don’t automatically expire data within 30 days, including archives, databases, and intermediary stores.
-Messages with this `userId` are also deleted from your connected raw data Destinations, including Redshift, BigQuery, Postgres, Snowflake and Amazon S3. Warehouse deletions happen using a DML run against your cluster or instance, and we delete from S3 by “recopying” clean versions of any files in your bucket that included data about that `userId`.
+Messages with this `userId` are also deleted from your connected raw data Destinations, including Redshift, BigQuery, Postgres, Snowflake and Amazon S3. Warehouse deletions happen using a DML run against your cluster or instance, and we delete from S3 by "recopying" clean versions of any files in your bucket that included data about that `userId`.
Finally, we also forward these deletion requests to a growing list of supported partners.
@@ -321,7 +321,7 @@ The access token is returned in the JSON payload at `data.login.access_token`
Note that your Segment password should always be kept secret. It’s imperative that you treat it as a privileged secret in your program. We recommend using something like [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets-create-generic-template.html) or [Chamber](https://segment.com/blog/the-right-way-to-manage-secrets/) to securely store, encrypt, and decrypt your password on program or request handler invocation. **Do not attempt to create Regulations from your browser or a client application, as you would expose this secret.**
-Once you have your access token, include it in the `Authorization` header with the prefix `“Bearer "`.
+Once you have your access token, include it in the `Authorization` header with the prefix `"Bearer "`.
Here’s a full bash example of authenticating and making a deletion request:
@@ -404,7 +404,7 @@ Use the following guide to migrate your GraphQL based workflow's to use the new
```
mutation {
createWorkspaceRegulation(
- workspaceSlug: “workspace-slug"
+ workspaceSlug: "workspace-slug"
type: SUPPRESS
userId: "userIdToDelete"
) {
@@ -418,10 +418,10 @@ mutation {
POST /v1beta/workspaces/workspace-slug/regulation
{
- “regulation_type”: “suppress”,
- “attributes”: {
- “name”: “userId”,
- “values”: [“foo”, “bar”]
+ "regulation_type": "suppress",
+ "attributes": {
+ "name": "userId",
+ "values": ["foo", "bar"]
}
}
```
@@ -445,10 +445,10 @@ mutation {
POST /v1beta/workspaces/workspace-slug/source/source-slug/regulation
{
- “regulation_type”: “suppress”,
- “attributes”: {
- “name”: “userId”,
- “values”: [“foo”, “bar”]
+ "regulation_type": "suppress",
+ "attributes": {
+ "name": "userId",
+ "values": ["foo", "bar"]
}
}
```
@@ -472,12 +472,12 @@ mutation {
POST /v1beta/workspaces/workspace-slug/source/source-slug/regulation
{
- “attributes” {
- “name”: “objectId”,
- “values”: [“foo”, “bar”]
+ "attributes" {
+ "name": "objectId",
+ "values": ["foo", "bar"]
},
- “regulation_type”: “delete”,
- “collection”: “workspaces/myworkspace/sources/js/col”
+ "regulation_type": "delete",
+ "collection": "workspaces/myworkspace/sources/js/col"
}
```
@@ -547,4 +547,4 @@ Currently, we can forward requests to the following destinations:
Segment cannot guarantee that data is deleted from your Destinations. When you issue a user deletion request, Segment forwards the request to supported streaming Destinations. You must still contact these Destinations to confirm that they have executed the request.
-**NOTE:** If you have the Amplitude destination enabled in one or more sources, you’ll must include Amplitude’s secret key in each destination(s) settings so they can accept the deletion request. (You add it in the Amplitude destination settings, under “Secret Key”). You can find your Secret Key on the [General Settings](https://amplitude.zendesk.com/hc/en-us/articles/235649848-Settings#project-general-settings) of your Amplitude project.
+**NOTE:** If you have the Amplitude destination enabled in one or more sources, you’ll must include Amplitude’s secret key in each destination(s) settings so they can accept the deletion request. (You add it in the Amplitude destination settings, under "Secret Key"). You can find your Secret Key on the [General Settings](https://amplitude.zendesk.com/hc/en-us/articles/235649848-Settings#project-general-settings) of your Amplitude project.
diff --git a/guides/best-practices/whats-a-tracking-plan.md b/guides/best-practices/whats-a-tracking-plan.md
index f6f18b6a38..3cd8c5df33 100644
--- a/guides/best-practices/whats-a-tracking-plan.md
+++ b/guides/best-practices/whats-a-tracking-plan.md
@@ -44,7 +44,7 @@ The traits represent dimensions in your data that you can group or pivot on. For
Tracking is about learning and taking action. Which events will help you understand your funnels? Which events represent trigger points that help you define your marketing automation?
-The events you track should demonstrate a strong transfer of value, either from you to your user, or vice versa. For instance, a user providing an email address represents the user transferring value to you. Another example is a key activation event. For us at Segment, that event would be “Project Data Sent” for Segment, which indicates that the customer is using a core service of Segment’s product. For an ecommerce consumer company like Postmates, that might be “Order Placed”.
+The events you track should demonstrate a strong transfer of value, either from you to your user, or vice versa. For instance, a user providing an email address represents the user transferring value to you. Another example is a key activation event. For us at Segment, that event would be "Project Data Sent" for Segment, which indicates that the customer is using a core service of Segment’s product. For an ecommerce consumer company like Postmates, that might be "Order Placed".
The tracked events should be generic and high-level. There should never be any event names that are dynamically generated. This will only clutter the data for all of your analytics and marketing tools downstream, rendering them difficult to use. Instead, for capturing more specific, detailed information, use properties.
@@ -77,7 +77,7 @@ For an ecommerce company, however, the main events might be something like:
* **Order Completed**
-Note that Segment has a set of “reserved” event names specifically for ecommerce, called our [ecommerce spec](https://segment.com/docs/spec/ecommerce/v2). Check it out to see which events we cover and how they are used in our downstream destinations.
+Note that Segment has a set of "reserved" event names specifically for ecommerce, called our [ecommerce spec](https://segment.com/docs/spec/ecommerce/v2). Check it out to see which events we cover and how they are used in our downstream destinations.
For a community, on the other hand, there is an entirely different set of actions that indicate engagement, listed in the below pyramid. For example, [GrowthHacker’s](https://growthhackers.com/) funnel of actions from least to most engaged are:
@@ -124,9 +124,9 @@ analytics.track(userId, 'Lead Captured', {
});
```
-The high level event is “Lead Captured” and all of the details are tucked into the `properties` dictionary. In our downstream tools, we’ll be able to easily look at how many leads were captured in different locations on our site.
+The high level event is "Lead Captured" and all of the details are tucked into the `properties` dictionary. In our downstream tools, we’ll be able to easily look at how many leads were captured in different locations on our site.
-If you want to learn more about how properties are used by downstream tools, check out [“](https://segment.com/academy/collecting-data/the-anatomy-of-a-track-call/)[The Anatomy of a Track Call”](https://segment.com/academy/collecting-data/the-anatomy-of-a-track-call/).
+If you want to learn more about how properties are used by downstream tools, check out ["](https://segment.com/academy/collecting-data/the-anatomy-of-a-track-call/)[The Anatomy of a Track Call"](https://segment.com/academy/collecting-data/the-anatomy-of-a-track-call/).
## Achieving data-informed growth
diff --git a/guides/general/index.md b/guides/general/index.md
index ad69612aeb..66c5d2c3b6 100644
--- a/guides/general/index.md
+++ b/guides/general/index.md
@@ -1,3 +1,52 @@
---
title: Intro to Segment
---
+
+## What is Segment?"
+
+Segment is a single platform that collects, stores, and routes your user data to hundreds of tools with the flick of a switch.
+
+We take care of the messy analytics installation process for you, so you can spend more time using your data and less time tracking it down.
+
+### Why Do I Need Segment?
+
+Segment saves engineers months spent installing and maintaining analytics tools, gives marketers the agility to try new tools and test campaigns quickly, and enables BI teams to export their raw data into internal systems and - databases.
+
+### How Does it Work?
+
+Analytics, marketing automation, email, user testing, error reporting, and support tools all require the same data: who are your users and what are they doing.
+
+Without Segment, you have to instrument each tool separately, even though you send them all the same data. Segment eliminates this extra code and replaces the tool installation process.
+
+You just send your data to us, then we translate and route it to all of your tools.
+
+Use the Segment API to track user events like page views, clicks, and sign ups on your mobile app and website. Next switch on marketing, product, and analytics tools you want to use in Segment’s control panel. Then Segment:
+
+- Collects and stores your data in one place
+- Prepares and translates the data into a format each tool understands
+- Sends the data to your designated tools, so you never have to install tracking again
+
+
+### What’s an example?
+
+A multinational music streaming service needs to track when users play songs, create stations, and upgrade their accounts, so the company can see how free customers are converting and identify the most popular artists to promote.
+
+Previously, they needed to code the same events like "Played Song" slightly differently for every tool they wanted to use, on repeat for every page of their website and mobile app. Now, they use Segment for all their tracking needs. They track these events once with the Segment API, and then we translate and send the data streams to whatever analytics tools they turn on in our control panel.
+
+Voilà! Their customer data populates in tools like Amplitude and Google Analytics. Their marketing team can reach out to people that play songs daily but haven’t upgraded their accounts, and the product team can see how new features are faring to optimize accordingly.
+
+## What's a workspace?
+
+{% include content/whats-a-workspace.md %}
+
+## What's a Source?
+
+{% include content/whats-a-source.md %}
+
+## What's a Destination?
+
+{% include content/whats-a-destination.md %}
+
+## What's a Warehouse?
+
+{% include content/whats-a-warehouse.md %}
diff --git a/guides/general/segment-vs-tag-managers.md b/guides/general/segment-vs-tag-managers.md
index a03340ba7b..748ae52dcf 100644
--- a/guides/general/segment-vs-tag-managers.md
+++ b/guides/general/segment-vs-tag-managers.md
@@ -8,7 +8,7 @@ Built on an older technology, tag managers inject a piece of JavaScript - or an
In addition to ad networks, today’s data-driven businesses use a variety of tools to optimize their product and marketing spends. In order to a/b test copy, nurture sales leads, email customers, and provide fast support, businesses integrate variety of analytics and marketing tools. Segment makes it easy to install, try, and use them all. Tag managers focus on ad networks, and can’t support modern tools without extensive customization.
-Rather than “firing and forgetting,” Segment takes a data-centric approach to destinations. We collect your data, and understand what it means so we can map it to each destination correctly. You don’t need to set up special parameters for each tool – we do that for you. Segment works because [all of these tools](https://segment.com/integrations) operate on the same customer data: who is on your app and what are they doing. Segment collects this data once, then translates and sends it to every tool you use. Because we store the data, we also have the ability to replay your historical data into new tools and give you access to your raw data in a SQL data warehouse.
+Rather than "firing and forgetting," Segment takes a data-centric approach to destinations. We collect your data, and understand what it means so we can map it to each destination correctly. You don’t need to set up special parameters for each tool – we do that for you. Segment works because [all of these tools](https://segment.com/integrations) operate on the same customer data: who is on your app and what are they doing. Segment collects this data once, then translates and sends it to every tool you use. Because we store the data, we also have the ability to replay your historical data into new tools and give you access to your raw data in a SQL data warehouse.
| Segment | Tag Managers |
diff --git a/guides/general/what-is-segment.md b/guides/general/what-is-segment.md
deleted file mode 100644
index 939f60423d..0000000000
--- a/guides/general/what-is-segment.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title: "What is Segment?"
----
-
-Segment is a single platform that collects, stores, and routes your user data to hundreds of tools with the flick of a switch.
-
-We take care of the messy analytics installation process for you, so you can spend more time using your data and less time tracking it down.
-
-## Why Do I Need Segment?
-
-Segment saves engineers months spent installing and maintaining analytics tools, gives marketers the agility to try new tools and test campaigns quickly, and enables BI teams to export their raw data into internal systems and - databases.
-
-## How Does it Work?
-
-Analytics, marketing automation, email, user testing, error reporting, and support tools all require the same data: who are your users and what are they doing.
-
-Without Segment, you have to instrument each tool separately, even though you send them all the same data. Segment eliminates this extra code and replaces the tool installation process.
-
-You just send your data to us, then we translate and route it to all of your tools.
-
-Use the Segment API to track user events like page views, clicks, and sign ups on your mobile app and website. Next switch on marketing, product, and analytics tools you want to use in Segment’s control panel. Then Segment:
-
-* Collects and stores your data in one place
-
-* Prepares and translates the data into a format each tool understands
-
-* Sends the data to your designated tools, so you never have to install tracking again
-
-
-## What’s an example?
-
-A multinational music streaming service needs to track when users play songs, create stations, and upgrade their accounts, so the company can see how free customers are converting and identify the most popular artists to promote.
-
-Previously, they needed to code the same events like “Played Song” slightly differently for every tool they wanted to use, on repeat for every page of their website and mobile app. Now, they use Segment for all their tracking needs. They track these events once with the Segment API, and then we translate and send the data streams to whatever analytics tools they turn on in our control panel.
-
-Voilà! Their customer data populates in tools like Amplitude and Google Analytics. Their marketing team can reach out to people that play songs daily but haven’t upgraded their accounts, and the product team can see how new features are faring to optimize accordingly.
diff --git a/guides/general/whats-a-destination.md b/guides/general/whats-a-destination.md
deleted file mode 100644
index be06260ac5..0000000000
--- a/guides/general/whats-a-destination.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: "What is a destination?"
----
-
-Destinations are business tools or apps that you can connect via Segment with the flick of a switch. Some of our most popular destinations are Google Analytics, Mixpanel, KISSmetrics, Customer.io, Intercom, and KeenIO.
-
-All these tools run on the same data: who are your customers and what are they doing. However, each tool requires that data in slightly different formats. Without Segment, you have to write code to track all of this information, again and again, for each tool, on each page of your app or website.
-
-We eliminate this process by introducing an abstraction layer. You just send your data to us. We understand it, translate it, and send it along to any destination you toggle on in the Segment destinations catalog. Immediately, your user data will start flowing into those tools’ dashboards. No extra code required!
-
-We support many categories of destinations, from advertising to marketing, email to customer support, CRM to user testing, and even data warehouses. You can view a complete list of our [destinations](https://segment.com/docs/destinations) or check out our [destination page](https://segment.com/destinations) for a searchable list broken down by category.
diff --git a/guides/general/whats-a-source.md b/guides/general/whats-a-source.md
deleted file mode 100644
index 15acbbe362..0000000000
--- a/guides/general/whats-a-source.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: "What is a source?"
----
-
-Sources in Segment are created for each website you want to track. While not required to have a single Source for each server, site or app, **Segment recommendeds creating a Source for each unique source of data**.
-
-Sources belong to a workspace and the URL will look something like this:
-
-`https://segment.com//sources//`
-
-You can create new sources using the button in the workspace view. Each source you create will have a write key which is used to send data to that source. For example, to load [`analytics.js`, the Segment JavaScript library](https://segment.com/docs/sources/website/analytics.js/) on your page, the snippet on the [Quickstart Guide](https://segment.com/docs/sources/website/analytics.js/quickstart/) includes:
-
-```js
-analytics.load("YOUR_WRITE_KEY");
-```
diff --git a/guides/general/whats-a-warehouse.md b/guides/general/whats-a-warehouse.md
deleted file mode 100644
index 54ffb39df2..0000000000
--- a/guides/general/whats-a-warehouse.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: "What is a warehouse?"
----
-
-A warehouse is a central repository of data that has been collected from one or more sources. This is what commonly comes to mind when thinking about a relational database – structured data that fits neatly into rows and columns.
-
-In Segment, a Warehouse is a special subset of destinations where we load data to them in bulk at a regular interval, inserting and updating events and objects while automatically adjusting their schema to fit the data you’ve sent to Segment.
-
-When selecting and building a data warehouse, there are three questions to consider:
-
-1. What type of data will be collected?
-
-2. How many data sources will there be?
-
-3. How will the data be used?
-
-
-Relational databases are great when you know and predefine the information collected and how it will be linked. This is usually the type of database used in the world of user analytics. For instance, a users table might be populated with the columns “name”, “email address”, “plan name”, etc.
-
-Examples of data warehouses include Amazon Redshift, Google BigQuery, MySQL, and Postgres.
diff --git a/guides/miscellaneous/destination-data-control.md b/guides/miscellaneous/destination-data-control.md
index 5020b23831..202510c13d 100644
--- a/guides/miscellaneous/destination-data-control.md
+++ b/guides/miscellaneous/destination-data-control.md
@@ -26,9 +26,9 @@ analytics.identify('025pikachu025', {
});
```
-Destination flags are **case sensitive** and match [the Destination’s name in the docs](https://segment.com/docs/integrations) (i.e. “AdLearn Open Platform”, “awe.sm”, “MailChimp”, etc.).
+Destination flags are **case sensitive** and match [the Destination’s name in the docs](https://segment.com/docs/integrations) (i.e. "AdLearn Open Platform", "awe.sm", "MailChimp", etc.).
-If you’re on Segment’s Business plan, you can filter track calls right from the Segment UI on your Source Schema page by clicking on the field in the “Integrations” column and then adjusting the toggle for each tool. We recommend using the UI if possible since it’s a much simpler way of managing your filters and can be updated with no code changes on your side.
+If you’re on Segment’s Business plan, you can filter track calls right from the Segment UI on your Source Schema page by clicking on the field in the "Integrations" column and then adjusting the toggle for each tool. We recommend using the UI if possible since it’s a much simpler way of managing your filters and can be updated with no code changes on your side.

@@ -46,9 +46,9 @@ _Note: The following features are currently in beta._
## **How do I prevent new data from being allowed by default? **
-If you’ve solidified your tracking plan and don’t want any rogue events finding their way to your warehouses and end tools, we recommend activating our new feature, **Schema Defaults\***. When you lock your schema, or set your Schema Defaults to “Block,” Segment will automatically prevent these calls from being sent downstream. You can activate this for new events—including `track`, `page`, and `screen` calls—or for new `identify` traits and `group` properties.
+If you’ve solidified your tracking plan and don’t want any rogue events finding their way to your warehouses and end tools, we recommend activating our new feature, **Schema Defaults\***. When you lock your schema, or set your Schema Defaults to "Block," Segment will automatically prevent these calls from being sent downstream. You can activate this for new events—including `track`, `page`, and `screen` calls—or for new `identify` traits and `group` properties.
-Locking your schema only takes a few seconds and will protect your data from un-spec’d events or tracking errors. To configure your Schema Defaults, go to your Schema page, and then select “General” from the left-hand navigation.
+Locking your schema only takes a few seconds and will protect your data from un-spec’d events or tracking errors. To configure your Schema Defaults, go to your Schema page, and then select "General" from the left-hand navigation.

@@ -82,11 +82,11 @@ No new identify traits will be allowed in Segment or sent to your Destinations.
**Example: Order Completed**
-For example, if you set your Schema Defaults for New Events to “Block,” and a new event, `Order Completed`, is tracked, Segment will automatically block the event and it will not be sent to your warehouse or downstream tools. The event will continue to be blocked until you actively choose to allow it.
+For example, if you set your Schema Defaults for New Events to "Block," and a new event, `Order Completed`, is tracked, Segment will automatically block the event and it will not be sent to your warehouse or downstream tools. The event will continue to be blocked until you actively choose to allow it.
You will need to upgrade to the latest [iOS](https://segment.com/docs/sources/mobile/ios/#install-the-sdk) and/or [Android](https://segment.com/docs/sources/mobile/android/#step-1-install-the-library) SDKs for Schema Defaults to apply to events sent from mobile sources.
-## **What is considered a “new” event?**
+## **What is considered a "new" event?**
New events refer to events that have not previously been sent to a given Source. Let’s say you’ve only sent the following events from your Javascript source:
@@ -101,9 +101,9 @@ Your Schema Default setting will not have any impact on these three events becau
Here’s what will happen the first time a new event, `Promotion Viewed`, is sent to this Source:
-* **Schema Default Set to Allow:** `Promotion Viewed` will be “allowed,” which means the event will be sent to all enabled Destinations.
+* **Schema Default Set to Allow:** `Promotion Viewed` will be "allowed," which means the event will be sent to all enabled Destinations.
-* **Schema Default Set to Block:** `Promotion Viewed` will be “blocked,” which means the event will not be sent to any Destinations.
+* **Schema Default Set to Block:** `Promotion Viewed` will be "blocked," which means the event will not be sent to any Destinations.
## **What happens to blocked events and properties? **
@@ -114,16 +114,16 @@ If you’re concerned about permanently discarding data from blocked events, you
**How do I forward blocked events?**
-First, you will want to create a new Source to receive data from blocked Events and Traits. This Source should only be configured to received blocked data, so make sure it isn’t receiving data from anywhere else. We recommend creating a new “Javascript” source and naming it “Blocked Data from \[Source Name\].”
+First, you will want to create a new Source to receive data from blocked Events and Traits. This Source should only be configured to received blocked data, so make sure it isn’t receiving data from anywhere else. We recommend creating a new "Javascript" source and naming it "Blocked Data from \[Source Name\]."
-After you have created a new source, go to the Schema page for your primary Source and then select “General” from the left-hand navigation. Under “Advanced Settings,” you will see two options:
+After you have created a new source, go to the Schema page for your primary Source and then select "General" from the left-hand navigation. Under "Advanced Settings," you will see two options:
* Block and discard: select this option if you want to permanently discard data from blocked Events and Traits.
* Forward: select this option if you would like to forward data from blocked Events and Traits to a separate source.
-Select “Forward,” and then select the new Source you created to receive blocked data. **As a reminder, if you choose to route blocked events, this will contribute to your MTU count. **
+Select "Forward," and then select the new Source you created to receive blocked data. **As a reminder, if you choose to route blocked events, this will contribute to your MTU count. **
## **How am I charged for blocked events? **
@@ -133,7 +133,7 @@ Your bill is based on the number of Monthly Tracked Users (MTU). MTUs are the nu
While protecting the integrity of your data is helpful, we also want to flag any blocked events for you, so you can make any needed changes in your code or approve a new event. Source notifications will alert you when a new event is blocked due to your Schema Defaults. You can view these notifications in the Activity Feed in the app or subscribe to email notifications.
-You can view these notifications in the Activity Feed in the app or subscribe to email notifications. To subscribe to email notifications, go to your workspace settings, then click “Notification Settings,” and subscribe to notifications for Sources by entering your email address and clicking “Save Changes.” You can enter multiple email addresses separated by a comma.
+You can view these notifications in the Activity Feed in the app or subscribe to email notifications. To subscribe to email notifications, go to your workspace settings, then click "Notification Settings," and subscribe to notifications for Sources by entering your email address and clicking "Save Changes." You can enter multiple email addresses separated by a comma.
## **When should I lock my schema? **
diff --git a/guides/setup/find-writekey.md b/guides/setup/find-writekey.md
index 94c80f4f8a..8f2ba03992 100644
--- a/guides/setup/find-writekey.md
+++ b/guides/setup/find-writekey.md
@@ -4,7 +4,7 @@ title: "How do I find my write key?"
The write key is a unique identifier for your Source. It lets Segment know which Source is sending the data and therefore which destinations should receive the data.
-To find your write key, you first need to create a Source that is not a “Cloud Source” (e.g. website, server). Then, in your Source, go to “Settings”, and then go to “Keys”:
+To find your write key, you first need to create a Source that is not a "Cloud Source" (e.g. website, server). Then, in your Source, go to "Settings", and then go to "Keys":

diff --git a/guides/usage-and-billing/cancelation-final-bill.md b/guides/usage-and-billing/cancelation-final-bill.md
index 14e0cdce4d..f21a16c3bf 100644
--- a/guides/usage-and-billing/cancelation-final-bill.md
+++ b/guides/usage-and-billing/cancelation-final-bill.md
@@ -2,7 +2,7 @@
title: "How do I change my plan?"
---
-If you already have a Segment workspace, you can change which plan your workspace is on by navigating to the “Usage & Billing” menu, then finding the “Plans” page. You can select your new plan on the “Plans” page.
+If you already have a Segment workspace, you can change which plan your workspace is on by navigating to the "Usage & Billing" menu, then finding the "Plans" page. You can select your new plan on the "Plans" page.
_If you cancel or downgrade your workspace within your 2-week trial period, you will not incur any charges._
diff --git a/guides/usage-and-billing/discounts-for-startups-npos.md b/guides/usage-and-billing/discounts-for-startups-npos.md
index c49e0e2c87..6a7c2e7c70 100644
--- a/guides/usage-and-billing/discounts-for-startups-npos.md
+++ b/guides/usage-and-billing/discounts-for-startups-npos.md
@@ -37,7 +37,7 @@ Eligible startups can [apply directly](http://segment.com/industry/startups) for
**Where can I view which coupons are applied to my account?**
The Startup Program credits are reflected in the Workspace usage and billing page. Other coupons applied to your workspace are not currently reflected in the Segment application. If you are curious about a promotion you are currently on, or if you workspace has a coupon applied, please reach out [to our support team](https://segment.com/contact/billing).
-**Do I have to be a “new” customer to receive a coupon?**
+**Do I have to be a "new" customer to receive a coupon?**
The Segment Startup Program is only for customers that have not previously received any other coupon. Both the non-profit and accelerator promotion can be redeemed regardless if you’re a new customer or have been with us for years. A user/workspace can only receive any coupon once.
**What happens when my coupon expires?**
diff --git a/guides/usage-and-billing/event-vs-object.md b/guides/usage-and-billing/event-vs-object.md
index ce769a25f6..b29bb4e2da 100644
--- a/guides/usage-and-billing/event-vs-object.md
+++ b/guides/usage-and-billing/event-vs-object.md
@@ -2,4 +2,4 @@
title: "What is the difference between an event and an object?"
---
-Events append only data streams, akin to “facts” in data warehousing parlance, and objects are dimensional values that may be updated based on changes in state upstream. Each source will note if it is object-based or event-based in its documentation.
+Events append only data streams, akin to "facts" in data warehousing parlance, and objects are dimensional values that may be updated based on changes in state upstream. Each source will note if it is object-based or event-based in its documentation.
diff --git a/guides/usage-and-billing/mtu-count-vs-other-tools.md b/guides/usage-and-billing/mtu-count-vs-other-tools.md
index d4fe4cc69a..acb63b81f6 100644
--- a/guides/usage-and-billing/mtu-count-vs-other-tools.md
+++ b/guides/usage-and-billing/mtu-count-vs-other-tools.md
@@ -17,7 +17,7 @@ For example, consider these instances with some of our most popular destinations
**Amplitude:**
-* By default, Segment won’t send standard [`page`](https://segment.com/docs/spec/page/) or [`screen`](https://segment.com/docs/spec/screen/) calls to Amplitude. However, you can enable sending `page` and `screen` calls with the following destination settings, which you can find under the “Advanced Options” tab.
+* By default, Segment won’t send standard [`page`](https://segment.com/docs/spec/page/) or [`screen`](https://segment.com/docs/spec/screen/) calls to Amplitude. However, you can enable sending `page` and `screen` calls with the following destination settings, which you can find under the "Advanced Options" tab.
* If you’re using a server-side library or the Segment HTTP API to send events or traits about anonymous visitors, Amplitude won’t automatically be able to identify that anonymous user as being the same person when they log in. To have Amplitude connect the dots, when you call `.identify()` on user log-in, you should include both the `anonymousId` you were using before the user logged in, as well as their `userId`.
diff --git a/guides/usage-and-billing/startup-program.md b/guides/usage-and-billing/startup-program.md
index 46309dfd83..f2d503b9af 100644
--- a/guides/usage-and-billing/startup-program.md
+++ b/guides/usage-and-billing/startup-program.md
@@ -36,7 +36,7 @@ If you've been accepted to the program, you'll receive an email with a welcome m
**Where can I view the credits applied to my Segment account?**
The Startup Program credits are reflected in the Workspace usage and billing page.
-**Do I have to be a “new” customer to receive a coupon?**
+**Do I have to be a "new" customer to receive a coupon?**
New and current Segment users who have not previously received any other coupon are eligible to apply.
**What happens if I go over my total credit applied?**
diff --git a/guides/usage-and-billing/trial-for-paid-plans.md b/guides/usage-and-billing/trial-for-paid-plans.md
index 0af0d3e4d4..5d77de2c01 100644
--- a/guides/usage-and-billing/trial-for-paid-plans.md
+++ b/guides/usage-and-billing/trial-for-paid-plans.md
@@ -18,7 +18,7 @@ The Team trial is a 14-day free trial of Segment’s [Team plan](https://segment
You automatically receive a two week trial when you sign up for a Team plan.
-**Do I have to be a “new” customer to receive the free Team trial?**
+**Do I have to be a "new" customer to receive the free Team trial?**
The free trial is available to all customers who have never had a Team plan. This includes new customers as well as customers who have previously been on the Developer plan.
@@ -26,7 +26,7 @@ The free trial is available to all customers who have never had a Team plan. Thi
If you’re upgrading from a Developer plan, you are required to add your payment information.
-If you are signing up for a new Team plan, you do not have to add your payment information during sign up. However, if you would like to continue to use the Team plan after the 14 day trial, please add your credit card information on the “Payment Information” page in your workspace before the trial ends.
+If you are signing up for a new Team plan, you do not have to add your payment information during sign up. However, if you would like to continue to use the Team plan after the 14 day trial, please add your credit card information on the "Payment Information" page in your workspace before the trial ends.
**What happens when the two week trial ends?**
diff --git a/legal/first-access-beta-preview.md b/legal/first-access-beta-preview.md
index 7f1fafdccc..6bd99e41ff 100644
--- a/legal/first-access-beta-preview.md
+++ b/legal/first-access-beta-preview.md
@@ -6,18 +6,18 @@ feedback: false
### SEGMENT FIRST-ACCESS AND BETA PREVIEW TERMS AND CONDITIONS
-These First Access and Beta Terms and Conditions (“**First Access Terms**”) are entered into by and between Segment.io, Inc. (“**Segment**”) and the entity or person agreeing to access a Preview (“**Customer**”), and are effective as of the date of the Customer’s acceptance of these First Access Terms (for example, by signing an Order Form that incorporates these First Access terms, or by accessing a Preview that references these First Access Terms) (“**Program Effective Date**”). These First Access Terms are entered into subject to, and incorporate by this reference, the terms of any active Order Form(s), Master Subscription Agreement, or Terms of Service, each as may be amended by the parties, and any exhibits or addenda thereto, previously entered into between Segment and Customer (collectively, the “**Agreement**”). To the extent these First Access Terms conflict with the terms of the Agreement, these First Access Terms shall govern.
+These First Access and Beta Terms and Conditions ("**First Access Terms**") are entered into by and between Segment.io, Inc. ("**Segment**") and the entity or person agreeing to access a Preview ("**Customer**"), and are effective as of the date of the Customer’s acceptance of these First Access Terms (for example, by signing an Order Form that incorporates these First Access terms, or by accessing a Preview that references these First Access Terms) ("**Program Effective Date**"). These First Access Terms are entered into subject to, and incorporate by this reference, the terms of any active Order Form(s), Master Subscription Agreement, or Terms of Service, each as may be amended by the parties, and any exhibits or addenda thereto, previously entered into between Segment and Customer (collectively, the "**Agreement**"). To the extent these First Access Terms conflict with the terms of the Agreement, these First Access Terms shall govern.
-If you are accessing or using a Preview on behalf of your company, you represent that you are authorized to accept these First Access Terms on behalf of your company, and all references to “you” or “Customer” reference your company.
+If you are accessing or using a Preview on behalf of your company, you represent that you are authorized to accept these First Access Terms on behalf of your company, and all references to "you" or "Customer" reference your company.
1. **Definitions.** Capitalized terms not defined in these First Access Terms have the meanings set forth in the Agreement.
-2. **Description of the Segment First Access Program.** The Segment First Access Program is an invitation-only program to permit current Segment Customers to access, test, and use preview, beta, or other pre-release features, services, or products offered by Segment (“**Previews**”) in order for Segment to obtain feedback and information from Customer (“**First Access Program**”). Throughout the Program Term (defined below), Segment may make available Previews for Customer to access and use subject to these First Access Terms.
+2. **Description of the Segment First Access Program.** The Segment First Access Program is an invitation-only program to permit current Segment Customers to access, test, and use preview, beta, or other pre-release features, services, or products offered by Segment ("**Previews**") in order for Segment to obtain feedback and information from Customer ("**First Access Program**"). Throughout the Program Term (defined below), Segment may make available Previews for Customer to access and use subject to these First Access Terms.
3. **Right to Access and Use Previews.** Subject to the Agreement, the Documentation, and these First Access Terms, during the Program Term Customer’s Permitted Users may access and use the Previews offered by Segment as part of the First Access Program for Customer’s internal business operations. Customer’s access to and use of Previews will at all times be subject to the terms of the Agreement, including Customer’s obligations with respect to Customer Data under the Agreement. Segment has no obligation to make Previews available for general release, and may discontinue Customer’s access to or use of Previews at any time, for any reason, or no reason at all.
4. **Ownership.** Segment retains all right, title and interest (including intellectual property rights) in Previews and all related products and services, including any modifications, derivative works or improvements Segment may develop based on Feedback or otherwise. Segment may freely use any analytics, learnings or Usage Data resulting from use of the Previews.
5. **Customer Data and Usage Data.** In conjunction with Customer’s participation in the First Access Program and use of Previews, and notwithstanding anything to the contrary in the Agreement, Segment may collect, use, store, process and analyze Usage Data and Customer Data for Segment’s internal business purposes, including for benchmarking, analyzing, and improving Previews. Customer hereby grants Segment the non-exclusive right to access and use Customer Data for the foregoing purposes.
-6. **Program Participation and Feedback.** During the Program Term, Segment may request Customer to participate in reasonable surveys, focus groups, or other feedback processes, and Customer will provide assistance and make Customer’s representatives available to participate in such reasonable activities. To the extent Customer submits comments, questions, suggestions or other feedback relating to the Previews or any other Segment product or service (“**Feedback**”), Segment may freely use or exploit Feedback in connection with any of its current or future products or services.
-7. **Disclaimer**; **Limitations of Liability.** Notwithstanding anything to the contrary in the Agreement, Previews are provided “AS IS”. Segment has no warranty, support, storage or availability obligations, and disclaims all warranties of any kind, including merchantability, fitness for a particular purpose, title and non-infringement. Segment makes no promises that it will offer any future version of Previews or make Previews generally available. Segment has no liability for any direct, indirect, consequential, exemplary, punitive or other liability, whether in contract, tort or other legal theory. If these limitations of liability are not enforceable at law, Segment’s entire liability will be limited to one hundred dollars ($100). These disclaimers and limitations are an essential element of the agreement between Customer and Segment, without which Segment could not offer Previews under its First Access Program.
-8. **Program Term.** These First Access Terms will commence on the Program Effective Date, and will continue unless and until terminated by a party (“**Program Term**”).
+6. **Program Participation and Feedback.** During the Program Term, Segment may request Customer to participate in reasonable surveys, focus groups, or other feedback processes, and Customer will provide assistance and make Customer’s representatives available to participate in such reasonable activities. To the extent Customer submits comments, questions, suggestions or other feedback relating to the Previews or any other Segment product or service ("**Feedback**"), Segment may freely use or exploit Feedback in connection with any of its current or future products or services.
+7. **Disclaimer**; **Limitations of Liability.** Notwithstanding anything to the contrary in the Agreement, Previews are provided "AS IS". Segment has no warranty, support, storage or availability obligations, and disclaims all warranties of any kind, including merchantability, fitness for a particular purpose, title and non-infringement. Segment makes no promises that it will offer any future version of Previews or make Previews generally available. Segment has no liability for any direct, indirect, consequential, exemplary, punitive or other liability, whether in contract, tort or other legal theory. If these limitations of liability are not enforceable at law, Segment’s entire liability will be limited to one hundred dollars ($100). These disclaimers and limitations are an essential element of the agreement between Customer and Segment, without which Segment could not offer Previews under its First Access Program.
+8. **Program Term.** These First Access Terms will commence on the Program Effective Date, and will continue unless and until terminated by a party ("**Program Term**").
9. **Termination.** Either party may terminate these First Access Terms at any time on notice to the other (email sufficient). At any time, Segment may also modify or suspend access to the Previews. As the Previews evolve, Segment may also modify these terms, in which case Customer must agree to the modifications to continue participating the First Access Program. At Segment’s request or upon termination, Customer must cease using all Previews. Segment’s rights survive termination of these First Access Terms.
-10. **General**. These First Access Terms are the entire agreement between the parties related to their subject matter. The term “including” means including without limitation. Customer may not assign or transfer its rights or obligations to anyone else. Segment may freely assign these terms and its rights. Breach of these terms may cause Segment irreparable harm for which monetary damages are insufficient, so upon any breach or threatened breach, Segment may seek appropriate equitable relief without posting a bond, in addition to other available remedies. These terms are governed by the laws of the State of California and the United States without regard to their conflicts of laws provisions, with exclusive jurisdiction and venue in the courts in San Francisco, California.
+10. **General**. These First Access Terms are the entire agreement between the parties related to their subject matter. The term "including" means including without limitation. Customer may not assign or transfer its rights or obligations to anyone else. Segment may freely assign these terms and its rights. Breach of these terms may cause Segment irreparable harm for which monetary damages are insufficient, so upon any breach or threatened breach, Segment may seek appropriate equitable relief without posting a bond, in addition to other available remedies. These terms are governed by the laws of the State of California and the United States without regard to their conflicts of laws provisions, with exclusive jurisdiction and venue in the courts in San Francisco, California.
diff --git a/legal/privacy-2017.md b/legal/privacy-2017.md
index 7b029843b3..2b000be2ef 100644
--- a/legal/privacy-2017.md
+++ b/legal/privacy-2017.md
@@ -15,19 +15,19 @@ Our Privacy Policy explains:
* How we use this information
* The choices we offer, including how to access, update and remove information
-We have kept this simple for your understanding, but if you're not familiar with terms like “cookies”, “IP addresses” or “API”, then feel free to [email us][email]! Your privacy is really important to us, so whether you’re new to Segment or a long-time user, please take the time to get to know our practices.
+We have kept this simple for your understanding, but if you're not familiar with terms like "cookies", "IP addresses" or "API", then feel free to [email us][email]! Your privacy is really important to us, so whether you’re new to Segment or a long-time user, please take the time to get to know our practices.
-Segment.io, Inc. ("Segment", “we”, “us”, “our”) provides this “Privacy Policy” to inform our users of our policies and procedures regarding the collection, use and disclosure of personally identifiable information that we receive when they visit and use the [www.segment.com](http://segment.com) site and any websites owned by Segment (collectively, the "Sites"), and when they use any of Segment's services. For ease of reading in this Privacy Policy, the Sites and our services are collectively referred to as the “Service(s).” This Privacy Policy applies only to information that you provide to us when you use the Sites or Service.
+Segment.io, Inc. ("Segment", "we", "us", "our") provides this "Privacy Policy" to inform our users of our policies and procedures regarding the collection, use and disclosure of personally identifiable information that we receive when they visit and use the [www.segment.com](http://segment.com) site and any websites owned by Segment (collectively, the "Sites"), and when they use any of Segment's services. For ease of reading in this Privacy Policy, the Sites and our services are collectively referred to as the "Service(s)." This Privacy Policy applies only to information that you provide to us when you use the Sites or Service.
## Segment’s Service and Client User Data
-Customers of our Service (“Clients”) may use our Service to collect information from their users and about their use of the Client's website, application or service, and third-party applications and services available in connection with such websites, services and applications (“Client User Data”). Client User Data may include, without limitation, information about the identity of Client users (such as name, postal address, e-mail address, IP address and phone number), as well as information about the pages that users visit and the features that they use, and the actions that they take while using the Client’s website, service or application. The Segment Service allows Clients the ability to pass Client User Data into Segment’s Service, and, at each Client’s direction, out from Segment into a variety of third-party applications and services, and from one application or service to another. Segment may also store this data at the instruction of our Client. Segment is not responsible for inspecting the Client User Data that it collects, and collects Client User Data automatically under the direction of its Clients when providing our Service.
+Customers of our Service ("Clients") may use our Service to collect information from their users and about their use of the Client's website, application or service, and third-party applications and services available in connection with such websites, services and applications ("Client User Data"). Client User Data may include, without limitation, information about the identity of Client users (such as name, postal address, e-mail address, IP address and phone number), as well as information about the pages that users visit and the features that they use, and the actions that they take while using the Client’s website, service or application. The Segment Service allows Clients the ability to pass Client User Data into Segment’s Service, and, at each Client’s direction, out from Segment into a variety of third-party applications and services, and from one application or service to another. Segment may also store this data at the instruction of our Client. Segment is not responsible for inspecting the Client User Data that it collects, and collects Client User Data automatically under the direction of its Clients when providing our Service.
Each of our Clients has its own policies regarding the collection and use of your information. This Privacy Policy does not apply to websites, applications, or services that display or link to different privacy statements. This Privacy Policy also does not apply to Client User Data. We recommend that you review the policies of our Clients through whom your information may be collected and submitted to us. We are not responsible for our Clients’ privacy policies or actions with respect to Client User Data. The use of Client User Data provided by our Clients in connection with our Services is subject to the written agreement between Segment and Client.
## Collection of Personally Identifying Information
-In the course of your use of the Services, you may provide us with certain personally identifying information that can be used to provide you the Service, to identify and contact you, and to set up and administer your account (“Personally Identifying Information” or "PII"). PII may include, but is not limited to, your name, phone number, credit card or other billing information, email address, and postal addresses. You may at any time refuse to provide the PII that we request; however, this may limit our ability to provide the Services to you.
+In the course of your use of the Services, you may provide us with certain personally identifying information that can be used to provide you the Service, to identify and contact you, and to set up and administer your account ("Personally Identifying Information" or "PII"). PII may include, but is not limited to, your name, phone number, credit card or other billing information, email address, and postal addresses. You may at any time refuse to provide the PII that we request; however, this may limit our ability to provide the Services to you.
## How We Use Personally Identifying Information
@@ -37,13 +37,13 @@ We appreciate that the language above is a pretty high level description – so
## Website Visitors
-Like many websites, we collect certain information through the use of “cookies,” which are small text files that are saved by your browser when you access our Site. We may use both session cookies and persistent cookies to identify that you’ve logged in to the Site and to tell us how and when you interact with our Site. We may also use cookies to monitor aggregate usage and web traffic routing on our Site and to customize and improve our Service. We may link this information to your user account. Unlike persistent cookies, session cookies are deleted when you log off from the Site and close your browser. Although most browsers automatically accept cookies, you can change your browser options to stop automatically accepting cookies or to prompt you before accepting cookies. Please note, however, that if you don’t accept cookies, you may not be able to access all portions or features of the Service. We may also use cookies in connection with third party services to run analytics on our Site; such cookies may collect PII about users.
+Like many websites, we collect certain information through the use of "cookies," which are small text files that are saved by your browser when you access our Site. We may use both session cookies and persistent cookies to identify that you’ve logged in to the Site and to tell us how and when you interact with our Site. We may also use cookies to monitor aggregate usage and web traffic routing on our Site and to customize and improve our Service. We may link this information to your user account. Unlike persistent cookies, session cookies are deleted when you log off from the Site and close your browser. Although most browsers automatically accept cookies, you can change your browser options to stop automatically accepting cookies or to prompt you before accepting cookies. Please note, however, that if you don’t accept cookies, you may not be able to access all portions or features of the Service. We may also use cookies in connection with third party services to run analytics on our Site; such cookies may collect PII about users.
Segment does not respond to "Do Not Track" browser signals or other similar mechanisms. Third parties may collect personal information about your online activities over time and across sites when you visit the Sites or use the Service.
We may employ and/or our third party tracking utility company may employ software technology called clear gifs (a.k.a. Web Beacons/Web Bugs), that help us better manage content on our Site by informing us what content is effective. These gifs (or other tracking technology) may be included in or associated with e-mails or other communications that you receive from us (or our partners) in order to help us track your response and interests and to deliver you relevant content and services. We may tie information gathered by clear gifs or other tracking technology to PII.
-Our servers may automatically record certain information about how a person uses our Site (we refer to this information as “Log Data”), including both account holders and non-account holders. Log Data may include information such as a user’s Internet Protocol (IP) address, device and browser type, operating system, the pages or features of our Site to which a user browsed and the time spent on those pages or features, the frequency with which the Site is used by a user, search terms, the links on our Site that a user clicked on or used, and other statistics. We use this information to administer the Service and we analyze (and may engage third parties to analyze) this information to improve and enhance the Service by expanding its features and functionality and tailoring it to our users’ needs and preferences.
+Our servers may automatically record certain information about how a person uses our Site (we refer to this information as "Log Data"), including both account holders and non-account holders. Log Data may include information such as a user’s Internet Protocol (IP) address, device and browser type, operating system, the pages or features of our Site to which a user browsed and the time spent on those pages or features, the frequency with which the Site is used by a user, search terms, the links on our Site that a user clicked on or used, and other statistics. We use this information to administer the Service and we analyze (and may engage third parties to analyze) this information to improve and enhance the Service by expanding its features and functionality and tailoring it to our users’ needs and preferences.
## Behavioral Targeting / Re-targeting
@@ -63,11 +63,11 @@ We display personal testimonials of satisfied customers on our Site in addition
## Social Media Widgets
-Our Site may include social media features, such as the Facebook “like” button and widgets, such as the “share this” button. These features may collect your PII and track your use of the Site. These social media features are either hosted by a third party or hosted directly on our Site. Your interactions with these features are governed by the privacy policy of the company providing such functionality.
+Our Site may include social media features, such as the Facebook "like" button and widgets, such as the "share this" button. These features may collect your PII and track your use of the Site. These social media features are either hosted by a third party or hosted directly on our Site. Your interactions with these features are governed by the privacy policy of the company providing such functionality.
## Mailing List Information
-You may choose to submit your email address or other contact information via our Site. We may use this information to send you news about Segment-related services, products or promotions. We may use one or more service providers to administer these messages, but we do not share your email address with spammers or any other third parties without your permission. We will give you the ability to opt out of marketing-related e-mails by logging in and changing your account settings or by clicking on a link at the bottom of each such e-mail. In some of our communications, we use tracking means, such as a “click-through URL” linked to content on the Site. We track this data to help us measure the effectiveness of our customer communications.
+You may choose to submit your email address or other contact information via our Site. We may use this information to send you news about Segment-related services, products or promotions. We may use one or more service providers to administer these messages, but we do not share your email address with spammers or any other third parties without your permission. We will give you the ability to opt out of marketing-related e-mails by logging in and changing your account settings or by clicking on a link at the bottom of each such e-mail. In some of our communications, we use tracking means, such as a "click-through URL" linked to content on the Site. We track this data to help us measure the effectiveness of our customer communications.
## Aggregate Information
diff --git a/legal/privacy.md b/legal/privacy.md
index 1d380f1c85..fa2b666726 100644
--- a/legal/privacy.md
+++ b/legal/privacy.md
@@ -10,7 +10,7 @@ feedback: false
-This Privacy Policy explains how Segment.io, Inc. (“Segment”, or “we”, “us” or “our”) collects, uses and shares your personal information if you visit www.segment.com (the “Site”) or register to use our services, and explains your choices for how we handle your personal information. For convenience, the Site and our services are collectively referred to as the “Service.”
+This Privacy Policy explains how Segment.io, Inc. ("Segment", or "we", "us" or "our") collects, uses and shares your personal information if you visit www.segment.com (the "Site") or register to use our services, and explains your choices for how we handle your personal information. For convenience, the Site and our services are collectively referred to as the "Service."
Segment respects your privacy rights and is committed to transparency in how we collect, use and share your personal information. If you have any questions or concerns about your personal information or this Privacy Policy, email us at privacy@segment.com.
@@ -38,7 +38,7 @@ Users in the European Economic Area should be sure to read the important informa
## Segment’s Service and Client Services Data
-Registered customers of the Service (“**Clients**”) use it to collect information about how their own users use Client websites, applications, services (“Client Services”) and related third-party applications ("Client Services Data”). Clients also use the Service to more efficiently route Client Services Data to their own third party applications/services and control how their own third party applications/services exchange Client Services Data.
+Registered customers of the Service ("**Clients**") use it to collect information about how their own users use Client websites, applications, services ("Client Services") and related third-party applications ("Client Services Data"). Clients also use the Service to more efficiently route Client Services Data to their own third party applications/services and control how their own third party applications/services exchange Client Services Data.
Client Services Data may include, without limitation, information about the identity of Client users (such as name, postal address, e-mail address, IP address and phone number), as well as information about the pages users visit, the features they use, and the actions they take while using the Client Services.
This Privacy Policy does not apply to Client Services Data or to Client Services, and we are not responsible for our Clients’ handling of Client Services Data. Our Clients have their own policies regarding the collection, use and disclosure of your personal information. To learn about how a particular Client handles your personal information, we encourage you to read the Client’s privacy statement. Our use of Client Services Data provided by our Clients in connection with our Service is subject to the written agreement between Segment and Client.
@@ -180,7 +180,7 @@ In some of our communications, we track clicks on links in the communications to
## Social Media Widgets
-Our Service may include social media features, such as the Facebook “like” button and widgets, such as the “share this” button. These features may collect your personal information and track your use of the Service. These social media features are either hosted by a third party or hosted directly in the Service. Your interactions with these features are governed by the privacy policy of the company providing such functionality.
+Our Service may include social media features, such as the Facebook "like" button and widgets, such as the "share this" button. These features may collect your personal information and track your use of the Service. These social media features are either hosted by a third party or hosted directly in the Service. Your interactions with these features are governed by the privacy policy of the company providing such functionality.
@@ -262,7 +262,7 @@ Email: [privacy@segment.com](mailto:privacy@segment.com)
### Personal information
-References to “personal information” in this Privacy Policy are equivalent to “personal data” governed by European data protection legislation.
+References to "personal information" in this Privacy Policy are equivalent to "personal data" governed by European data protection legislation.
### Controller, Data Protection Officer and EU Representative
Segment.io, Inc. is the controller of your personal information covered by this Privacy Policy for purposes of European data protection legislation and you can contact us and our Data Protection Officer using the contact details listed in the Contact Us section above. Our EU representative is:
@@ -326,9 +326,9 @@ Segment itself has self-certified to the EU-U.S. and Swiss-U.S. Privacy Shield.
Effective as of July 18, 2018.
-Segment.io, Inc. (“**Segment**” or “**we**”, “**us**” or “**our**”) complies with the EU-U.S. Privacy Shield Framework and the Swiss-U.S. Privacy Shield Framework as set forth by the U.S. Department of Commerce regarding the collection, use, and retention of personal data transferred to it in the United States from the European Economic Area (“**EEA**”) or Switzerland, respectively. We have certified to the Department of Commerce that we adhere to the Privacy Shield Principles. To learn more about the Privacy Shield program, the Privacy Shield Principles and to view our certification, please visit [www.privacyshield.gov](https://www.privacyshield.gov).
+Segment.io, Inc. ("**Segment**" or "**we**", "**us**" or "**our**") complies with the EU-U.S. Privacy Shield Framework and the Swiss-U.S. Privacy Shield Framework as set forth by the U.S. Department of Commerce regarding the collection, use, and retention of personal data transferred to it in the United States from the European Economic Area ("**EEA**") or Switzerland, respectively. We have certified to the Department of Commerce that we adhere to the Privacy Shield Principles. To learn more about the Privacy Shield program, the Privacy Shield Principles and to view our certification, please visit [www.privacyshield.gov](https://www.privacyshield.gov).
-**Scope.** Our certification of adherence to the Privacy Shield Principles applies to the personal data that (a) we collect from our customers and other visitors to our website for account management, billing or marketing purposes (“**Segment User Data**”) and (b) that we process on behalf of our customers in providing online services to them under a service agreement (“**Services Data**”).
+**Scope.** Our certification of adherence to the Privacy Shield Principles applies to the personal data that (a) we collect from our customers and other visitors to our website for account management, billing or marketing purposes ("**Segment User Data**") and (b) that we process on behalf of our customers in providing online services to them under a service agreement ("**Services Data**").
**Data processed.** The Segment User Data that we collect, use and share is described in our Privacy Policy. While our customers decide what Services Data to submit, it typically includes information about their own users and how they use the customer’s sites, applications and services and third party applications. We process Services Data as instructed by our customers and do not own or control Services Data.
diff --git a/legal/terms-2016.md b/legal/terms-2016.md
index a6f0baf927..d0dfedeb1c 100644
--- a/legal/terms-2016.md
+++ b/legal/terms-2016.md
@@ -13,32 +13,32 @@ feedback: false
PLEASE READ THESE TERMS OF SERVICE CAREFULLY. THESE TERMS OF SERVICE CONTAIN IMPORTANT INFORMATION REGARDING YOUR LEGAL RIGHTS, REMEDIES AND OBLIGATIONS. THESE INCLUDE LIMITATIONS ON LIABILITY AND A DISCLAIMER OF ALL WARRANTIES.
-These Terms of Service (referred to herein as these “Terms of Service” or this “Agreement”) are between Segment.io Inc. (“Segment”, “We”, “Us” or “Our”) and you (collectively, “Customer,” “You” or “Your”). By implementing or using the Service (as defined below) on Your website, service or application, or by using, or signing up for an account on Our Site, You agree that You are authorized to accept this Agreement on behalf of Yourself and that You are bound by this Agreement. If You are agreeing to this Agreement for use of the Service by an organization, then You are agreeing to this Agreement on behalf of that organization (and “Customer,” “You” and “Your” will refer to that organization). You must have the authority to bind that organization to this Agreement; otherwise You must not sign up for the Service. By using the Service, You are representing and warranting that You are over the age of 18, or the legal age of majority in Your jurisdiction of residence. Segment does not make the Service available to anyone under the age of 13.
+These Terms of Service (referred to herein as these "Terms of Service" or this "Agreement") are between Segment.io Inc. ("Segment", "We", "Us" or "Our") and you (collectively, "Customer," "You" or "Your"). By implementing or using the Service (as defined below) on Your website, service or application, or by using, or signing up for an account on Our Site, You agree that You are authorized to accept this Agreement on behalf of Yourself and that You are bound by this Agreement. If You are agreeing to this Agreement for use of the Service by an organization, then You are agreeing to this Agreement on behalf of that organization (and "Customer," "You" and "Your" will refer to that organization). You must have the authority to bind that organization to this Agreement; otherwise You must not sign up for the Service. By using the Service, You are representing and warranting that You are over the age of 18, or the legal age of majority in Your jurisdiction of residence. Segment does not make the Service available to anyone under the age of 13.
-Your use of the Service and each website (each a “Site”) owned and operated by Segment are governed by these Terms of Service. The Service is comprised of certain Segment proprietary software (the “Software”) that allows You to obtain statistics based on website visitors to Your website, service, or application, (the Software and services provided thereby and from Our Sites shall be collectively known as the “Service(s)”). You must affirmatively agree to and indicate Your acceptance of these Terms of Service and the Privacy Policy (individually or collectively the “Agreement”) in order to use the Service. IF YOU DO NOT ACCEPT THIS AGREEMENT IN ITS ENTIRETY, YOU MAY NOT ACCESS OR USE THE SITE OR THE SERVICE.
+Your use of the Service and each website (each a "Site") owned and operated by Segment are governed by these Terms of Service. The Service is comprised of certain Segment proprietary software (the "Software") that allows You to obtain statistics based on website visitors to Your website, service, or application, (the Software and services provided thereby and from Our Sites shall be collectively known as the "Service(s)"). You must affirmatively agree to and indicate Your acceptance of these Terms of Service and the Privacy Policy (individually or collectively the "Agreement") in order to use the Service. IF YOU DO NOT ACCEPT THIS AGREEMENT IN ITS ENTIRETY, YOU MAY NOT ACCESS OR USE THE SITE OR THE SERVICE.
Please note that if You have executed a separate written agreement with Segment regarding Your use of certain of Our Services, then that agreement, and not these Terms of Service, applies to those Services.
-If You enter into an “Order Form” signed by You and Us that expressly refers to these Terms of Service, then the following terms apply:
+If You enter into an "Order Form" signed by You and Us that expressly refers to these Terms of Service, then the following terms apply:
-**If You enter into an “Order Form” signed by You and Us that expressly refers to these Terms of Service, then the following terms apply:**
+**If You enter into an "Order Form" signed by You and Us that expressly refers to these Terms of Service, then the following terms apply:**
-* Except as expressly set forth in the Order, no Free Trial (defined below) or related free or trial-period termination right shall apply to Services purchased under an Order Form. The Services purchased under the Order Form, shall be considered a “Paid Plan” as defined below. All amounts stated in the Order Form shall be payable within thirty (30) days of the date of invoice;
-* The subscription period for the Services you purchase under the Order Form, shall be the “Service Term” set forth in the Order Form. Following the expiration of the initial Service Term, the subscription period shall automatically renew for successive one year periods (each, an additional Service Term), unless one party provides the other with written notice of termination at least thirty (30) days prior to the then-current Service Term; and
+* Except as expressly set forth in the Order, no Free Trial (defined below) or related free or trial-period termination right shall apply to Services purchased under an Order Form. The Services purchased under the Order Form, shall be considered a "Paid Plan" as defined below. All amounts stated in the Order Form shall be payable within thirty (30) days of the date of invoice;
+* The subscription period for the Services you purchase under the Order Form, shall be the "Service Term" set forth in the Order Form. Following the expiration of the initial Service Term, the subscription period shall automatically renew for successive one year periods (each, an additional Service Term), unless one party provides the other with written notice of termination at least thirty (30) days prior to the then-current Service Term; and
* In the event of a conflict between the terms of the Order Form, and the terms of these Terms of Service, the terms of the Order Form control.
## 1. Registration Process, Free Trial and Paying Plans
If You decide to register for the Service, You must provide certain limited information about Yourself to Segment and create an account. You agree to be responsible for Your account password as well as the acts and/or omissions of any third party using the Service through Your account. You must notify Segment immediately of any unauthorized use of Your account or loss of account information. You agree to keep all account information complete, accurate and up to date (including without limitation any payment and contact information). We reserve the right to refuse the Service to any user and terminate Your account for any reason within Segment’s sole discretion. Don’t worry - You can opt-out of any marketing emails from Us through Your account settings or through a link in the e-mail that We send.
-By registering for the Service, Segment may provide You with limited access to the Service on a trial basis at no charge for 14 days from the date of Your registration, or such other time period as We may establish in our sole discretion (collectively Your “Free Trial”).
+By registering for the Service, Segment may provide You with limited access to the Service on a trial basis at no charge for 14 days from the date of Your registration, or such other time period as We may establish in our sole discretion (collectively Your "Free Trial").
**We reserve the right to modify, cancel and/or limit the Free Trial without notice at any time.**
-After the Free Trial, if you do not cancel your account, we will automatically upgrade you to an auto-renewing, paid subscription (a “Paid Plan”) or you must enter into a separate written agreement with Us for a “Business” plan.
+After the Free Trial, if you do not cancel your account, we will automatically upgrade you to an auto-renewing, paid subscription (a "Paid Plan") or you must enter into a separate written agreement with Us for a "Business" plan.
**Please note that upon the end of Your Free Trial, if You do not purchase a Paid Plan or a Business plan, You may lose access to all data stored on the Service, and any interfaces to third party services that We provide.**
-By upgrading to (or separately purchasing) a Paid Plan, You are agreeing to pay in advance the amount due for each subscription period based on Your usage. Subscription periods are monthly unless otherwise agreed in writing by Segment. Each plan includes a specified number of user seats, data sources and data warehouses, as well as a number of unique users whose interactions You track in each month (e.g. the number of tracked visitor id’s, collectively referred to as “Events”).
+By upgrading to (or separately purchasing) a Paid Plan, You are agreeing to pay in advance the amount due for each subscription period based on Your usage. Subscription periods are monthly unless otherwise agreed in writing by Segment. Each plan includes a specified number of user seats, data sources and data warehouses, as well as a number of unique users whose interactions You track in each month (e.g. the number of tracked visitor id’s, collectively referred to as "Events").
**Our current pricing and available subscription period(s) are available on our** [pricing page](/pricing).
@@ -56,27 +56,27 @@ ONCE YOU HAVE PURCHASED A PAID PLAN, WE WILL AUTOMATICALLY CHARGE AT THE END OF
**Upgrades.** If You upgrade Your Paid Plan, You will immediately be charged the then-current rate for the new Paid Plan (and any auto-renewals thereof), as provided on Our Site.
-We may revise Service rates at any time, or impose additional fees or charges. If You are on a Paid Plan, We will do this by providing You with at least 30 days’ notice prior to the next charge (as such notice is set forth in Section 10 “Modifications to the Agreement”). Provided that if You upgrade Your plan (or an upgrade occurs automatically as set forth in this section), You will be charged at the then-current rate. Unless otherwise expressly stated in writing, any discounts applied to a previous subscription period do not apply to a renewed subscription period, including to any automatic renewals.
+We may revise Service rates at any time, or impose additional fees or charges. If You are on a Paid Plan, We will do this by providing You with at least 30 days’ notice prior to the next charge (as such notice is set forth in Section 10 "Modifications to the Agreement"). Provided that if You upgrade Your plan (or an upgrade occurs automatically as set forth in this section), You will be charged at the then-current rate. Unless otherwise expressly stated in writing, any discounts applied to a previous subscription period do not apply to a renewed subscription period, including to any automatic renewals.
Your Paid Plan will remain in effect until it’s cancelled or terminated under these Terms and Conditions. If You don’t pay for Your Paid Plan on time, We reserve the right to suspend or terminate Your account. Unpaid fees are subject to a finance charge of 1.5% per month on any outstanding balance, or the maximum permitted by law, whichever is lower, plus all expenses of collection. Unless otherwise stated, all fees are stated in, and shall be paid in, US dollars.
**Downgrades.** If You desire to downgrade Your Plan level, You must provide Segment with written notice at least 30 days prior to the end of Your current subscription period (please provide written notice to billing@segment.com). The Plan downgrade will take effect the first billing cycle of Your next subscription period. Please note that You will not receive any refunds for payments made on Your current billing cycle (or for your current subscription period). Downgrading Your Plan may cause the loss of account content, features, or capacity. Segment disclaims liability for any such loss.
-**Additional Fees.** We may revise Service rates at any time, or impose additional fees or charges. If You are on a Paid Plan, We will do this by providing You with at least 30 days’ notice prior to the next charge (as such notice is set forth in Section 10 “Modifications to the Agreement”). Provided that if You upgrade or downgrade Your plan (or an upgrade occurs automatically as set forth in this section), You will be charged at the then-current rate. Unless otherwise expressly stated in writing, any discounts applied to a previous subscription period do not apply to a renewed subscription period, including to any automatic renewals.
+**Additional Fees.** We may revise Service rates at any time, or impose additional fees or charges. If You are on a Paid Plan, We will do this by providing You with at least 30 days’ notice prior to the next charge (as such notice is set forth in Section 10 "Modifications to the Agreement"). Provided that if You upgrade or downgrade Your plan (or an upgrade occurs automatically as set forth in this section), You will be charged at the then-current rate. Unless otherwise expressly stated in writing, any discounts applied to a previous subscription period do not apply to a renewed subscription period, including to any automatic renewals.
Your Paid Plan will remain in effect until it’s cancelled or terminated under these Terms and Conditions. If You don’t pay for Your Paid Plan on time, We reserve the right to suspend or terminate Your account. Unpaid fees are subject to a finance charge of 1.5% per month on any outstanding balance, or the maximum permitted by law, whichever is lower, plus all expenses of collection. Unless otherwise stated, all fees are stated in, and shall be paid in, US dollars.
-**Right to limit usage.** We reserve the right to limit or “throttle” your usage of the Service at any time if we deem that it is excessive, abusive, designed to circumvent Service limitations, or otherwise to prevent harm to Segment or others. This could include, without limitation, limiting the number of API calls that you are permitted to make or data syncs that you may perform.
+**Right to limit usage.** We reserve the right to limit or "throttle" your usage of the Service at any time if we deem that it is excessive, abusive, designed to circumvent Service limitations, or otherwise to prevent harm to Segment or others. This could include, without limitation, limiting the number of API calls that you are permitted to make or data syncs that you may perform.
## 2. Limited License
### 2.1 By Segment
-Subject to the terms and conditions of these Terms of Service, during the period You have a valid subscription with Segment. Segment grants You (and You agree to comply with) a non-sublicensable, non-transferable, non-exclusive, revocable, limited license to use: the Software and certain proprietary documentation in the form generally made available by Segment to You on the Site for use with the Software (the “Documentation”), solely to connect to the Service, and solely for Your benefit and Your internal business purposes. Your use of the Service shall be subject to the applicable Service documentation and restricted pursuant to the terms and conditions of this Agreement.
+Subject to the terms and conditions of these Terms of Service, during the period You have a valid subscription with Segment. Segment grants You (and You agree to comply with) a non-sublicensable, non-transferable, non-exclusive, revocable, limited license to use: the Software and certain proprietary documentation in the form generally made available by Segment to You on the Site for use with the Software (the "Documentation"), solely to connect to the Service, and solely for Your benefit and Your internal business purposes. Your use of the Service shall be subject to the applicable Service documentation and restricted pursuant to the terms and conditions of this Agreement.
### 2.2 Ownership
-As between You and Segment, Segment owns all rights and interest to any and all patents, copyrights, moral rights, trade secrets, trademarks, service marks, publicity rights, and other proprietary rights (whether or not perfected or perfectible and whether or not now known or hereafter discovered) (“Intellectual Property Rights”) in and to the Sites and Service. Nothing in this Agreement grants You any rights whatsoever in or relating to the source code of the Software (except for examples of code that are provided by Segment in source code format). All ownership rights, title, and Intellectual Property Rights in and to the Site and Service shall remain in Segment and/or its licensors. Other than as expressly granted herein, Segment does not grant You any other rights to the Sites or Service. You agree that Segment has the right to change, modify, add to or discontinue or retire any aspect or feature of the Site or Service at any time. Segment has no obligation to give You notice of any changes. From time to time, Segment may, but is under no obligation to, release upgrades, fixes or new versions of the Service, although these upgrades may not be consistent across all platforms and devices. All such upgrades, fixes or new versions shall be considered part of the Site and Service subject to the terms of this Agreement, unless We provide different terms at the time of release. The Service may include Software which may update automatically.
+As between You and Segment, Segment owns all rights and interest to any and all patents, copyrights, moral rights, trade secrets, trademarks, service marks, publicity rights, and other proprietary rights (whether or not perfected or perfectible and whether or not now known or hereafter discovered) ("Intellectual Property Rights") in and to the Sites and Service. Nothing in this Agreement grants You any rights whatsoever in or relating to the source code of the Software (except for examples of code that are provided by Segment in source code format). All ownership rights, title, and Intellectual Property Rights in and to the Site and Service shall remain in Segment and/or its licensors. Other than as expressly granted herein, Segment does not grant You any other rights to the Sites or Service. You agree that Segment has the right to change, modify, add to or discontinue or retire any aspect or feature of the Site or Service at any time. Segment has no obligation to give You notice of any changes. From time to time, Segment may, but is under no obligation to, release upgrades, fixes or new versions of the Service, although these upgrades may not be consistent across all platforms and devices. All such upgrades, fixes or new versions shall be considered part of the Site and Service subject to the terms of this Agreement, unless We provide different terms at the time of release. The Service may include Software which may update automatically.
### 2.3 By You
@@ -86,7 +86,7 @@ By allowing the Service to be placed on Your website, application or service, Yo
You agree not to, or to allow others to: (i) adapt, alter, modify, decompile, translate, make derivative works, disassemble, or reverse engineer the Site or Service, including without limitation, the source code and any other underlying ideas or algorithms of the Software (except to the extent applicable laws specifically prohibit such restriction or where in accordance with the API terms of service); (ii) copy the Software; (iii) transfer, sublicense, loan, sell, lease, use for timesharing or service bureau purposes, or otherwise commercially use or exploit the Service; (iv) use the Site or Service in violation of any applicable regulation or law; (v) ship, divert, trans-ship, transfer, export or re- export the Service or any component thereof into any country or use it in any manner prohibited by any export control laws, restrictions, or regulations administered by the U.S. Commerce Department’s Bureau of Export Administration, the U.S. Department of Treasury’s Office of Foreign Assets Control or any other applicable government agency, (vi) use or attempt to use the Service for competitive analysis or benchmarking of the Service, or to develop a competitive service or directly compete with the Service; (vii) to store or transfer any tortious, illegal or infringing materials, (viii) use or attempt to use the Service, or provide us with any data, in violation of any third-party rights of any kind, including without limitation any privacy, intellectual property, confidentiality or contractual rights, (ix) to transfer any viruses, worms, trojans or other items of a similarly destructive nature.
-Customer shall use no less than industry standard security measures with respect to its access and use of the Services and Software. Customer shall be responsible for obtaining and maintaining any equipment and ancillary services needed to connect to, access or otherwise use the Service, including, without limitation, hardware, server, software, operating system, networking, communication services, web and hosted services and platforms, and any platforms, networks, services and/or websites where it distributes and runs its services and applications, including but not limited to, Facebook, Android, Google Play, Blackberry and iOS/App Store and all third party products and service providers that Customer requests Segment to supply with data, or from whom Customer provides Segment with data (collectively, “Third Party Platforms”). Customer shall be responsible for compliance its own and all terms of service and privacy policies with respect to the Third Party Platforms. Without limiting the foregoing, Customer agrees to comply with third party terms of service and privacy policies for all third party analytics providers and other services that Segment provides with data at Your request, or that you request to provide Segment with data. Segment is not responsible for any act or omissions of any Third Party Platform.
+Customer shall use no less than industry standard security measures with respect to its access and use of the Services and Software. Customer shall be responsible for obtaining and maintaining any equipment and ancillary services needed to connect to, access or otherwise use the Service, including, without limitation, hardware, server, software, operating system, networking, communication services, web and hosted services and platforms, and any platforms, networks, services and/or websites where it distributes and runs its services and applications, including but not limited to, Facebook, Android, Google Play, Blackberry and iOS/App Store and all third party products and service providers that Customer requests Segment to supply with data, or from whom Customer provides Segment with data (collectively, "Third Party Platforms"). Customer shall be responsible for compliance its own and all terms of service and privacy policies with respect to the Third Party Platforms. Without limiting the foregoing, Customer agrees to comply with third party terms of service and privacy policies for all third party analytics providers and other services that Segment provides with data at Your request, or that you request to provide Segment with data. Segment is not responsible for any act or omissions of any Third Party Platform.
Customer shall also be responsible for maintaining the security of the Third Party Platforms, its account, passwords (including but not limited to administrative and user passwords) and files, and for all uses of the account or the Third Party Platforms with or without Customer’s knowledge or consent.
You agree to:
@@ -94,7 +94,7 @@ You agree to:
* Use the Service for lawful purposes only and in compliance with any policies posted to the Site or conveyed by electronic notice;
* Not use the Service in a way that prevents or inhibits another user from enjoying the Service;
* Not obtain the communications protocol for accessing the Service;
-* Not remove, obscure or alter any notices or indications of any Intellectual Property Rights, any trade names, trademarks, service marks, logos, trade dress, and any other distinctive or proprietary symbols, labels, designs or designations (“Branding”), or any electronic notices;
+* Not remove, obscure or alter any notices or indications of any Intellectual Property Rights, any trade names, trademarks, service marks, logos, trade dress, and any other distinctive or proprietary symbols, labels, designs or designations ("Branding"), or any electronic notices;
* Not interfere with, or attempt to interfere with, compromise the system integrity or security, or decipher any transmissions to or from the Service servers;
* Not to take any action that imposes an unreasonable or disproportionately large load on Our infrastructure; and
* Not to challenge or assist others to challenge Our rights in the Branding, or Our Intellectual Property Rights or registration or applications thereof.
@@ -102,13 +102,13 @@ You agree to:
## 4. Confidential Information.
-**“Confidential Information”** means: (a) the Service (Including the Software and Documentation); and (b) any Segment business or technical information that is disclosed to You in connection with this Agreement, including, but not limited to, any information relating to Segment’s plans, designs, costs, prices, finances, marketing plans, business opportunities, personnel or research and development. You will maintain all Confidential Information in strict confidence and will not disclose Confidential Information to any third party. You will not use Confidential Information, except as necessary for Your performance of this Agreement.
+**"Confidential Information"** means: (a) the Service (Including the Software and Documentation); and (b) any Segment business or technical information that is disclosed to You in connection with this Agreement, including, but not limited to, any information relating to Segment’s plans, designs, costs, prices, finances, marketing plans, business opportunities, personnel or research and development. You will maintain all Confidential Information in strict confidence and will not disclose Confidential Information to any third party. You will not use Confidential Information, except as necessary for Your performance of this Agreement.
The parties agree that any material breach of this Section (Confidentiality) will cause irreparable injury and that injunctive relief in a court of competent jurisdiction will be appropriate to prevent an initial or continuing breach of this Section in additional to any other relief to which Segment may be entitled.
## 5. Customer User Data
-Our Services enable You to collect data (“Customer User Data”) about how Your customers and other users (Your “Users”) use and interact with Your website, services and applications on which You have integrated Our Service (including without limitation User name, postal address, e-mail address, IP address and phone number). We enable You to specify the Customer User Data that You collect, and, at Your direction, to pass that data into the Segment Service, and to and from a variety of third-party tools and services. Segment may also store Customer User Data in connection with the Service. Segment is not responsible for inspecting the Customer User Data that it collects, and collects such information automatically under Your direction when providing Our Service.
+Our Services enable You to collect data ("Customer User Data") about how Your customers and other users (Your "Users") use and interact with Your website, services and applications on which You have integrated Our Service (including without limitation User name, postal address, e-mail address, IP address and phone number). We enable You to specify the Customer User Data that You collect, and, at Your direction, to pass that data into the Segment Service, and to and from a variety of third-party tools and services. Segment may also store Customer User Data in connection with the Service. Segment is not responsible for inspecting the Customer User Data that it collects, and collects such information automatically under Your direction when providing Our Service.
As between Customer and Segment, Customer shall retain all right, title and interest in and to the Customer User Data. Customer acknowledges that Segment exercises no control whatsoever over the content of the information (including Customer User Data) passing through Segment’s systems and networks in connection with providing the Service. Customer will be responsible for the accuracy, quality and legality of Customer User Data and the means by which Customer acquired the Customer User Data.
@@ -123,7 +123,7 @@ We provide You with access to Your Customer User Data and ability to delete any
You agree to comply with all applicable privacy and data protection regulations. You agree to provide appropriate notices to Your Users about, and if required by applicable laws, obtain appropriate consent from Users for, Your information collection and use practices relating to Your use of Our Services, and Your use of any service providers or other third parties that You instruct to send us data or to whom You instruct us to send Your Customer User Data. You will not collect or provide us with any Customer User Data (or have a third party do the same), nor request us to collect from, or forward any Customer User Data to, any third party, or request (through the Segment Service or directly) such third party to perform any processing or transmission, in violation of any law, regulation, or third party right, including without limitation intellectual property, privacy or contractual right. We will not be responsible for any act omission of any third party that You request to provide us with Customer User Data or to whom You request us to forward Your Customer User Data, and You will indemnify and hold us harmless arising out of or related to their provision or use of the Customer User Data.
-You, and any third party on Your behalf, shall not provide Segment with any data that is considered “sensitive personal data” under the EU Data Protection Directive 95/46/EC, or that is otherwise subject to heightened restrictions relating to the transmission or processing of data for the jurisdictions in which You and Segment operate. Examples of such restrictive frameworks include, but are not limited to, the Health Insurance Portability and Accountability Act, the Children’s Online Privacy Protection Act, and the standards promulgated by the PCI Security Standards Council. It is Your responsibility at all times to ensure that the means of passing data to Segment, as well as the data itself, along with Your directives that We pass this data on to third party tools, at all times comply with the laws, regulations and agreements to which You, the data, or Segment are subject.
+You, and any third party on Your behalf, shall not provide Segment with any data that is considered "sensitive personal data" under the EU Data Protection Directive 95/46/EC, or that is otherwise subject to heightened restrictions relating to the transmission or processing of data for the jurisdictions in which You and Segment operate. Examples of such restrictive frameworks include, but are not limited to, the Health Insurance Portability and Accountability Act, the Children’s Online Privacy Protection Act, and the standards promulgated by the PCI Security Standards Council. It is Your responsibility at all times to ensure that the means of passing data to Segment, as well as the data itself, along with Your directives that We pass this data on to third party tools, at all times comply with the laws, regulations and agreements to which You, the data, or Segment are subject.
We may also collect registration and other information about You as Our customer through Our Site. Our collection and use of information collected about You on Our website is governed by Our Privacy Policy, available at https://segment.com/privacy/. **Our Privacy Policy does not cover Customer User Data. It is Your obligation to provide Your own privacy policy or notice to Your Users as set forth in this Agreement.**
@@ -131,7 +131,7 @@ In the performance of the Service, Segment is expressly authorized to collect ge
## 6. Warranty Disclaimer
-TO THE FULLEST EXTENT ALLOWED BY LAW, THE SERVICE AND SITE ARE PROVIDED BY SEGMENT AND ITS LICENSORS “AS IS” AND “AS AVAILABLE” AND SEGMENT MAKES NO WARRANTY OF ANY KIND, WHETHER EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING WITHOUT LIMITATION, MERCHANTABILITY, FITNESS FOR A PARTICULAR USE AND NON-INFRINGEMENT. TO THE FULLEST EXTENT ALLOWED BY LAW, YOU ASSUME ALL RISK FOR YOUR USE OF THE SERVICE AND SITE, INCLUDING WITHOUT LIMITATION ANY HARM CAUSED BY VIRUSES, WORKS, OR OTHER DAMAGING MATERIALS. IN NO EVENT DOES SEGMENT GUARANTEE ANY RESULTS, INCREASED TRAFFIC OR USER ENGAGEMENT FOR YOU. SEGMENT DOES NOT WARRANT THAT THE SERVICE OR SITE, OR ANY PORTION THEREOF, ARE ACCURATE, ERROR OR BUG FREE, THAT YOUR USE OF THE SERVICE OR SITE WILL BE UNINTERRUPTED, OR THAT THE SERVICE’S OR SITE’S OPERATION WILL NOT NEGATIVELY AFFECT OTHER SOFTWARE OR HARDWARE. THIS SECTION APPLIES TO THE MAXIMUM EXTENT ALLOWED BY APPLICABLE LAW. THE SERVICE IS OFFERED BY SEGMENT FROM ITS FACILITIES IN THE UNITED STATES OF AMERICA. SEGMENT MAKES NO REPRESENTATIONS THAT THE SERVICE IS APPROPRIATE OR AVAILABLE FOR USE IN OTHER COUNTRIES. THOSE WHO ACCESS OR USE THE SERVICE FROM JURISDICTIONS OUTSIDE THE UNITED STATES ARE RESPONSIBLE FOR COMPLIANCE WITH ALL APPLICABLE LAWS.
+TO THE FULLEST EXTENT ALLOWED BY LAW, THE SERVICE AND SITE ARE PROVIDED BY SEGMENT AND ITS LICENSORS "AS IS" AND "AS AVAILABLE" AND SEGMENT MAKES NO WARRANTY OF ANY KIND, WHETHER EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING WITHOUT LIMITATION, MERCHANTABILITY, FITNESS FOR A PARTICULAR USE AND NON-INFRINGEMENT. TO THE FULLEST EXTENT ALLOWED BY LAW, YOU ASSUME ALL RISK FOR YOUR USE OF THE SERVICE AND SITE, INCLUDING WITHOUT LIMITATION ANY HARM CAUSED BY VIRUSES, WORKS, OR OTHER DAMAGING MATERIALS. IN NO EVENT DOES SEGMENT GUARANTEE ANY RESULTS, INCREASED TRAFFIC OR USER ENGAGEMENT FOR YOU. SEGMENT DOES NOT WARRANT THAT THE SERVICE OR SITE, OR ANY PORTION THEREOF, ARE ACCURATE, ERROR OR BUG FREE, THAT YOUR USE OF THE SERVICE OR SITE WILL BE UNINTERRUPTED, OR THAT THE SERVICE’S OR SITE’S OPERATION WILL NOT NEGATIVELY AFFECT OTHER SOFTWARE OR HARDWARE. THIS SECTION APPLIES TO THE MAXIMUM EXTENT ALLOWED BY APPLICABLE LAW. THE SERVICE IS OFFERED BY SEGMENT FROM ITS FACILITIES IN THE UNITED STATES OF AMERICA. SEGMENT MAKES NO REPRESENTATIONS THAT THE SERVICE IS APPROPRIATE OR AVAILABLE FOR USE IN OTHER COUNTRIES. THOSE WHO ACCESS OR USE THE SERVICE FROM JURISDICTIONS OUTSIDE THE UNITED STATES ARE RESPONSIBLE FOR COMPLIANCE WITH ALL APPLICABLE LAWS.
## 7. Limitation of Liability
@@ -147,7 +147,7 @@ These Terms of Service will remain in effect for Your Free Trial, and, upon conv
For Customers under a Paid Plan, You may terminate this Agreement effective as of the end of the then-current subscription period by providing us with at least thirty (30) days’ written notice prior to the expiration of Your then-current subscription term. Once You are under a Paid Plan, We may terminate this Agreement at any time, in whole or in part, for any reason upon providing You with fourteen (14) days’ written notice. Upon any termination or expiration of this Agreement, all licenses, and any other rights and services provided by Us to You in this Agreement, shall cease immediately, and You shall immediately (i) pay all outstanding balances, and (ii) cease all use of the Services and remove all Segment java scripts and other scripts from Your website, application or service, and destroy all other parts of the Service, Software and Segment Confidential Information in Your possession. The following sections will survive any expiration or termination of this Agreement: 1 (with respect to any fees due and their collection), 2.2, 3 through 9, and 11.
-We also may permanently or temporarily terminate, suspend, limit or “throttle” your usage, or otherwise refuse to permit Your use of the Service without notice or liability, if in Our sole determination, You violate these Terms of Service or Segment’s privacy policy, or in cases of emergency or to prevent violations of law or harm to Segment or others. Termination of these Terms of Service, any license, or Your access to the Site or Service, shall not limit Us from pursuing other remedies available to Us against You, including, but not limited to, injunctive relief.
+We also may permanently or temporarily terminate, suspend, limit or "throttle" your usage, or otherwise refuse to permit Your use of the Service without notice or liability, if in Our sole determination, You violate these Terms of Service or Segment’s privacy policy, or in cases of emergency or to prevent violations of law or harm to Segment or others. Termination of these Terms of Service, any license, or Your access to the Site or Service, shall not limit Us from pursuing other remedies available to Us against You, including, but not limited to, injunctive relief.
## 10. Modifications to this Agreement.
@@ -174,7 +174,7 @@ General terms:
* There are no third-party beneficiaries to this Agreement.
* The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement.
* All waivers and modifications must be in a writing signed on behalf of both parties by their duly authorized representatives, except as otherwise provided herein. No waiver of any breach shall constitute a waiver of any other breach.
-* Notice to US Government End Users. For U.S. Government procurements, Software is a commercial computer software as defined in FAR 12.212 and subject to restricted rights as defined in FAR Section 52.227-19 “Commercial Computer Software - Restricted Rights” and DFARS 227.7202, “Rights in Commercial Computer Software or Commercial Computer Software Documentation”, as applicable, and any successor regulations. Any use, modification, reproduction release, performance, display or disclosure of the Software by the U.S. Government must be in accordance with license rights and restrictions described in these terms.
+* Notice to US Government End Users. For U.S. Government procurements, Software is a commercial computer software as defined in FAR 12.212 and subject to restricted rights as defined in FAR Section 52.227-19 "Commercial Computer Software - Restricted Rights" and DFARS 227.7202, "Rights in Commercial Computer Software or Commercial Computer Software Documentation", as applicable, and any successor regulations. Any use, modification, reproduction release, performance, display or disclosure of the Software by the U.S. Government must be in accordance with license rights and restrictions described in these terms.
## 12. Contacting Us
diff --git a/partners/checklist.md b/partners/checklist.md
index eb524191e6..a19267e824 100644
--- a/partners/checklist.md
+++ b/partners/checklist.md
@@ -78,11 +78,11 @@ Once you've decided, you can:
- Test component with the Dev Center Test Suite and get all green or yellow tests
-We also highly encourage you to build a 1-click enablement of your tool with OAuth and the Segment Config API. Partners who have implemented “Enable with Segment” button in their sign-up flows have reported 2X increase in conversions. You can [refer to the docs for full details about building an Enable with Segment button](https://segment.com/docs/partners/enable-with-segment/).
+We also highly encourage you to build a 1-click enablement of your tool with OAuth and the Segment Config API. Partners who have implemented "Enable with Segment" button in their sign-up flows have reported 2X increase in conversions. You can [refer to the docs for full details about building an Enable with Segment button](https://segment.com/docs/partners/enable-with-segment/).
- Implement one-click setup via Enable with Segment / OAuth
-> Note: If you are time constrained, you may skip the above step for now. Once we see at-least 5 customers using your public beta integration, it’s a hard requirement to build “Enable with Segment” button in your sign-up flows or app/settings page for general availability. By building this, we are making it super easy for future customers to turn ON your Integration. Not doing so, will result in de-listing your Integration from the Segment Catalog.
+> Note: If you are time constrained, you may skip the above step for now. Once we see at-least 5 customers using your public beta integration, it’s a hard requirement to build "Enable with Segment" button in your sign-up flows or app/settings page for general availability. By building this, we are making it super easy for future customers to turn ON your Integration. Not doing so, will result in de-listing your Integration from the Segment Catalog.
## 5. Partner Test
@@ -159,7 +159,7 @@ The Segment Dev Center team also needs an account to easily test your integratio
Once you have built your components, written docs, and filled in all the required metadata, you can submit your app for approval.
- Finish the developer center in-app checklist items
-- Click “Submit for Review”
+- Click "Submit for Review"
## 9. Segment Public Beta Approval
diff --git a/partners/plugins.md b/partners/plugins.md
index 26de7ec495..98e7fd239e 100644
--- a/partners/plugins.md
+++ b/partners/plugins.md
@@ -10,7 +10,7 @@ Segment’s Client SDKs (analytics.js, analytics-ios, and analytics-android) ser
SDK Plugins are an appropriate component for your App if your source or destination requires client-side side effects, such as collecting ambient data in the client (Heatmapping, Error & Performance Monitoring tools), relying on device-native context such as third party cookies (Advertising pixels), or needs to actively modify the Client UI (e.g. A/B testing, Push Notification, In-App Messaging and LiveChat).
-_**Note:** SDK Plugins show up in our Connections Catalog as a “Device Based Destination” today, but this is subject to change, especially as we add support for more data data *collection*, *enrichment*, and *transformation* oriented primitives to plugins._
+_**Note:** SDK Plugins show up in our Connections Catalog as a "Device Based Destination" today, but this is subject to change, especially as we add support for more data data *collection*, *enrichment*, and *transformation* oriented primitives to plugins._
Please follow the documentation carefully. Segment will not approve submissions for SDK plugin components that don't follow best practices or don't provide any more functionality than that supported by a [subscription](/docs/partners/subscription), as customers universally prefer Cloud Mode to Device Mode when available.
diff --git a/partners/subscriptions.md b/partners/subscriptions.md
index dedcb98813..526be0d336 100644
--- a/partners/subscriptions.md
+++ b/partners/subscriptions.md
@@ -54,7 +54,7 @@ To provide a great experience for users, and to help us test your integration, y
After successfully testing your Component, make sure you've completed all [launch requirements](/docs/partners/#launch-requirements) and then it’s time to submit it for approval.
-Please remember, you will not be able to edit your App information once you submit for approval, so please review all the details before hitting the “Submit for Review” button in Subscription "Publish" window.
+Please remember, you will not be able to edit your App information once you submit for approval, so please review all the details before hitting the "Submit for Review" button in Subscription "Publish" window.

@@ -88,7 +88,7 @@ Yes!
To start, a Segment customer will track their user actions using our `track` method. Segment has [industry specs](https://segment.com/docs/spec/semantic/) to define semantic naming to follow, so when sending events in for a particular event flow, such as Ecommerce, Live Chat, Video and Email events, Segment can translate these semantic event names into other downstream tools.
-It is essential that the destination follows the relevant industry specs when translating a Segment event into how the destination tool understands the event. That way, customers can enable any new integration and specced events, such as “Order Completed”, and it will automatically work with the new downstream destination.
+It is essential that the destination follows the relevant industry specs when translating a Segment event into how the destination tool understands the event. That way, customers can enable any new integration and specced events, such as "Order Completed", and it will automatically work with the new downstream destination.
### Are the events guaranteed to send in order?
diff --git a/personas/computed-traits.md b/personas/computed-traits.md
index 36e7a28e32..a28fc413d5 100644
--- a/personas/computed-traits.md
+++ b/personas/computed-traits.md
@@ -119,7 +119,7 @@ Account-level examples:

## Conditions
-All computed trait types support a common “Add Conditions” section. Conditions defined here restrict the messages considered when calculating the final value of the computed trait by looking at a property of the events. For example, you could limits events to only those where “price” is greater than 30.00 or where “page.url” contains “pricing”.
+All computed trait types support a common "Add Conditions" section. Conditions defined here restrict the messages considered when calculating the final value of the computed trait by looking at a property of the events. For example, you could limits events to only those where "price" is greater than 30.00 or where "page.url" contains "pricing".
There are twelve different operators currently available.
- equals
diff --git a/personas/sql-traits.md b/personas/sql-traits.md
index 8d0ae10ab3..c1bb3d6ae0 100644
--- a/personas/sql-traits.md
+++ b/personas/sql-traits.md
@@ -50,10 +50,10 @@ To connect BigQuery to Segment SQL Traits, you will need to create a service acc
> IMPORTANT: We suggest adding only the BigQuery Data Viewer and BigQuery Job User roles to your service account. Adding other roles to your service account may prevent Segment from being able to connect.
-4. Click “Create Key”
+4. Click "Create Key"

-5. Click “Create” with “JSON” format selected
+5. Click "Create" with "JSON" format selected

6. Create new BigQuery Warehouse Source in Personas
diff --git a/protocols/schema.md b/protocols/schema.md
index 8f006e1894..6eefce8139 100644
--- a/protocols/schema.md
+++ b/protocols/schema.md
@@ -46,18 +46,18 @@ All customers can filter specific events from being sent to specific Destination
});
```
-Destination flags are case sensitive and match the [Destination’s name in the docs](https://segment.com/docs/destinations/) (i.e. “AdLearn Open Platform”, “awe.sm”, “MailChimp”, etc.).
+Destination flags are case sensitive and match the [Destination’s name in the docs](https://segment.com/docs/destinations/) (i.e. "AdLearn Open Platform", "awe.sm", "MailChimp", etc.).
-Segment Business tier customers can block track calls from delivering to specific Destinations in the Segment UI. Visit a Source Schema page and click on the “Integrations” column to view specific Destination filters. Toggle the filter to block or enable an event to a Destination.
+Segment Business tier customers can block track calls from delivering to specific Destinations in the Segment UI. Visit a Source Schema page and click on the "Integrations" column to view specific Destination filters. Toggle the filter to block or enable an event to a Destination.

## Schema Defaults
-If you’ve solidified your tracking plan and don’t want any rogue events finding their way to your warehouses and end tools, we recommend activating Schema Defaults. When you lock your schema, or set your Schema Defaults to “Block,” Segment will automatically prevent new calls from being sent downstream. You can activate this for new events—including `track`, `page`, and `screen` calls—or for new `identify` traits and `group` properties.
+If you’ve solidified your tracking plan and don’t want any rogue events finding their way to your warehouses and end tools, we recommend activating Schema Defaults. When you lock your schema, or set your Schema Defaults to "Block," Segment will automatically prevent new calls from being sent downstream. You can activate this for new events—including `track`, `page`, and `screen` calls—or for new `identify` traits and `group` properties.
-Locking your schema only takes a few seconds and prevents new rogue events from polluting your Destinations. To configure Schema Defaults, go to your source Schema page, and select “General” from the left-hand navigation.
+Locking your schema only takes a few seconds and prevents new rogue events from polluting your Destinations. To configure Schema Defaults, go to your source Schema page, and select "General" from the left-hand navigation.

diff --git a/segment-app/audit-trail.md b/segment-app/audit-trail.md
index 15732d5d08..8a3d742e58 100644
--- a/segment-app/audit-trail.md
+++ b/segment-app/audit-trail.md
@@ -2,7 +2,7 @@
title: "Audit Trail"
---
-Segment offers an in-app Audit Trail for Business Tier and Enterprise accounts. If you are a workspace Owner, you view user and system activity in your workspace settings, in the “Audit Trail” tab under “Admin”.
+Segment offers an in-app Audit Trail for Business Tier and Enterprise accounts. If you are a workspace Owner, you view user and system activity in your workspace settings, in the "Audit Trail" tab under "Admin".
You can filter for specific actions or actors to see who made changes on specific resources in the app. Actors can include both logged-in users as well as access tokens. You can export the information to a CSV for download, or forward the activity to a Segment source. For example, you can forward audit trail activity to set up real-time Slack alerts and quickly revert changes that could cause unwanted downstream effects, such as a user unintentionally disabling a warehouse.
diff --git a/segment-app/iam.md b/segment-app/iam.md
new file mode 100644
index 0000000000..157cb88a6f
--- /dev/null
+++ b/segment-app/iam.md
@@ -0,0 +1,47 @@
+---
+title: Identity & Access Management Overview
+sidebar: Overview
+---
+
+**Improved access management is rolling out to all customers in March and April 2019, and might not be available in your workspace yet. See the [changelog below](#changelog) for more information.**
+
+Access management lets workspace owners manage which users can access different parts of their Segment workspaces.
+
+
+
+Access is scoped to a workspace. A Segment user is associated with one or more workspaces, either as an `owner` or `member` of each.
+Users access their Segment account with either email/password credentials, or by using Single Sign On.
+
+`Owners` manage all aspects of the workspace, and `members` can have access to specific products and resource types.
+
+| Connections | Protocols | Personas |
+|-----------------------|----------------------------------------------|
+| Source admin | Protocols admin | Personas admin |
+| Source read-only | Protocols read-only | Personas user |
+| Warehouse admin | | Personas read-only |
+| Warehouse read-only | | |
+
+Check out the [Roles documentation](/docs/iam/roles/) for more details.
+
+You can grant Source roles to specific resource instances (for example you could give a member `Source admin` access for the `iOS Prod` source only) or to all current and future instances. A user with access to all current and future instances can also create new instances.
+
+The other roles apply to all resource instances within the product area (Warehouses, Tracking Plans, Pesonas Audiences/Traits).
+These roles will become more granular very soon.
+
+
+## Changelog
+
+The access management system documented here is rolling out to all customers during March and April 2019.
+You'll receive an email once your workspace has been migrated.
+
+As a part of this update, your teammates will be migrated to updated roles with access rights that are equivalent to what they had previously. While the role names may have changed, the access levels remain the same:
+
+| Existing user role | New user role | Change in access |
+|-----------------------|----------------------------------------------|
+| Workspace owner | Workspace owner | No changes |
+| Workspace read-only | Workspace read-only teammates will be granted access to the following roles:- Source read-only (all Sources and connected streaming Destinations)
- Warehouse read-only (all warehouses)
- Protocols read-only *
| No change|
+| Source collaborator | Source admin | No longer able to invite other users |
+
+* If product is available in your workspace
+
+The main difference is that we've consolidated all users in the same place, so you will no longer have to manage source collaborators in each source. That also means source collaborators can no longer invite other users.
diff --git a/segment-app/index.md b/segment-app/index.md
index 157cb88a6f..188294a3ab 100644
--- a/segment-app/index.md
+++ b/segment-app/index.md
@@ -1,47 +1,6 @@
---
-title: Identity & Access Management Overview
-sidebar: Overview
+title: The Segment Web App
---
-**Improved access management is rolling out to all customers in March and April 2019, and might not be available in your workspace yet. See the [changelog below](#changelog) for more information.**
-
-Access management lets workspace owners manage which users can access different parts of their Segment workspaces.
-
-
-
-Access is scoped to a workspace. A Segment user is associated with one or more workspaces, either as an `owner` or `member` of each.
-Users access their Segment account with either email/password credentials, or by using Single Sign On.
-
-`Owners` manage all aspects of the workspace, and `members` can have access to specific products and resource types.
-
-| Connections | Protocols | Personas |
-|-----------------------|----------------------------------------------|
-| Source admin | Protocols admin | Personas admin |
-| Source read-only | Protocols read-only | Personas user |
-| Warehouse admin | | Personas read-only |
-| Warehouse read-only | | |
-
-Check out the [Roles documentation](/docs/iam/roles/) for more details.
-
-You can grant Source roles to specific resource instances (for example you could give a member `Source admin` access for the `iOS Prod` source only) or to all current and future instances. A user with access to all current and future instances can also create new instances.
-
-The other roles apply to all resource instances within the product area (Warehouses, Tracking Plans, Pesonas Audiences/Traits).
-These roles will become more granular very soon.
-
-
-## Changelog
-
-The access management system documented here is rolling out to all customers during March and April 2019.
-You'll receive an email once your workspace has been migrated.
-
-As a part of this update, your teammates will be migrated to updated roles with access rights that are equivalent to what they had previously. While the role names may have changed, the access levels remain the same:
-
-| Existing user role | New user role | Change in access |
-|-----------------------|----------------------------------------------|
-| Workspace owner | Workspace owner | No changes |
-| Workspace read-only | Workspace read-only teammates will be granted access to the following roles:- Source read-only (all Sources and connected streaming Destinations)
- Warehouse read-only (all warehouses)
- Protocols read-only *
| No change|
-| Source collaborator | Source admin | No longer able to invite other users |
-
-* If product is available in your workspace
-
-The main difference is that we've consolidated all users in the same place, so you will no longer have to manage source collaborators in each source. That also means source collaborators can no longer invite other users.
+## Whats a Workspace?
+{% include content/whats-a-workspace.md %}
diff --git a/segment-app/secure-password.md b/segment-app/secure-password.md
index 999db246a5..93c94cd6bc 100644
--- a/segment-app/secure-password.md
+++ b/segment-app/secure-password.md
@@ -23,6 +23,6 @@ Here are some general password guidelines:
### Has my password been compromised?
-If you see a message that says “This password is known to have been previously compromised in a data breach”, it means that the password you typed has been used before, and was in a database that was compromised and put on the internet. This does **not** mean that Segment has been compromised, or that someone has accessed your Segment account. Check out [Have I Been Pwned](https://haveibeenpwned.com/Passwords) for more information, and choose a different password.
+If you see a message that says "This password is known to have been previously compromised in a data breach", it means that the password you typed has been used before, and was in a database that was compromised and put on the internet. This does **not** mean that Segment has been compromised, or that someone has accessed your Segment account. Check out [Have I Been Pwned](https://haveibeenpwned.com/Passwords) for more information, and choose a different password.

diff --git a/segment-app/sso.md b/segment-app/sso.md
index 50319b79db..91942a40c6 100644
--- a/segment-app/sso.md
+++ b/segment-app/sso.md
@@ -16,7 +16,7 @@ To enable SSO-based login from the Segment login page (app.segment.com/login), y
Segment’s SSO configuration is entirely self-service; we don’t require any back and forth with our team in order to test and enable the feature on your workspace. However, we are here to help! Don’t hesitate to [get in touch](https://segment.com/help/contact/) if you run into any questions or issues.
-To get started, go to your workspace settings and choose the “Connections” tab under “Authentication” and click “Add New Connection.” Follow the steps to create a SAML connection.
+To get started, go to your workspace settings and choose the "Connections" tab under "Authentication" and click "Add New Connection." Follow the steps to create a SAML connection.

@@ -32,7 +32,7 @@ Your provider will ask you for a few things from Segment, which we provide in th
### A few gotchas to look out for:
-* Different IDPs have different nomenclature for the Audience URL. Some call it “Audience URI,” some call it “Entity ID”, some call it “Service Provider Entity ID.” It’s likely there are only two required fields without correct defaults, and they correspond to the SSO URL and Audience URL values above.
+* Different IDPs have different nomenclature for the Audience URL. Some call it "Audience URI," some call it "Entity ID", some call it "Service Provider Entity ID." It’s likely there are only two required fields without correct defaults, and they correspond to the SSO URL and Audience URL values above.
* In all IDPs we’ve worked with, the default NameID option is the correct one. Make sure it’s using the emailAddress schema.
@@ -40,12 +40,12 @@ Your provider will ask you for a few things from Segment, which we provide in th
* Different IDPs store records of your employees differently. The only attribute mapping we require is to make sure you’re sending `email` . In Okta this is at `user.email`. In Duo this is `mail`.
-* Make sure you’ve enabled “send all attributes” (not just NameID) if applicable for your IDP.
+* Make sure you’ve enabled "send all attributes" (not just NameID) if applicable for your IDP.
* No RelayState is required. This is also sometimes called `Target`.
-Once you’ve created the application in your IDP, you can come back to Segment and click “Next”.
+Once you’ve created the application in your IDP, you can come back to Segment and click "Next".
## Configure Segment to Talk to Your IDP.
@@ -53,7 +53,7 @@ Your IDP will provide a URL and x.509 certificate. Copy them into their respecti

-Once you do that, click “Configure Connection.” You’re all set!
+Once you do that, click "Configure Connection." You’re all set!
## Test your connection with IDP-initiated SSO.
@@ -65,27 +65,27 @@ You can now test via IDP-initiated SSO (by clicking login to Segment from within
## Setup — GSuite
-GSuite configuration is incredibly simple with Segment. To get started, go to your workspace settings and choose the “Connections” tab under “Authentication” and click “Add New Connection.” Follow the steps to create a “Google Apps For Work” connection.
+GSuite configuration is incredibly simple with Segment. To get started, go to your workspace settings and choose the "Connections" tab under "Authentication" and click "Add New Connection." Follow the steps to create a "Google Apps For Work" connection.
You simply enter your domain (or, if you’ve verified it already, choose it from the dropdown) and then click the resulting link to authorize the connection.
## Enabling Segment-initiated login
-Segment supports “interruption” on the login page for emails that match your workspace’s domain.
+Segment supports "interruption" on the login page for emails that match your workspace’s domain.

-In order to enable this, you’ll need to verify your domain with Segment. To do that, go to the “Domains” tab under “Authentication” in the workspace settings page.
+In order to enable this, you’ll need to verify your domain with Segment. To do that, go to the "Domains" tab under "Authentication" in the workspace settings page.

-Enter your domain and click “Add Domain.” When you click verify, you’re given two options to verify your domain, either via a meta tag to add to your `/index.html` at the root or a DNS txt record that you can add via your DNS provider. Once you do so and click verify, you’re ready to go!
+Enter your domain and click "Add Domain." When you click verify, you’re given two options to verify your domain, either via a meta tag to add to your `/index.html` at the root or a DNS txt record that you can add via your DNS provider. Once you do so and click verify, you’re ready to go!
## FAQ
**Do you support automatic user provisioning?**
-Segment supports “just in time” user permissioning; new users who authenticate via your IDP are automatically created in Segment as read-only members.
+Segment supports "just in time" user permissioning; new users who authenticate via your IDP are automatically created in Segment as read-only members.
If the user already exists in Segment then we will associate your IDP identity with your existing Segment user account.