Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/_data/nav.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ sections:
section:
- path: "https://segment.com/jobs/"
title: Careers
- path: "https://segment.com/blog/"
- path: "https://twilio.com/blog/"
title: Blog
- path: "https://segment.com/press/"
title: Press
Expand Down
2 changes: 1 addition & 1 deletion src/_includes/content/mobile-cmodes.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Segment defaults to using cloud-based [connection mode](/docs/connections/destinations/#connection-modes) ("cloud-mode") for any destination connected to a mobile source, because this can help [decrease the size of your final app package](https://segment.com/blog/mobile-app-size-effect-on-downloads/). When you use cloud-mode, Segment sends messages to the Segment servers, and then translates and forwards that data on to the downstream tools. This way, you only package the Segment mobile library with your app.
Segment defaults to using cloud-based [connection mode](/docs/connections/destinations/#connection-modes) ("cloud-mode") for any destination connected to a mobile source, because this can help decrease the size of your final app package. When you use cloud-mode, Segment sends messages to the Segment servers, and then translates and forwards that data on to the downstream tools. This way, you only package the Segment mobile library with your app.

However, many destination tools that specifically deal with mobile interactions require that you use a device-based connection mode ("device-mode") so that they can collect information directly on the mobile device. (You can check the full list of destinations and [which connection modes they support](/docs/connections/destinations/cmodes-compare/).)

Expand Down
2 changes: 1 addition & 1 deletion src/connections/destinations/actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ Segment offers suggested mappings that automatically propose relevant destinatio

To use Suggested Mappings, a user with the [Workspace Owner role](/docs/segment-app/iam/roles/) must first accept the Customer AI Terms and Conditions. Ensure that you review the suggested mappings for accuracy before finalizing them as the suggestions are not guaranteed to be 100% accurate.

For more information, see [Segment's Suggested Mappings blogpost](https://segment.com/blog/ai-assisted-magical-mappings/){:target="_blank”} and the [Suggested Mappings Nutrition Label](/docs/connections/reverse-etl/suggested-mappings-nutrition-facts).
For more information, see [Segment's Suggested Mappings blog post](https://www.twilio.com/en-us/blog/developers/best-practices/ai-assisted-magical-mappings){:target="_blank”} and the [Suggested Mappings Nutrition Label](/docs/connections/reverse-etl/suggested-mappings-nutrition-facts).

## Static values
Segment supports 4 static value types in Destination Actions mappings: `string`, `boolean`, `number`, and `null`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ Segment makes it easy to send your data to AWS Lambda (and lots of other destina

With Lambda, you can run code for any type of application or backend service - all with zero administration. Just upload your code and Lambda takes care of everything required to run and scale your code with high availability. You can set up your code to automatically trigger from other AWS services or call it directly from any web or mobile app.

[Read more about AWS Lambda on the Segment blog](https://segment.com/blog/unleashing-the-power-of-raw-data-with-amazon-lambda/){:target="_blank"}.

## Getting started


Expand Down Expand Up @@ -187,7 +185,7 @@ This setting controls the [Log Type](https://docs.aws.amazon.com/lambda/latest/d

**My Lambda <> Segment connection is timing out, what do I do?**

Due to how the event delivery system, [Centrifuge](https://segment.com/blog/introducing-centrifuge/){:target="_blank”}, works, your Lambda can't take more than 5 seconds to run per message. If you're consistently running into timeout issues, you should consult the [AWS Lambda docs](https://docs.aws.amazon.com/lambda/index.html#lang/en_us){:target="_blank”}, as well as docs for your language of choice, for tips on optimizing performance.
Due to how the event delivery system, [Centrifuge](https://www.twilio.com/en-us/blog/archive/2018/introducing-centrifuge){:target="_blank”}, works, your Lambda can't take more than 5 seconds to run per message. If you're consistently running into timeout issues, you should consult the [AWS Lambda docs](https://docs.aws.amazon.com/lambda/index.html#lang/en_us){:target="_blank”}, as well as docs for your language of choice, for tips on optimizing performance.

**Handling Common Errors**
You can find delivery logs in Destination > [Event Delivery](/docs/connections/event-delivery/).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1006,4 +1006,4 @@ This setting controls the [Log Type](https://docs.aws.amazon.com/lambda/latest/d

**My Lambda <> Segment connection is timing out, what do I do?**

Due to how Segment's event delivery system, [Centrifuge](https://segment.com/blog/introducing-centrifuge/){:target="_blank”}, works, your Lambda can't take more than five seconds to run per message. If you're consistently running into timeout issues, you should consult the [AWS Lambda docs](https://docs.aws.amazon.com/lambda/index.html#lang/en_us){:target="_blank”}, as well as docs for your language of choice, for tips on optimizing performance.
Due to how Segment's event delivery system, [Centrifuge](https://www.twilio.com/en-us/blog/archive/2018/introducing-centrifuge){:target="_blank”}, works, your Lambda can't take more than five seconds to run per message. If you're consistently running into timeout issues, you should consult the [AWS Lambda docs](https://docs.aws.amazon.com/lambda/index.html#lang/en_us){:target="_blank”}, as well as docs for your language of choice, for tips on optimizing performance.
2 changes: 1 addition & 1 deletion src/connections/destinations/catalog/amplitude/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -504,7 +504,7 @@ analytics.alias({

### sessionId

[Segment doesn't have a concept for a session](https://segment.com/blog/facts-vs-stories-why-segment-has-no-sessions-api/){:target="_blank"}.
[Segment doesn't have a concept for a session](https://www.twilio.com/en-us/blog/developers/best-practices/facts-vs-stories-why-segment-has-no-sessions-api){:target="_blank"}.

Device-mode calls to Amplitude include session information because Segment bundles Amplitude's SDK. To set up the same `sessionId` for cloud-mode calls to Amplitude, you must explicitly set the [`session_id`](https://developers.amplitude.com/docs/http-api-v2#optional-keyst){:target="_blank"} as an integration-specific option, as in the example below.

Expand Down
6 changes: 3 additions & 3 deletions src/connections/destinations/catalog/kustomer/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ analytics.page('Pricing', {
});
```

Page calls will sent as a `tracking event` to Kustomer on the timeline of the customer who was tracked. If the `kustomer_session_id` is included, it will cluster this tracking event into a single "session" on the customer's timeline. If no `kustomer_session_id` is supplied, we will automatically generate session IDs based on time between tracking events. (Read why Segment doesn't have session tracking [on the Segment blog](https://segment.com/blog/facts-vs-stories-why-segment-has-no-sessions-api/){:target="_blank”}).
Page calls will sent as a `tracking event` to Kustomer on the timeline of the customer who was tracked. If the `kustomer_session_id` is included, it will cluster this tracking event into a single "session" on the customer's timeline. If no `kustomer_session_id` is supplied, we will automatically generate session IDs based on time between tracking events. (Read why Segment doesn't have session tracking [on the Segment blog](https://www.twilio.com/en-us/blog/developers/best-practices/facts-vs-stories-why-segment-has-no-sessions-api){:target="_blank”}).


## Screen
Expand All @@ -44,7 +44,7 @@ If you're not familiar with the Segment Specs, take a look to understand what th
properties:@{ @"kustomer_session_id": @"abc123" }];
```

Screen calls will sent as a `tracking event` to Kustomer on the timeline of the customer who was tracked. If the `kustomer_session_id` is included, it will cluster this tracking event into a single "session" on the customer's timeline. If no `kustomer_session_id` is supplied, we will automatically generate session IDs based on time between tracking events. (Read why Segment doesn't have session tracking [on the Segment blog](https://segment.com/blog/facts-vs-stories-why-segment-has-no-sessions-api/){:target="_blank”}).
Screen calls will sent as a `tracking event` to Kustomer on the timeline of the customer who was tracked. If the `kustomer_session_id` is included, it will cluster this tracking event into a single "session" on the customer's timeline. If no `kustomer_session_id` is supplied, we will automatically generate session IDs based on time between tracking events. (Read why Segment doesn't have session tracking [on the Segment blog](https://www.twilio.com/en-us/blog/developers/best-practices/facts-vs-stories-why-segment-has-no-sessions-api){:target="_blank”}.)

## Identify

Expand Down Expand Up @@ -78,7 +78,7 @@ analytics.track("Registered", {
});
```

Track calls send as a `tracking event` to Kustomer on the timeline of the customer who was tracked. If the `kustomer_session_id` is included, it clusters this tracking event into a single "session" on the customer's timeline. If no `kustomer_session_id` is supplied, Segment automatically generates session IDs based on time between tracking events. See why [Segment doesn't have session tracking](https://segment.com/blog/facts-vs-stories-why-segment-has-no-sessions-api/){:target="_blank”}.
Track calls send as a `tracking event` to Kustomer on the timeline of the customer who was tracked. If the `kustomer_session_id` is included, it clusters this tracking event into a single "session" on the customer's timeline. If no `kustomer_session_id` is supplied, Segment automatically generates session IDs based on time between tracking events. See why [Segment doesn't have session tracking](https://www.twilio.com/en-us/blog/developers/best-practices/facts-vs-stories-why-segment-has-no-sessions-api){:target="_blank”}.


## Engage limitation
Expand Down
2 changes: 1 addition & 1 deletion src/connections/destinations/catalog/richpanel/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ analytics.page('Pricing', {

Page calls are sent as a tracking event to Richpanel on the timeline of the customer who was tracked. If the `richpanel_session_id` is included, it clusters this tracking event into a single “session” on the customer's timeline.

If no `richpanel_session_id` is supplied, Richpanel will automatically generate sessionIDs based on time between tracking events. (Read why [Segment doesn't have session tracking](https://segment.com/blog/facts-vs-stories-why-segment-has-no-sessions-api/){:target="_blank"} for more details). `page` calls can only update `email` traits, not create them.
If no `richpanel_session_id` is supplied, Richpanel will automatically generate sessionIDs based on time between tracking events. (Read why [Segment doesn't have session tracking](https://www.twilio.com/en-us/blog/developers/best-practices/facts-vs-stories-why-segment-has-no-sessions-api){:target="_blank"} for more details). `page` calls can only update `email` traits, not create them.

## Track

Expand Down
2 changes: 1 addition & 1 deletion src/connections/destinations/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ For example, a web-chat destination must be loaded to connect to the service and

#### Mobile source connection modes

By default, destinations configured on a mobile source send their data directly to the Segment servers, then translate it and use Cloud-mode to forward it to destinations. *Cloud-mode* means that Segment sends the data directly from the Segment servers, to their servers. This means you don't need to package third-party SDKs for destinations that can accept cloud-mode data. Some primarily web-based destinations also allow cloud-mode, which can help reduce app size, and improve load time and performance. You can read more about the [effects of mobile app size on downloads in Segment's blog](https://segment.com/blog/mobile-app-size-effect-on-downloads/).
By default, destinations configured on a mobile source send their data directly to the Segment servers, then translate it and use Cloud-mode to forward it to destinations. *Cloud-mode* means that Segment sends the data directly from the Segment servers, to their servers. This means you don't need to package third-party SDKs for destinations that can accept cloud-mode data. Some primarily web-based destinations also allow cloud-mode, which can help reduce app size, and improve load time and performance.

Before you turn on or opt-in for cloud-mode for a mobile source, consider if your destinations have features that require interactions on the device or require device-specific data (see the examples above). For example, if you use cloud-mode for Mixpanel, you'll get your data on reporting and people, but won't be able to use their features for in-app surveys or auto-tracking. These can be really valuable, but might not be a priority for your team.

Expand Down
4 changes: 2 additions & 2 deletions src/connections/reverse-etl/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ Learn more about the system that powers Reverse ETL, supported destinations, and

{% include components/reference-button.html
icon="guides.svg"
href="https://segment.com/blog/reverse-etl/"
title="What is Reverse ETL? A complete guide"
href="https://www.twilio.com/en-us/blog/activate-data-with-api-managed-reverse-etl"
title="Activate Data with API-managed Reverse ETL"
description="In this blog from Segment, learn how Reverse ETL helps businesses activate their data to drive better decision-making and greater operational efficiency."
%}

Expand Down
2 changes: 1 addition & 1 deletion src/connections/reverse-etl/setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ To edit your model:
> info ""
> Suggested mappings is fully available for RETL mappings.

Segment offers suggested mappings that automatically propose relevant destination fields for model columns and payload elements. For example, if your model includes a column or payload field named `transaction_amount`, the feature might suggest mapping it to a destination field like `Amount` or `TransactionValue`. This automation, powered by intelligent autocompletion, matches and identifies near-matching field names to streamline the mappings setup process. For more information, see [Segment's suggested mappings blog post](https://segment.com/blog/ai-assisted-magical-mappings/){:target="_blank”} and the [Suggested Mappings Nutrition Facts Label](/docs/connections/reverse-etl/suggested-mappings-nutrition-facts).
Segment offers suggested mappings that automatically propose relevant destination fields for model columns and payload elements. For example, if your model includes a column or payload field named `transaction_amount`, the feature might suggest mapping it to a destination field like `Amount` or `TransactionValue`. This automation, powered by intelligent autocompletion, matches and identifies near-matching field names to streamline the mappings setup process. For more information, see [Segment's suggested mappings blog post](https://www.twilio.com/en-us/blog/developers/best-practices/ai-assisted-magical-mappings){:target="_blank”} and the [Suggested Mappings Nutrition Facts Label](/docs/connections/reverse-etl/suggested-mappings-nutrition-facts).

> warning ""
> Review the suggested mappings for accuracy before finalizing them, as Segment can't guarantee all of the suggested mappings are accurate.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ With Analytics-Swift, you can send data from iOS, tvOS, iPadOS, WatchOS, macOS a
Analytics-Swift provides several key benefits including improvements in stability, performance, and developer experience when compared to Analytics iOS (Classic).
### Performance

Analytics-Swift offers improved performance when compared to Analytics iOS. For a more detailed overview, you can reference the [blog post](https://segment.com/blog/sdk-performance-improvements/).

Analytics-Swift offers improved performance when compared to Analytics iOS:
- Faster event processing and delivery
- Significantly lower CPU usage
- Small memory & disk usage footprint
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@ Analytics Kotlin uses thread-safety strategies to isolate Plugins, Device-Mode D

### Performance

Analytics Kotlin is a huge leap forward in terms of performance when compared to Analytics Android (Classic). For a more detailed overview, you can reference our [blog post](https://segment.com/blog/sdk-performance-improvements/).

Analytics Kotlin is a leap forward in terms of performance when compared to Analytics Android (Classic):
- Faster event processing and delivery
- Significantly lower CPU usage
- Small memory & disk usage footprint
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -989,7 +989,7 @@ To minimize client-side data loss, Segment provides a few workarounds. However,

- Create a [custom proxy](/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy/). This changes the URL that Segment loads from (cdn.segment.com) and the outgoing requests generated when events are triggered (api.segment.io).

- Consider implementing the [Segment Edge SDK](https://segment.com/blog/twilio-segment-edge-sdk/){:target="_blank”}. The Segment Edge SDK uses Cloudflare Workers to facilitate first-party data collection and real-time user profiling for app personalization. It integrates Segment's library into web apps, manages user identity using HTTPOnly cookies, and employs an internal router for efficient data processing and user experience customization. This innovative approach simplifies tracking and personalization for Segment customers. More information is available in the [Edge SDK README](https://github.com/segmentio/analytics-edge/blob/main/packages/edge-sdk/README.md){:target="_blank”}.
- Consider implementing the Segment Edge SDK. The Segment Edge SDK uses Cloudflare Workers to facilitate first-party data collection and real-time user profiling for app personalization. It integrates Segment's library into web apps, manages user identity using HTTPOnly cookies, and employs an internal router for efficient data processing and user experience customization. This innovative approach simplifies tracking and personalization for Segment customers. More information is available in the [Edge SDK README](https://github.com/segmentio/analytics-edge/blob/main/packages/edge-sdk/README.md){:target="_blank”}.

* Consider using one of Segment’s [server-side libraries](/docs/connections/sources/#server). Using a server-side library eliminates concerns about tracking blockers and privacy browsers that can prevent Segment from loading. This option may require additional code to track actions like a Page call, as you now need to manually pass contextual information that would have been automatically collected by Analytics.js, like `url`, `path`, and `referrer`. Note that some destinations are device-mode only.

Expand Down
4 changes: 2 additions & 2 deletions src/connections/spec/native-mobile-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
title: What is the native mobile spec?
---

The [Native Mobile Spec](https://segment.com/docs/connections/spec/mobile) is a common blueprint for the mobile user lifecycle. The Spec outlines the most important events for mobile apps to be tracking and automatically collects many of these events with the Segment Android and iOS SDKs.
The [Native Mobile Spec](/docs/connections/spec/mobile) is a common blueprint for the mobile user lifecycle. The Spec outlines the most important events for mobile apps to be tracking and automatically collects many of these events with the Segment Android and iOS SDKs.

This article outlines common questions about our Native Mobile Spec. To learn what the benefits are of the feature, check out our [blog](https://segment.com/blog/native-mobile-spec). For technical set up and documentation, see our [spec docs](https://segment.com/docs/connections/spec/mobile).
This article outlines common questions about our Native Mobile Spec. For technical set up and documentation, see Segment's [Mobile Spec docs](/docs/connections/spec/mobile).

### How does the Native Mobile Spec help me?

Expand Down
2 changes: 0 additions & 2 deletions src/connections/storage/data-lakes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ Segment Data Lakes sends Segment data to a cloud data store, AWS S3, in a format
> warning "Segment Data Lakes deletion policies"
> Segment Data Lakes (AWS) does not support Segment's [user deletion and suppression](/docs/privacy/user-deletion-and-suppression/) capabilities, as you retain your data in systems that you manage.

To learn more about Segment Data Lakes, check out the Segment blog post [Introducing Segment Data Lakes](https://segment.com/blog/introducing-segment-data-lakes/){:target="_blank"}.

## How Data Lakes work

Segment supports Data Lakes hosted on Amazon Web Services (AWS). Each cloud provider has a similar system for managing data, but offer different query engines, post-processing systems, and analytics options.
Expand Down
Loading
Loading