From 43c6ef88ee55f9552ce708578f9c9bb6cda403c9 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 15 May 2024 14:22:37 -0400 Subject: [PATCH 01/76] RETL refresh draft 1 --- src/_data/catalog/warehouse.yml | 6 + src/connections/reverse-etl/faq.md | 25 ++ src/connections/reverse-etl/index.md | 337 +----------------- src/connections/reverse-etl/mappings.md | 83 +++++ src/connections/reverse-etl/observability.md | 31 ++ .../reverse-etl/reverse-etl-catalog.md | 29 +- .../azure-setup.md | 2 +- .../bigquery-setup.md | 2 + .../databricks-setup.md | 2 +- .../postgres-setup.md | 2 + .../redshift-setup.md | 2 + .../snowflake-setup.md | 10 +- src/connections/reverse-etl/setup.md | 149 ++++++++ src/connections/reverse-etl/system.md | 53 +++ 14 files changed, 397 insertions(+), 336 deletions(-) create mode 100644 src/connections/reverse-etl/faq.md create mode 100644 src/connections/reverse-etl/mappings.md create mode 100644 src/connections/reverse-etl/observability.md create mode 100644 src/connections/reverse-etl/setup.md create mode 100644 src/connections/reverse-etl/system.md diff --git a/src/_data/catalog/warehouse.yml b/src/_data/catalog/warehouse.yml index dad11ce6d9..cd914735ca 100644 --- a/src/_data/catalog/warehouse.yml +++ b/src/_data/catalog/warehouse.yml @@ -53,6 +53,7 @@ items: url: 'https://cdn.filepicker.io/api/file/EUJvt69Q7qMqCvGrVtiu' categories: - Warehouses + - RETL - display_name: BigQuery slug: bigquery name: catalog/warehouses/bigquery @@ -71,6 +72,7 @@ items: url: 'https://cdn.filepicker.io/api/file/Vk6iFlMvQeynbg30ZEtt' categories: - Warehouses + - RETL - display_name: Databricks slug: databricks name: catalog/warehouses/databricks @@ -89,6 +91,7 @@ items: url: '' categories: - Warehouses + - RETL - display_name: Google Cloud Storage slug: google-cloud-storage name: catalog/warehouses/google-cloud-storage @@ -143,6 +146,7 @@ items: url: '' categories: - Warehouses + - RETL - display_name: Redshift slug: redshift name: catalog/warehouses/redshift @@ -161,6 +165,7 @@ items: url: '' categories: - Warehouses + - RETL - display_name: Segment Data Lakes slug: data-lakes name: catalog/warehouse/data-lakes @@ -197,6 +202,7 @@ items: url: 'https://cdn.filepicker.io/api/file/OBhrGoCRKaSyvAhDX3fw' categories: - Warehouses + - RETL settings: - name: bucket diff --git a/src/connections/reverse-etl/faq.md b/src/connections/reverse-etl/faq.md new file mode 100644 index 0000000000..6e792a4f8c --- /dev/null +++ b/src/connections/reverse-etl/faq.md @@ -0,0 +1,25 @@ +--- +title: Reverse ETL FAQ +beta: false +--- + +## Troubleshooting + +### Why do my sync results show *No records extracted* when I select *Updated records* after I enable the mapping? +It's expected that when you select **Updated records** the records do not change after the first sync. During the first sync, the reverse ETL system calculates a snapshot of all the results and creates records in the `_segment_reverse_etl` schema. All the records are considered as *Added records* instead of *Updated records* at this time. The records can only meet the *Updated records* condition when the underlying values change after the first sync completes. + +### Can I be notified when Reverse ETL syncs fail? +Yes, you can sign up for Reverse ETL sync notifications. + +To receive Reverse ETL sync notifications: +1. Navigate to **Settings > User Preferences**. +2. Select **Reverse ETL** In the **Activity Notifications** section. +3. Enable the toggle for **Reverse ETL Sync Failed**. + +In case of consecutive failures, Segment sends notifications for every sync failure. Segment doesn't send notifications for partial failures. + +## Does Segment use Transport Layer Security (TLS) for the connection between Snowflake and Segment? +Segment uses the [gosnowflake library](https://pkg.go.dev/github.com/snowflakedb/gosnowflake#pkg-variables){:target="_blank"} to connect with Snowflake, which internally uses TLS for the HTTP transport. + +## Can I have multiple queries in the Query Builder? +No. In Reverse ETL, Segment executes queries in a [common table expression](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#with_clause){:target="_blank”}, which can only bind the results from **one single** subquery. If there are multiple semicolons `;` in the query, they'll be treated as several subqueries (even if the second part is only an inline comment) and cause syntax errors. diff --git a/src/connections/reverse-etl/index.md b/src/connections/reverse-etl/index.md index 0ba7ee8cbf..999eb01dac 100644 --- a/src/connections/reverse-etl/index.md +++ b/src/connections/reverse-etl/index.md @@ -5,341 +5,14 @@ redirect_from: - '/reverse-etl/' --- -Reverse ETL (Extract, Transform, Load) extracts data from a data warehouse using a query you provide, and syncs the data to your 3rd party destinations. For example, with Reverse ETL, you can sync records from Snowflake to Mixpanel. Reverse ETL supports event and object data. This includes customer profile data, subscriptions, product tables, shopping cart tables, and more. +Reverse ETL (Extract, Transform, Load) extracts data from a data warehouse using a query you provide and syncs the data to your third party destinations. For example, with Reverse ETL, you can sync records from Snowflake to Mixpanel. Reverse ETL supports event and object data. This includes customer profile data, subscriptions, product tables, shopping cart tables, and more. + +![Reverse ETL overview image](images/RETL_Doc_Illustration.png) ## Example use cases Use Reverse ETL when you want to: * Sync audiences and other data built in the warehouse to Braze, Hubspot, or Salesforce Marketing Cloud for personalized marketing campaigns. * Sync enriched data to Mixpanel for a more complete view of the customer, or enrich Segment Unify with data from the warehouse. -* Send data in the warehouse back into Segment as events that can be activated in all supported destinations, including Twilio Engage and other platforms. +* Send data in the warehouse back into Segment as events that can be activated in all supported destinations, including Twilio Engage. * Pass offline or enriched data to conversion APIs like Facebook, Google Ads, TikTok, or Snapchat. -* Connect Google Sheets to a view in the warehouse for other business teams to have access to up-to-date reports. - -## Getting started -There are four components to Reverse ETL: Sources, Models, Destinations, and Mappings. - -![Reverse ETL overview image](images/RETL_Doc_Illustration.png) - -Follow these 4 steps to set up Reverse ETL and learn what each component is about: -1. [Add a source](#step-1-add-a-source) -2. [Add a model](#step-2-add-a-model) -3. [Add a destination](#step-3-add-a-destination) -4. [Create mappings](#step-4-create-mappings) - -> info "" -> The UI navigation and interface will look different from what's presented in the docs until Reverse ETL rolls out to all users for GA. - -### Step 1: Add a source -A source is where your data originates from. Traditionally in Segment, a [source](/docs/connections/sources/#what-is-a-source) is a website, server library, mobile SDK, or cloud application which can send data into Segment. In Reverse ETL, your data warehouse is the source. - -To add your warehouse as a source: - -> warning "" -> You need to be a user that has both read and write access to the warehouse. - -1. Navigate to **Connections > Sources** and select the **Reverse ETL** tab in the Segment app. -2. Click **+ Add Reverse ETL source**. -3. Select the source you want to add. -4. Follow the corresponding setup guide for your Reverse ETL source. - * [Azure Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/azure-setup/) - * [BigQuery Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup/) - * [Databricks Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup/) - * [Postgres Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup/) - * [Redshift Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup/) - * [Snowflake Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup/) -5. Add the account information for your source. - * For Snowflake users: Learn more about the Snowflake Account ID [here](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html){:target="_blank"}. -5. Click **Test Connection** to test to see if the connection works. -6. Click **Add source** if the test connection is successful. - -After you add your data warehouse as a source, you can [add a model](#step-2-add-a-model) to your source. - -### Step 2: Add a model -Models are SQL queries that define sets of data you want to synchronize to your Reverse ETL destinations. After you add your source, you can add a model. - -To add your first model: -1. Navigate to **Connections > Sources** and select the **Reverse ETL** tab. Select your source and click **Add Model**. -2. Click **SQL Editor** as your modeling method. (Segment will add more modeling methods in the future.) -3. Enter the SQL query that’ll define your model. Your model is used to map data to your Reverse ETL destinations. -4. Choose a column to use as the unique identifier for each record in the **Unique Identifier column** field. - * The Unique Identifier should be a column with unique values per record to ensure checkpointing works as expected. It can potentially be a primary key. This column is used to detect new, updated, and deleted records. -5. Click **Preview** to see a preview of the results of your SQL query. The data from the preview is extracted from the first 10 records of your warehouse. - * Segment caches preview queries and result sets in the UI, and stores the preview cache at the source level. If you make two queries for the same source, Segment returns identical preview results. However, during the next synchronization, the latest data will be sent to the connected destinations. -6. Click **Next**. -7. Enter your **Model Name**. -8. Click **Create Model**. - -To add multiple models to your source, repeat steps 1-8 above. - -### Step 3: Add a destination -Once you’ve added a model, you need to add a destination. In Reverse ETL, destinations are the business tools or apps you use that Segment syncs the data from your warehouse to. - -If your destination is not listed in the Reverse ETL catalog, use the [Segment Connections Destination](#segment-connections-destination) to send data from your Reverse ETL warehouse to your destination. - -> info "" -> Depending on the destination, you may need to know certain endpoints and have specific credentials to configure the destination. - -To add your first destination: -1. Navigate to **Connections > Destinations** and select the **Reverse ETL** tab. -2. Click **Add Reverse ETL destination**. -3. Select the destination you want to connect to and click **Configure**. -4. Select the Reverse ETL source you want to connect the destination to. -5. Enter the **Destination name** and click **Create Destination**. -6. Enter the required information on the **Settings** tab of the destination. -7. Navigate to the destination settings tab and enable the destination. If the destination is disabled, then Segment won't be able to start sync. - -### Step 4: Create mappings -After you’ve added a destination, you can create mappings from your warehouse to the destination. Mappings enable you to map the data you extract from your warehouse to the fields in your destination. - -To create a mapping: -1. Navigate to **Conections > Destinations** and select the **Reverse ETL** tab. -2. Select the destination that you want to create a mapping for. -3. Click **Add Mapping**. -4. Select the model to sync from. -5. Select the **Action** you want to sync and click **Next**. - * Actions determine the information sent to the destination. The list of Actions will be unique to each destination. -6. Add the mapping's name. The initial name will default to the Action's name (e.g. 'Track Event') but is completely customizable. It will allow you to identify the mapping amongst others. -7. In the **Select record to map and send** section, select which records to send to your destination after Segment completes extracting data based on your model. You can choose from: - * Added records - * Updated records - * Added or updated records - * Deleted records -8. Select a test record to preview the fields that you can map to your destination in the **Add test record** field. -9. Select the Schedule type for the times you want the model’s data to be extracted from your warehouse. You can choose from: - * **Interval**: Extractions perform based on a selected time cycle. - * **Day and time**: Extractions perform at specific times on selected days of the week. -10. Select how often you want the schedule to sync in **Schedule configuration**. - * For an **Interval** schedule type, you can choose from: 15 minutes, 30 minutes, 1 hour, 2 hours, 4 hours, 6 hours, 8 hours, 12 hours, 1 day. - * 15 minutes is considered real-time for warehouse syncs - * For a **Day and time** schedule type, you can choose the day(s) you’d like the schedule to sync as well as the time. - * You can only choose to start the extraction at the top of the hour. - * Scheduling multiple extractions to start at the same time inside the same data warehouse causes extraction errors. -11. Define how to map the record columns from your model to your destination in the **Select Mappings** section. - * You map the fields that come from your source, to fields that the destination expects to find. Fields on the destination side depend on the type of action selected. - * If you're setting up a destination action, depending on the destination, some mapping fields may require data to be in the form of an object or array. See the [supported objects and arrays for mapping](#supported-object-and-arrays). -12. *(Optional)* Send a test record to verify the mappings correctly send to your destination. -13. Click **Create Mapping**. -14. Select the destination you’d like to enable on the **My Destinations** page under **Reverse ETL > Destinations**. -15. Turn the toggle on for the **Mapping Status**. Events that match the trigger condition in the mapping will be sent to the destination. - * If you disable the mapping state to the destination, events that match the trigger condition in the mapping won’t be sent to the destination. - -To add multiple mappings from your warehouse to your destination, repeat steps 1-13 above. - -## Using Reverse ETL -After you've followed [all four steps](/docs/connections/reverse-etl/#getting-started) and set up your source, model, destination, and mappings for Reverse ETL, your data will extract and sync to your destination(s) right away if you chose an interval schedule. If you set your data to extract at a specific day and time, the extraction will take place then. - -### Managing syncs - -#### Sync history and observability -Check the status of your data extractions and see details of your syncs. Click into failed records to view additional details on the error, sample payloads to help you debug the issue, and recommended actions. - -To check the status of your extractions: -1. Navigate to **Connections > Destinations** and select the **Reverse ETL** tab. -2. Select the destination you want to view. -3. Select the mapping you want to view. -4. Click the sync you want to view to get details of the sync. You can view: - * The status of the sync. - * Details of how long it took for the sync to complete. - * How many total records were extracted, as well as a breakdown of the number of records added, updated, and deleted. - * The load results - how many successful records were synced as well as how many records were updated, deleted, or are new. -5. If your sync failed, click the failed reason to get more details on the error and view sample payloads to help troubleshoot the issue. - -#### Reset syncs -You can reset your syncs so that your data is synced from the beginning. This means that Segment resyncs your entire dataset for the model. - -To reset a sync: -1. Select the three dots next to **Sync now**. -2. Select **Reset sync**. -3. Select the checkbox that you understand what happens when a sync is reset. -4. Click **Reset sync**. - -#### Replays -You can choose to replay syncs. To replay a specific sync, contact [friends@segment.com](mailto:friends@segment.com). Keep in mind that triggering a replay resyncs all records for a given sync. - -#### Email alerts -You can opt in to receive email alerts regarding notifications for Reverse ETL. - -To subscribe to email alerts: -1. Navigate to **Settings > User Preferences**. -2. Select **Reverse ETL** in the **Activity Notifications** section. -3. Click the toggle on for the notifications you want to receive. You can choose from: - - Notification | Details - ------ | ------- - Reverse ETL Sync Failed | Set toggle on to receive notification when your Reverse ETL sync fails. - Reverse ETL Sync Partial Success | Set toggle on to receive notification when your Reverse ETL sync is partially successful. - -### Edit your model - -To edit your model: -1. Navigate to **Connections > Destinations** and select the **Reverse ETL** tab. -2. Select the source and the model you want to edit. -3. On the overview tab, click **Edit** to edit your query. -4. Click the **Settings** tab to edit the model name or change the schedule settings. - -### Edit your mapping - -To edit your mapping: -1. Navigate to **Connections > Destinations** and select the **Reverse ETL** tab. -2. Select the destination and the mapping you want to edit. -3. Select the **...** three dots and click **Edit mapping**. If you want to delete your mapping, select **Delete**. - -## Reverse ETL for Engage Premier Subscriptions -[Engage Premier Subscriptions users](/docs/engage/user-subscriptions/) can use Reverse ETL to sync subscription data from warehouses to destinations. - -To get started with using Reverse ETL for subscriptions: -1. Navigate to **Engage > Audiences** and select the **Profile explorer** tab. -2. Click **Manage subscription statuses** and select **Update subscription statuses**. -3. Select **Sync with RETL** as the menthod to update your subscription statuses. -4. Click **Configure**. -5. In the Reverse ETL catalog, select the Reverse ETL source you want to use. -6. Set up the source. Refer to the [add a source](#step-1-add-a-source) section for more details on how to set up the source. -7. Add the **Segment Profiles** destination as your Reverse ETL destination. Refer to [add a destination](#step-3-add-a-destination) for more details to set up the destination. -8. Once your destination is set, go to the **Mappings** tab of your destination and click **Add Mapping**. -9. Select the model you want to use and then select **Send Subscriptions**. -10. Click **Create Mapping**. -11. Follow the steps in the [create mappings](#step-4-create-mappings) section to set your mappings. - - -## Record diffing -Reverse ETL computes the incremental changes to your data directly within your data warehouse. The Unique Identifier column is used to detect the data changes, such as new, updated, and deleted records. - -> info "Delete Records Payload" -> The only value passed for deleted records is its unique ID which can be accessed as `__segment_id`. - -In order for Segment to compute the data changes within your warehouse, Segment needs to have both read and write permissions to the warehouse schema table. At a high level, the extract process requires read permissions for the query being executed. Segment keeps track of changes to the query results through tables that Segment manages in a dedicated schema (for example, `_segment_reverse_etl`), which requires some write permissions. - -> warning "" -> There may be cost implications to having Segment query your warehouse tables. - -## Segment Connections destination -If you don’t see your destination listed in the Reverse ETL catalog, use the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/) to send data from your Reverse ETL warehouse to other destinations listed in the [catalog](/docs/connections/destinations/catalog/). - -The Segment Connections destination enables you to mold data extracted from your warehouse in [Segment Spec](/docs/connections/spec/) API calls that are then processed by [Segment’s HTTP Tracking API](/docs/connections/sources/catalog/libraries/server/http-api/). The requests hit Segment’s servers, and then Segment routes your data to any destination you want. Get started with the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/). - -> warning "" -> The Segment Connections destination sends data to Segment’s Tracking API, which has cost implications. New users count as new MTUs and each call counts as an API call. For information on how Segment calculates MTUs and API calls, please see [MTUs, Throughput and Billing](/docs/guides/usage-and-billing/mtus-and-throughput/). - -## Supported object and arrays - -When you set up destination actions in Reverse ETL, depending on the destination, some [mapping fields](#step-4-create-mappings) may require data to be in the form of an [object](#object-mapping) or [array](#array-mapping). - -### Object mapping -You can send data to a mapping field that requires object data. An example of object mapping is an `Order completed` model with a `Products` column that’s in object format. - -Example: - - { - "product": { - "id": 0001, - "color": "pink", - "name": "tshirt", - "revenue": 20, - "inventory": 500 - } - } - -To send data to a mapping field that requires object data, you can choose between these two options: - -Option | Details ------- | -------- -Customize object | This enables you to manually set up the mapping fields with any data from the model. If the model contains some object data, you can select properties within the object to set up the mappings as well. -Select object | This enables you to send all nested properties within an object. The model needs to provide data in the format of the object. - -> success "" -> Certain object mapping fields have a fixed list of properties they can accept. If the names of the nested properties in your object don't match with the destination properties, the data won't send. Segment recommends you to use **Customize Object** to ensure your mapping is successful. - - -### Array mapping -To send data to a mapping field that requires array data, the model must provide data in the format of an array of objects. An example is an `Order completed` model with a `Product purchased` column that’s in an array format. - -Example: - - - [ - { - "currency": "USD", - "price": 40, - "productName": "jacket", - "purchaseTime": "2021-12-17 23:43:47.102", - "quantity": 1 - }, - { - "currency": "USD", - "price": 5, - "productName": "socks", - "quantity": 2 - } - ] - - -To send data to a mapping field that requires array data, you can choose between these two options: - -Option | Details ------- | -------- -Customize array | This enables you to select the specific nested properties to send to the destination. -Select array | This enables you to send all nested properties within the array. - -> success "" -> Certain array mapping fields have a fixed list of properties they can accept. If the names of the nested properties in your array don't match the destination properties, the data won't send. Segment recommends you to use the **Customize array** option to ensure your mapping is successful. - -Objects in an array don't need to have the same properties. If a user selects a missing property in the input object for a mapping field, the output object will miss the property. - -## Limits -To provide consistent performance and reliability at scale, Segment enforces default use and rate limits for Reverse ETL. - -### Usage limits -Reverse ETL usage limits are measured based on the number of records processed to each destination – this includes both successful and failed records. For example, if you processed 50k records to Braze and 50k records to Mixpanel, then your total Reverse ETL usage is 100k records. - -Processed records represents the number of records Segment attempts to send to each destination. Keep in mind that not all processed records are successfully delivered, for example, such as when the destination experiences an issue. - -Your plan determines how many Reverse ETL records you can process in one monthly billing cycle. When your limit is reached before the end of your billing period, your syncs will pause and then resume on your next billing cycle. To see how many records you’ve processed using Reverse ETL, navigate to **Settings > Usage & billing** and select the **Reverse ETL** tab. - -Plan | Number of Reverse ETL records you can process to destinations per month | How to increase your number of Reverse ETL records ----- | --------------------------------------------------------------------------- | --------------------------------------------------- -Free | 500K | Upgrade to the Teams plan in the Segment app by navigating to **Settings > Usage & billing**. -Teams | 1 million | Contact your sales representative to upgrade your plan to Business. -Business | 50 x the number of [MTUs](/docs/guides/usage-and-billing/mtus-and-throughput/#what-is-an-mtu)
or .25 x the number of monthly API calls | Contact your sales rep to upgrade your plan. - -If you have a non-standard or high volume usage plan, you may have unique Reverse ETL limits or custom pricing. - -### Configuration limits - -Name | Details | Limit ---------- | ------- | ------ -Model query length | The maximum length for the model SQL query. | 131,072 characters -Model identifier column name length | The maximum length for the ID column name. | 191 characters -Model timestamp column name length | The maximum length for the timestamp column name. | 191 characters -Sync frequency | The shortest possible duration Segment allows between syncs. | 15 minutes - -### Extract limits -The extract phase is the time spent connecting to your database, executing the model query, updating internal state tables and staging the extracted records for loading. - -Name | Details | Limit ------ | ------- | ------ -Record count | The maximum number of records a single sync will process. Note: This is the number of records extracted from the warehouse not the limit for the number of records loaded to the destination (for example, new/update/deleted). | 30 million records -Column count | The maximum number of columns a single sync will process. | 512 columns -Column name length | The maximum length of a record column. | 128 characters -Record JSON size | The maximum size for a record when converted to JSON (some of this limit is used by Segment). | 512 KiB -Column JSON size | The maximum size of any single column value. | 128 KiB - -## FAQs - -#### Why do my sync results show *No records extracted* when I select *Updated records* after I enable the mapping? -It's expected that when you select **Updated records** the records do not change after the first sync. During the first sync, the reverse ETL system calculates a snapshot of all the results and creates records in the `_segment_reverse_etl` schema. All the records are considered as *Added records* instead of *Updated records* at this time. The records can only meet the *Updated records* condition when the underlying values change after the first sync completes. - -#### Does Segment use Transport Layer Security (TLS) for the connection between Snowflake and Segment? -Segment uses the [gosnowflake library](https://pkg.go.dev/github.com/snowflakedb/gosnowflake#pkg-variables){:target="_blank"} to connect with Snowflake, which internally uses TLS for the HTTP transport. - -#### Can I be notified when Reverse ETL syncs fail? -Yes, you can sign up for Reverse ETL sync notifications. - -To receive Reverse ETL sync notifications: -1. Navigate to **Settings > User Preferences**. -2. Select **Reverse ETL** In the **Activity Notifications** section. -3. Enable the toggle for **Reverse ETL Sync Failed**. - -In case of consecutive failures, Segment sends notifications for every sync failure. Segment doesn't send notifications for partial failures. - -#### Can I have multiple queries in the Query Builder? -No. In Reverse ETL, Segment executes queries in a [common table expression](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#with_clause){:target="_blank”}, which can only bind the results from **one single** subquery. If there are multiple semicolons `;` in the query, they'll be treated as several subqueries (even if the second part is only an inline comment) and cause syntax errors. +* Connect Google Sheets to a view in the warehouse for other business teams to have access to up-to-date reports. \ No newline at end of file diff --git a/src/connections/reverse-etl/mappings.md b/src/connections/reverse-etl/mappings.md new file mode 100644 index 0000000000..05c4d96867 --- /dev/null +++ b/src/connections/reverse-etl/mappings.md @@ -0,0 +1,83 @@ +--- +title: Reverse ETL Mappings +beta: false +--- + +### Managing syncs + +### Supported object and arrays + +When you set up destination actions in Reverse ETL, depending on the destination, some [mapping fields](#step-4-create-mappings) may require data to be in the form of an [object](#object-mapping) or [array](#array-mapping). + +### Object mapping +You can send data to a mapping field that requires object data. An example of object mapping is an `Order completed` model with a `Products` column that’s in object format. + +Example: + + { + "product": { + "id": 0001, + "color": "pink", + "name": "tshirt", + "revenue": 20, + "inventory": 500 + } + } + +To send data to a mapping field that requires object data, you can choose between these two options: + +Option | Details +------ | -------- +Customize object | This enables you to manually set up the mapping fields with any data from the model. If the model contains some object data, you can select properties within the object to set up the mappings as well. +Select object | This enables you to send all nested properties within an object. The model needs to provide data in the format of the object. + +> success "" +> Certain object mapping fields have a fixed list of properties they can accept. If the names of the nested properties in your object don't match with the destination properties, the data won't send. Segment recommends you to use **Customize Object** to ensure your mapping is successful. + + +### Array mapping +To send data to a mapping field that requires array data, the model must provide data in the format of an array of objects. An example is an `Order completed` model with a `Product purchased` column that’s in an array format. + +Example: + + + [ + { + "currency": "USD", + "price": 40, + "productName": "jacket", + "purchaseTime": "2021-12-17 23:43:47.102", + "quantity": 1 + }, + { + "currency": "USD", + "price": 5, + "productName": "socks", + "quantity": 2 + } + ] + + +To send data to a mapping field that requires array data, you can choose between these two options: + +Option | Details +------ | -------- +Customize array | This enables you to select the specific nested properties to send to the destination. +Select array | This enables you to send all nested properties within the array. + +> success "" +> Certain array mapping fields have a fixed list of properties they can accept. If the names of the nested properties in your array don't match the destination properties, the data won't send. Segment recommends you to use the **Customize array** option to ensure your mapping is successful. + +Objects in an array don't need to have the same properties. If a user selects a missing property in the input object for a mapping field, the output object will miss the property. + +#### Reset syncs +You can reset your syncs so that your data is synced from the beginning. This means that Segment resyncs your entire dataset for the model. + +To reset a sync: +1. Select the three dots next to **Sync now**. +2. Select **Reset sync**. +3. Select the checkbox that you understand what happens when a sync is reset. +4. Click **Reset sync**. + +#### Replays +You can choose to replay syncs. To replay a specific sync, contact [friends@segment.com](mailto:friends@segment.com). Keep in mind that triggering a replay resyncs all records for a given sync. \ No newline at end of file diff --git a/src/connections/reverse-etl/observability.md b/src/connections/reverse-etl/observability.md new file mode 100644 index 0000000000..ca40a33008 --- /dev/null +++ b/src/connections/reverse-etl/observability.md @@ -0,0 +1,31 @@ +--- +title: Reverse ETL Observability +beta: false +--- + +## Sync history +Check the status of your data extractions and see details of your syncs. Click into failed records to view additional details on the error, sample payloads to help you debug the issue, and recommended actions. + +To check the status of your extractions: +1. Navigate to **Connections > Destinations** and select the **Reverse ETL** tab. +2. Select the destination you want to view. +3. Select the mapping you want to view. +4. Click the sync you want to view to get details of the sync. You can view: + * The status of the sync. + * Details of how long it took for the sync to complete. + * How many total records were extracted, as well as a breakdown of the number of records added, updated, and deleted. + * The load results - how many successful records were synced as well as how many records were updated, deleted, or are new. +5. If your sync failed, click the failed reason to get more details on the error and view sample payloads to help troubleshoot the issue. + +## Email alerts +You can opt in to receive email alerts regarding notifications for Reverse ETL. + +To subscribe to email alerts: +1. Navigate to **Settings > User Preferences**. +2. Select **Reverse ETL** in the **Activity Notifications** section. +3. Click the toggle on for the notifications you want to receive. You can choose from: + + Notification | Details + ------ | ------- + Reverse ETL Sync Failed | Set toggle on to receive notification when your Reverse ETL sync fails. + Reverse ETL Sync Partial Success | Set toggle on to receive notification when your Reverse ETL sync is partially successful. \ No newline at end of file diff --git a/src/connections/reverse-etl/reverse-etl-catalog.md b/src/connections/reverse-etl/reverse-etl-catalog.md index 2e21d0c5d7..3ed9cbc724 100644 --- a/src/connections/reverse-etl/reverse-etl-catalog.md +++ b/src/connections/reverse-etl/reverse-etl-catalog.md @@ -1,8 +1,10 @@ --- title: Reverse ETL Catalog -hidden: true +beta: false --- +Reverse ETL supports the entire Segment destination catalog - 30+ Actions destinations are natively supported, Segment Classic destinations are supported through the [Segment Connections](#segment-connections-destination) destination, and Twilio Engage Premier Subscriptions users can use the Segment Profiles destination to sync subscription data from warehouses to destinations. + These destinations support [Reverse ETL](/docs/connections/reverse-etl/). If you don’t see your destination listed in the Reverse ETL catalog, use the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/) to send data from your Reverse ETL warehouse to other destinations listed in the [catalog](/docs/connections/destinations/catalog/).
@@ -38,3 +40,28 @@ These destinations support [Reverse ETL](/docs/connections/reverse-etl/). If you
+## Segment Connections destination +If you don’t see your destination listed in the Reverse ETL catalog, use the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/) to send data from your Reverse ETL warehouse to other destinations listed in the [catalog](/docs/connections/destinations/catalog/). + +The Segment Connections destination enables you to mold data extracted from your warehouse in [Segment Spec](/docs/connections/spec/) API calls that are then processed by [Segment’s HTTP Tracking API](/docs/connections/sources/catalog/libraries/server/http-api/). The requests hit Segment’s servers, and then Segment routes your data to any destination you want. Get started with the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/). + +> warning "" +> The Segment Connections destination sends data to Segment’s Tracking API, which has cost implications. New users count as new MTUs and each call counts as an API call. For information on how Segment calculates MTUs and API calls, please see [MTUs, Throughput and Billing](/docs/guides/usage-and-billing/mtus-and-throughput/). + +## Send data to Engage with Segment Profiles +Engage Premier Subscriptions users can use Reverse ETL to sync subscription data from warehouses to destinations. + +To get started with using Reverse ETL for subscriptions: +1. Navigate to Engage > Audiences and select the Profile explorer tab. +2. Click Manage subscription statuses and select Update subscription statuses. +3. Select Sync with RETL as the method to update your subscription statuses. +4. Click Configure. +5. In the Reverse ETL catalog, select the Reverse ETL source you want to use. +6. Set up the source. Refer to the add a source section for more details on how to set up the source. +7. Add the Segment Profiles destination as your Reverse ETL destination. Refer to add a destination for more details to set up the destination. +8. Once your destination is set, go to the Mappings tab of your destination and click Add Mapping. +9. Select the model you want to use and then select Send Subscriptions. +10. Click Create Mapping. +11. Follow the steps in the Create Mappings section to set your mappings. + + \ No newline at end of file diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/azure-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/azure-setup.md index 73e4aceeb4..750a193405 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/azure-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/azure-setup.md @@ -72,5 +72,5 @@ To set up Azure as your Reverse ETL source: 9. Click **Test Connection** to see if the connection works. If the connection fails, make sure you have the right permissions and credentials, then try again. 10. Click **Add source** if the test connection is successful. -After you've successfully added your Azure source, [add a model](/docs/connections/reverse-etl/#step-2-add-a-model) and follow the rest of the steps in the Reverse ETL setup guide. +After you've successfully added your Azure source, [add a model](/docs/connections/reverse-etl/setup/#step-2-add-a-model) and follow the rest of the steps in the Reverse ETL setup guide. diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup.md index e557bf6740..294c289a16 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup.md @@ -48,3 +48,5 @@ Permission | Details `bigquery.jobs.create` | This allows Segment to execute queries on any datasets or tables your model query references, and also allows Segment to manage tables used for tracking. The `bigquery.datasets.*` permissions can be scoped only to the `__segment_reverse_etl` dataset. + +After you've successfully added your BigQuery source, [add a model](/docs/connections/reverse-etl/setup/#step-2-add-a-model) and follow the rest of the steps in the Reverse ETL setup guide. \ No newline at end of file diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md index 58a927f49c..c53fea5342 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md @@ -60,4 +60,4 @@ To set up Databricks as your Reverse ETL source: > Segment previously supported token-based authentication, but now uses OAuth (M2M) authentication at the recommendation of Databricks. > If you previously set up your source using token-based authentication, Segment will continue to support it. If you want to create a new source or update the connection settings of an existing source, Segment only supports [OAuth machine-to-machine (M2M) authentication](https://docs.databricks.com/en/dev-tools/auth/oauth-m2m.html){:target="_blank"}. -Once you've succesfully added your Databricks source, [add a model](/docs/connections/reverse-etl/#step-2-add-a-model) and follow the rest of the steps in the Reverse ETL setup guide. +Once you've successfully added your Databricks source, [add a model](/docs/connections/reverse-etl/setup/#step-2-add-a-model) and follow the rest of the steps in the Reverse ETL setup guide. diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md index 9a06ce4383..9f2a229fed 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md @@ -36,3 +36,5 @@ To set up Postgres with Reverse ETL: * Give the `segment` user read permissions for any resources (databases, schemas, tables) the query needs to access. * Give the `segment` user write permissions for the Segment managed schema (`__SEGMENT_REVERSE_ETL`), which keeps track of changes to the query results. + +After you've successfully added your Postgres source, [add a model](/docs/connections/reverse-etl/setup/#step-2-add-a-model) and follow the rest of the steps in the Reverse ETL setup guide. \ No newline at end of file diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md index 527d347286..8214ed0be2 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md @@ -32,3 +32,5 @@ If you are able to run the query in the Query Builder, but the sync fails with t ```ts SELECT id FROM . ``` + +After you've successfully added your Redshift source, [add a model](/docs/connections/reverse-etl/setup/#step-2-add-a-model) and follow the rest of the steps in the Reverse ETL setup guide. \ No newline at end of file diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md index 52d7d12042..5fb8203af4 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md @@ -59,4 +59,12 @@ Follow the instructions below to set up the Segment Snowflake connector. Segment -- role access GRANT ROLE segment_reverse_etl TO USER segment_reverse_etl_user; ``` -7. Follow the steps listed in the [Add a Source](/docs/connections/reverse-etl#step-1-add-a-source) section to finish adding Snowflake as a source. +7. Add the account information for your source. +5. Click **Test Connection** to test to see if the connection works. +6. Click **Add source** if the test connection is successful. + + + +Learn more about the Snowflake Account ID [here](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html){:target="_blank"}. + +After you've successfully added your Snowflake source, [add a model](/docs/connections/reverse-etl/setup/#step-2-add-a-model) and follow the rest of the steps in the Reverse ETL setup guide. \ No newline at end of file diff --git a/src/connections/reverse-etl/setup.md b/src/connections/reverse-etl/setup.md new file mode 100644 index 0000000000..db5d8fc9c0 --- /dev/null +++ b/src/connections/reverse-etl/setup.md @@ -0,0 +1,149 @@ +--- +title: Set up Reverse ETL +beta: false +--- + +There are four components to Reverse ETL: Sources, Models, Destinations, and Mappings. + +![Reverse ETL overview image](images/RETL_Doc_Illustration.png) + +Follow these 4 steps to set up Reverse ETL: +1. [Add a source](#step-1-add-a-source) +2. [Add a model](#step-2-add-a-model) +3. [Add a destination](#step-3-add-a-destination) +4. [Create mappings](#step-4-create-mappings) + +## Step 1: Add a source +A source is where your data originates from. Traditionally in Segment, a [source](/docs/connections/sources/#what-is-a-source) is a website, server library, mobile SDK, or cloud application which can send data into Segment. In Reverse ETL, your data warehouse is the source. + +> warning "" +> You need to be a user that has both read and write access to the warehouse. + +To add your warehouse as a source: + +1. Navigate to **Connections > Sources** and select the **Reverse ETL** tab in the Segment app. +2. Click **+ Add Reverse ETL source**. +3. Select the source you want to add. +4. Follow the corresponding setup guide for your Reverse ETL source. + +
+
+
+ {% assign warehouses = site.data.catalog.warehouse.items | sort: "display_name" %} + {% for warehouse in warehouses %} + {% if warehouse.categories contains "RETL" %} + + {% endif %} + {% endfor %} +
+
+
+ + +After you add your data warehouse as a source, you can [add a model](#step-2-add-a-model) to your source. + +## Step 2: Add a model +Models are SQL queries that define sets of data you want to synchronize to your Reverse ETL destinations. After you add your source, you can add a model. + +To add your first model: +1. Navigate to **Connections > Sources** and select the **Reverse ETL** tab. Select your source and click **Add Model**. +2. Click **SQL Editor** as your modeling method. (Segment will add more modeling methods in the future.) +3. Enter the SQL query that’ll define your model. Your model is used to map data to your Reverse ETL destinations. +4. Choose a column to use as the unique identifier for each record in the **Unique Identifier column** field. + * The Unique Identifier should be a column with unique values per record to ensure checkpointing works as expected. It can potentially be a primary key. This column is used to detect new, updated, and deleted records. +5. Click **Preview** to see a preview of the results of your SQL query. The data from the preview is extracted from the first 10 records of your warehouse. + * Segment caches preview queries and result sets in the UI, and stores the preview cache at the source level. If you make two queries for the same source, Segment returns identical preview results. However, during the next synchronization, the latest data will be sent to the connected destinations. +6. Click **Next**. +7. Enter your **Model Name**. +8. Click **Create Model**. + +To add multiple models to your source, repeat steps 1-8 above. + +### Edit your model + +To edit your model: +1. Navigate to **Connections > Destinations** and select the **Reverse ETL** tab. +2. Select the source and the model you want to edit. +3. On the overview tab, click **Edit** to edit your query. +4. Click the **Settings** tab to edit the model name or change the schedule settings. + +## Step 3: Add a destination +Once you’ve added a model, you need to add a destination. In Reverse ETL, destinations are the business tools or apps you use that Segment syncs the data from your warehouse to. + +Reverse ETL supports 30+ destinations: see all destinations listed in the [Reverse ETL catalog](/docs/connections/reverse-etl/reverse-etl-catalog/). If the destination you want to send data to is not listed in the Reverse ETL catalog, use the [Segment Connections Destination](#segment-connections-destination) to send data from your Reverse ETL warehouse to your destination. + +Engage users can use the [Segment Profiles Destination](/docs/connections/destinations/catalog/actions-segment-profiles/) to send data from their warehouse to their Reverse ETL destinations. + +> info "Separate endpoints and credentials required to set up third party destinations" +> Before you begin setting up your destinations, note that you might be required to have credentials for and + +To add your first destination: +1. Navigate to **Connections > Destinations** and select the **Reverse ETL** tab. +2. Click **Add Reverse ETL destination**. +3. Select the destination you want to connect to and click **Configure**. +4. Select the Reverse ETL source you want to connect the destination to. +5. Enter the **Destination name** and click **Create Destination**. +6. Enter the required information on the **Settings** tab of the destination. +7. Navigate to the destination settings tab and enable the destination. If the destination is disabled, then Segment won't be able to start sync. + +## Step 4: Create mappings +After you’ve added a destination, you can create mappings from your warehouse to the destination. Mappings enable you to map the data you extract from your warehouse to the fields in your destination. + +To create a mapping: +1. Navigate to **Connections > Destinations** and select the **Reverse ETL** tab. +2. Select the destination that you want to create a mapping for. +3. Click **Add Mapping**. +4. Select the model to sync from. +5. Select the **Action** you want to sync and click **Next**. + * Actions determine the information sent to the destination. The list of Actions will be unique to each destination. +6. Add the mapping's name. The initial name will default to the Action's name (for example, 'Track Event') but is completely customizable. It will allow you to identify the mapping amongst others. +7. In the **Select record to map and send** section, select which records to send to your destination after Segment completes extracting data based on your model. You can choose from: + * Added records + * Updated records + * Added or updated records + * Deleted records +8. Select a test record to preview the fields that you can map to your destination in the **Add test record** field. +9. Select the Schedule type for the times you want the model’s data to be extracted from your warehouse. You can choose from: + * **Interval**: Extractions perform based on a selected time cycle. + * **Day and time**: Extractions perform at specific times on selected days of the week. +10. Select how often you want the schedule to sync in **Schedule configuration**. + * For an **Interval** schedule type, you can choose from: 15 minutes, 30 minutes, 1 hour, 2 hours, 4 hours, 6 hours, 8 hours, 12 hours, 1 day. + * 15 minutes is considered real-time for warehouse syncs + * For a **Day and time** schedule type, you can choose the day(s) you’d like the schedule to sync as well as the time. + * You can only choose to start the extraction at the top of the hour. + * Scheduling multiple extractions to start at the same time inside the same data warehouse causes extraction errors. +11. Define how to map the record columns from your model to your destination in the **Select Mappings** section. + * You map the fields that come from your source, to fields that the destination expects to find. Fields on the destination side depend on the type of action selected. + * If you're setting up a destination action, depending on the destination, some mapping fields may require data to be in the form of an object or array. See the [supported objects and arrays for mapping](#supported-object-and-arrays). +12. *(Optional)* Send a test record to verify the mappings correctly send to your destination. +13. Click **Create Mapping**. +14. Select the destination you’d like to enable on the **My Destinations** page under **Reverse ETL > Destinations**. +15. Turn the toggle on for the **Mapping Status**. Events that match the trigger condition in the mapping will be sent to the destination. + * If you disable the mapping state to the destination, events that match the trigger condition in the mapping won’t be sent to the destination. + +To add multiple mappings from your warehouse to your destination, repeat steps 1-13 above. + +### Edit your mapping + +To edit your mapping: +1. Navigate to **Connections > Destinations** and select the **Reverse ETL** tab. +2. Select the destination and the mapping you want to edit. +3. Select the **...** three dots and click **Edit mapping**. If you want to delete your mapping, select **Delete**. + +## Using Reverse ETL +After you've set up your source, model, destination, and mappings for Reverse ETL, your data will extract and sync to your destination(s) right away if you chose an interval schedule. If you set your data to extract at a specific day and time, the extraction will take place then. \ No newline at end of file diff --git a/src/connections/reverse-etl/system.md b/src/connections/reverse-etl/system.md new file mode 100644 index 0000000000..999ea4acb2 --- /dev/null +++ b/src/connections/reverse-etl/system.md @@ -0,0 +1,53 @@ +--- +title: Reverse ETL System +beta: false +--- + +## Record diffing +Reverse ETL computes the incremental changes to your data directly within your data warehouse. The Unique Identifier column is used to detect the data changes, such as new, updated, and deleted records. + +> info "Delete Records Payload" +> The only value passed for deleted records is its unique ID which can be accessed as `__segment_id`. + +In order for Segment to compute the data changes within your warehouse, Segment needs to have both read and write permissions to the warehouse schema table. At a high level, the extract process requires read permissions for the query being executed. Segment keeps track of changes to the query results through tables that Segment manages in a dedicated schema (for example, `_segment_reverse_etl`), which requires some write permissions. + +> warning "" +> There may be cost implications to having Segment query your warehouse tables. + +## Limits +To provide consistent performance and reliability at scale, Segment enforces default use and rate limits for Reverse ETL. + +### Usage limits +Reverse ETL usage limits are measured based on the number of records processed to each destination – this includes both successful and failed records. For example, if you processed 50k records to Braze and 50k records to Mixpanel, then your total Reverse ETL usage is 100k records. + +Processed records represents the number of records Segment attempts to send to each destination. Keep in mind that not all processed records are successfully delivered, for example, such as when the destination experiences an issue. + +Your plan determines how many Reverse ETL records you can process in one monthly billing cycle. When your limit is reached before the end of your billing period, your syncs will pause and then resume on your next billing cycle. To see how many records you’ve processed using Reverse ETL, navigate to **Settings > Usage & billing** and select the **Reverse ETL** tab. + +Plan | Number of Reverse ETL records you can process to destinations per month | How to increase your number of Reverse ETL records +---- | --------------------------------------------------------------------------- | --------------------------------------------------- +Free | 500K | Upgrade to the Teams plan in the Segment app by navigating to **Settings > Usage & billing**. +Teams | 1 million | Contact your sales representative to upgrade your plan to Business. +Business | 50 x the number of [MTUs](/docs/guides/usage-and-billing/mtus-and-throughput/#what-is-an-mtu)
or .25 x the number of monthly API calls | Contact your sales rep to upgrade your plan. + +If you have a non-standard or high volume usage plan, you may have unique Reverse ETL limits or custom pricing. + +### Configuration limits + +Name | Details | Limit +--------- | ------- | ------ +Model query length | The maximum length for the model SQL query. | 131,072 characters +Model identifier column name length | The maximum length for the ID column name. | 191 characters +Model timestamp column name length | The maximum length for the timestamp column name. | 191 characters +Sync frequency | The shortest possible duration Segment allows between syncs. | 15 minutes + +### Extract limits +The extract phase is the time spent connecting to your database, executing the model query, updating internal state tables and staging the extracted records for loading. + +Name | Details | Limit +----- | ------- | ------ +Record count | The maximum number of records a single sync will process. Note: This is the number of records extracted from the warehouse not the limit for the number of records loaded to the destination (for example, new/update/deleted). | 30 million records +Column count | The maximum number of columns a single sync will process. | 512 columns +Column name length | The maximum length of a record column. | 128 characters +Record JSON size | The maximum size for a record when converted to JSON (some of this limit is used by Segment). | 512 KiB +Column JSON size | The maximum size of any single column value. | 128 KiB \ No newline at end of file From c43cbc9e47544f890791c3b57b768f70f205443c Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 15 May 2024 15:02:09 -0400 Subject: [PATCH 02/76] make this truly a landing page --- src/connections/reverse-etl/index.md | 61 +++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 5 deletions(-) diff --git a/src/connections/reverse-etl/index.md b/src/connections/reverse-etl/index.md index 999eb01dac..4908e350d1 100644 --- a/src/connections/reverse-etl/index.md +++ b/src/connections/reverse-etl/index.md @@ -7,12 +7,63 @@ redirect_from: Reverse ETL (Extract, Transform, Load) extracts data from a data warehouse using a query you provide and syncs the data to your third party destinations. For example, with Reverse ETL, you can sync records from Snowflake to Mixpanel. Reverse ETL supports event and object data. This includes customer profile data, subscriptions, product tables, shopping cart tables, and more. + + ![Reverse ETL overview image](images/RETL_Doc_Illustration.png) + +## Get started with Reverse ETL + +
+ {% include components/reference-button.html + href="/docs/connections/reverse-etl/setup" + icon="getting-started.svg" + title="Set up Reverse ETL" + description="Add a Reverse ETL source, set up a model, add a destination, and create mappings to transfer data from your warehouse to your downstream destinations." + %} + + {% include components/reference-button.html + href="/docs/connections/reverse-etl/reverse-etl-catalog" + icon="reverse-etl.svg" + title="Destination catalog" + description="View the 30+ destinations with native Reverse ETL support and learn how you can use the Segment Connections and Segment Profiles to send data to the rest of the Segment catalog." + %} +
+ ## Example use cases Use Reverse ETL when you want to: -* Sync audiences and other data built in the warehouse to Braze, Hubspot, or Salesforce Marketing Cloud for personalized marketing campaigns. -* Sync enriched data to Mixpanel for a more complete view of the customer, or enrich Segment Unify with data from the warehouse. -* Send data in the warehouse back into Segment as events that can be activated in all supported destinations, including Twilio Engage. -* Pass offline or enriched data to conversion APIs like Facebook, Google Ads, TikTok, or Snapchat. -* Connect Google Sheets to a view in the warehouse for other business teams to have access to up-to-date reports. \ No newline at end of file +* **Enable your marketing teams**: Sync audiences and other data built in the warehouse to Braze, Hubspot, or Salesforce Marketing Cloud for personalized marketing campaigns. +* **Enrich your customer profiles**: Sync enriched data to Mixpanel for a more complete view of the customer, or enrich Segment Unify with data from the warehouse. +* **Activate data in Twilio Engage**: Send data in the warehouse back into Segment as events that can be activated in all supported destinations, including Twilio Engage. +* **Strengthen your conversion events**: Pass offline or enriched data to conversion APIs like Facebook, Google Ads, TikTok, or Snapchat. +* **Empower business teams**: Connect Google Sheets to a view in the warehouse for other business teams to have access to up-to-date reports. + +## Learn more + +Learn more about the observability tools you can use to manage your syncs, the mappings that power the flow of data to your downstream destinations, and the system that powers Segment's Reverse ETL product. + +
+
+ {% include components/reference-button.html + href="/docs/connections/reverse-etl/observability" + title="Observability" + description="The tools that Segment has available" + %} +
+ +
+ {% include components/reference-button.html + href="/docs/connections/reverse-etl/mappings" + title="Mappings" + description="Learn more about Reverse ETL mappings" + %} +
+ +
+ {% include components/reference-button.html + href="/docs/connections-reverse-etl/system" + title="System" + description="Reverse ETL System reverse ETL system" + %} +
+
\ No newline at end of file From 5795cf3a899087da5b71b6b3033626d9cc792dbd Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 16 May 2024 13:41:23 -0400 Subject: [PATCH 03/76] polish --- src/_data/sidenav/main.yml | 8 ++++++ src/connections/reverse-etl/index.md | 30 +++++++++----------- src/connections/reverse-etl/mappings.md | 12 ++++---- src/connections/reverse-etl/observability.md | 2 ++ src/connections/reverse-etl/system.md | 2 ++ 5 files changed, 33 insertions(+), 21 deletions(-) diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml index b3248c9e3b..a2f61f21c1 100644 --- a/src/_data/sidenav/main.yml +++ b/src/_data/sidenav/main.yml @@ -182,6 +182,14 @@ sections: section: - path: /connections/reverse-etl title: Reverse ETL Overview + - path: /connections/reverse-etl/setup + title: Set up Reverse ETL + - path: /connections/reverse-etl/observability + title: Observability + - path: /connections/reverse-etl/mappings + title: Reverse ETL Mappings + - path: /connections/reverse-etl/system + title: Reverse ETL System - path: /connections/reverse-etl/reverse-etl-catalog title: Reverse ETL Catalog - section_title: Reverse ETL Source Setup Guides diff --git a/src/connections/reverse-etl/index.md b/src/connections/reverse-etl/index.md index 4908e350d1..f7bd4c63b6 100644 --- a/src/connections/reverse-etl/index.md +++ b/src/connections/reverse-etl/index.md @@ -5,11 +5,17 @@ redirect_from: - '/reverse-etl/' --- -Reverse ETL (Extract, Transform, Load) extracts data from a data warehouse using a query you provide and syncs the data to your third party destinations. For example, with Reverse ETL, you can sync records from Snowflake to Mixpanel. Reverse ETL supports event and object data. This includes customer profile data, subscriptions, product tables, shopping cart tables, and more. +Reverse ETL (Extract, Transform, Load) extracts data from a data warehouse using a query you provide and syncs the data to your third party destinations. - +Use Reverse ETL when you want to: +* **Enable your marketing teams**: Sync audiences and other data built in the warehouse to Braze, Hubspot, or Salesforce Marketing Cloud for personalized marketing campaigns. +* **Enrich your customer profiles**: Sync enriched data to Mixpanel for a more complete view of the customer, or enrich Segment Unify with data from the warehouse. +* **Activate data in Twilio Engage**: Send data in the warehouse back into Segment as events that can be activated in all supported destinations, including Twilio Engage. +* **Strengthen your conversion events**: Pass offline or enriched data to conversion APIs like Facebook, Google Ads, TikTok, or Snapchat. +* **Empower business teams**: Connect Google Sheets to a view in the warehouse for other business teams to have access to up-to-date reports. -![Reverse ETL overview image](images/RETL_Doc_Illustration.png) +> info "Reverse ETL supports event and object data" +> Event and object data includes customer profile data, subscriptions, product tables, shopping cart tables, and more. ## Get started with Reverse ETL @@ -30,24 +36,16 @@ Reverse ETL (Extract, Transform, Load) extracts data from a data warehouse using %} -## Example use cases -Use Reverse ETL when you want to: -* **Enable your marketing teams**: Sync audiences and other data built in the warehouse to Braze, Hubspot, or Salesforce Marketing Cloud for personalized marketing campaigns. -* **Enrich your customer profiles**: Sync enriched data to Mixpanel for a more complete view of the customer, or enrich Segment Unify with data from the warehouse. -* **Activate data in Twilio Engage**: Send data in the warehouse back into Segment as events that can be activated in all supported destinations, including Twilio Engage. -* **Strengthen your conversion events**: Pass offline or enriched data to conversion APIs like Facebook, Google Ads, TikTok, or Snapchat. -* **Empower business teams**: Connect Google Sheets to a view in the warehouse for other business teams to have access to up-to-date reports. - ## Learn more -Learn more about the observability tools you can use to manage your syncs, the mappings that power the flow of data to your downstream destinations, and the system that powers Segment's Reverse ETL product. +Learn more about the the system that powers Reverse ETL, the mappings that power the flow of data to your downstream destinations, and observability tools you can use to manage your syncs.
{% include components/reference-button.html href="/docs/connections/reverse-etl/observability" title="Observability" - description="The tools that Segment has available" + description="View the state of your Reverse ETL syncs and get alerts when things go wrong" %}
@@ -55,15 +53,15 @@ Learn more about the observability tools you can use to manage your syncs, the m {% include components/reference-button.html href="/docs/connections/reverse-etl/mappings" title="Mappings" - description="Learn more about Reverse ETL mappings" + description="Supported objects/arrays and ways to manage your syncs" %}
{% include components/reference-button.html - href="/docs/connections-reverse-etl/system" + href="/docs/connections/reverse-etl/system" title="System" - description="Reverse ETL System reverse ETL system" + description="Technical details about how Reverse ETL works" %}
\ No newline at end of file diff --git a/src/connections/reverse-etl/mappings.md b/src/connections/reverse-etl/mappings.md index 05c4d96867..c77659e134 100644 --- a/src/connections/reverse-etl/mappings.md +++ b/src/connections/reverse-etl/mappings.md @@ -1,11 +1,11 @@ --- -title: Reverse ETL Mappings +title: Mappings beta: false --- -### Managing syncs +Learn more about supported object and array values in your mappings and how to reset or replay your syncs. -### Supported object and arrays +## Supported object and arrays When you set up destination actions in Reverse ETL, depending on the destination, some [mapping fields](#step-4-create-mappings) may require data to be in the form of an [object](#object-mapping) or [array](#array-mapping). @@ -70,7 +70,7 @@ Select array | This enables you to send all nested properties within the array. Objects in an array don't need to have the same properties. If a user selects a missing property in the input object for a mapping field, the output object will miss the property. -#### Reset syncs +## Reset syncs You can reset your syncs so that your data is synced from the beginning. This means that Segment resyncs your entire dataset for the model. To reset a sync: @@ -79,5 +79,7 @@ To reset a sync: 3. Select the checkbox that you understand what happens when a sync is reset. 4. Click **Reset sync**. -#### Replays +### Automatic retry handling + +## Replays You can choose to replay syncs. To replay a specific sync, contact [friends@segment.com](mailto:friends@segment.com). Keep in mind that triggering a replay resyncs all records for a given sync. \ No newline at end of file diff --git a/src/connections/reverse-etl/observability.md b/src/connections/reverse-etl/observability.md index ca40a33008..85c3b40b9a 100644 --- a/src/connections/reverse-etl/observability.md +++ b/src/connections/reverse-etl/observability.md @@ -3,6 +3,8 @@ title: Reverse ETL Observability beta: false --- +With the Sync history tab, you can view the status of your data extractions and see details about syncs with your warehouse. + ## Sync history Check the status of your data extractions and see details of your syncs. Click into failed records to view additional details on the error, sample payloads to help you debug the issue, and recommended actions. diff --git a/src/connections/reverse-etl/system.md b/src/connections/reverse-etl/system.md index 999ea4acb2..187ae58596 100644 --- a/src/connections/reverse-etl/system.md +++ b/src/connections/reverse-etl/system.md @@ -3,6 +3,8 @@ title: Reverse ETL System beta: false --- + + ## Record diffing Reverse ETL computes the incremental changes to your data directly within your data warehouse. The Unique Identifier column is used to detect the data changes, such as new, updated, and deleted records. From 2b9779bc37c0fde833f69f2f15f602cf47448792 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Fri, 17 May 2024 17:50:37 -0400 Subject: [PATCH 04/76] rmv "catalog" --- src/connections/reverse-etl/setup.md | 37 ++++++---------------------- 1 file changed, 7 insertions(+), 30 deletions(-) diff --git a/src/connections/reverse-etl/setup.md b/src/connections/reverse-etl/setup.md index db5d8fc9c0..df7c7ad6fc 100644 --- a/src/connections/reverse-etl/setup.md +++ b/src/connections/reverse-etl/setup.md @@ -24,36 +24,13 @@ To add your warehouse as a source: 1. Navigate to **Connections > Sources** and select the **Reverse ETL** tab in the Segment app. 2. Click **+ Add Reverse ETL source**. 3. Select the source you want to add. -4. Follow the corresponding setup guide for your Reverse ETL source. - -
-
-
- {% assign warehouses = site.data.catalog.warehouse.items | sort: "display_name" %} - {% for warehouse in warehouses %} - {% if warehouse.categories contains "RETL" %} - - {% endif %} - {% endfor %} -
-
-
- +4. Follow the corresponding setup guide for your Reverse ETL source: + - [Azure Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/azure-setup) + - [BigQuery Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup) + - [Databricks Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup) + - [Postgres Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup) + - [Redshift Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup) + - [Snowflake Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup) After you add your data warehouse as a source, you can [add a model](#step-2-add-a-model) to your source. From 58e7991a0a74faa1b7084b7352fe7ec35d1852bc Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 20 May 2024 15:11:16 -0400 Subject: [PATCH 05/76] finish intros to some of the ref pages --- src/connections/reverse-etl/faq.md | 6 +++--- src/connections/reverse-etl/index.md | 12 ++++++------ src/connections/reverse-etl/mappings.md | 6 ++---- src/connections/reverse-etl/observability.md | 2 +- src/connections/reverse-etl/reverse-etl-catalog.md | 2 +- src/connections/reverse-etl/system.md | 2 +- 6 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/connections/reverse-etl/faq.md b/src/connections/reverse-etl/faq.md index 6e792a4f8c..bcaef54ef2 100644 --- a/src/connections/reverse-etl/faq.md +++ b/src/connections/reverse-etl/faq.md @@ -3,12 +3,12 @@ title: Reverse ETL FAQ beta: false --- -## Troubleshooting +Get answers to some frequently asked Reverse ETL questions. -### Why do my sync results show *No records extracted* when I select *Updated records* after I enable the mapping? +## Why do my sync results show *No records extracted* when I select *Updated records* after I enable the mapping? It's expected that when you select **Updated records** the records do not change after the first sync. During the first sync, the reverse ETL system calculates a snapshot of all the results and creates records in the `_segment_reverse_etl` schema. All the records are considered as *Added records* instead of *Updated records* at this time. The records can only meet the *Updated records* condition when the underlying values change after the first sync completes. -### Can I be notified when Reverse ETL syncs fail? +## Can I be notified when Reverse ETL syncs fail? Yes, you can sign up for Reverse ETL sync notifications. To receive Reverse ETL sync notifications: diff --git a/src/connections/reverse-etl/index.md b/src/connections/reverse-etl/index.md index f7bd4c63b6..f1a71d77f1 100644 --- a/src/connections/reverse-etl/index.md +++ b/src/connections/reverse-etl/index.md @@ -44,24 +44,24 @@ Learn more about the the system that powers Reverse ETL, the mappings that power
{% include components/reference-button.html href="/docs/connections/reverse-etl/observability" - title="Observability" - description="View the state of your Reverse ETL syncs and get alerts when things go wrong" + title="Reverse ETL Observability" + description="View the state of your Reverse ETL syncs and get alerted when things go wrong" %}
{% include components/reference-button.html href="/docs/connections/reverse-etl/mappings" - title="Mappings" - description="Supported objects/arrays and ways to manage your syncs" + title="Reverse ETL Mappings" + description="Supported objects and arrays along with ways to manage your syncs" %}
{% include components/reference-button.html href="/docs/connections/reverse-etl/system" - title="System" - description="Technical details about how Reverse ETL works" + title="Reverse ETL System" + description="Reference material about system limits and how Segment detects data changes" %}
\ No newline at end of file diff --git a/src/connections/reverse-etl/mappings.md b/src/connections/reverse-etl/mappings.md index c77659e134..b3c7654275 100644 --- a/src/connections/reverse-etl/mappings.md +++ b/src/connections/reverse-etl/mappings.md @@ -1,9 +1,9 @@ --- -title: Mappings +title: Reverse ETL Mappings beta: false --- -Learn more about supported object and array values in your mappings and how to reset or replay your syncs. +Learn which mapping fields support object and array values in your mappings and how you can reset or replay your syncs. ## Supported object and arrays @@ -79,7 +79,5 @@ To reset a sync: 3. Select the checkbox that you understand what happens when a sync is reset. 4. Click **Reset sync**. -### Automatic retry handling - ## Replays You can choose to replay syncs. To replay a specific sync, contact [friends@segment.com](mailto:friends@segment.com). Keep in mind that triggering a replay resyncs all records for a given sync. \ No newline at end of file diff --git a/src/connections/reverse-etl/observability.md b/src/connections/reverse-etl/observability.md index 85c3b40b9a..95206daac8 100644 --- a/src/connections/reverse-etl/observability.md +++ b/src/connections/reverse-etl/observability.md @@ -3,7 +3,7 @@ title: Reverse ETL Observability beta: false --- -With the Sync history tab, you can view the status of your data extractions and see details about syncs with your warehouse. +Use Segment's sync history and email alert features to get better insights about the status of your Reverse ETL syncs. ## Sync history Check the status of your data extractions and see details of your syncs. Click into failed records to view additional details on the error, sample payloads to help you debug the issue, and recommended actions. diff --git a/src/connections/reverse-etl/reverse-etl-catalog.md b/src/connections/reverse-etl/reverse-etl-catalog.md index 3ed9cbc724..010330e95e 100644 --- a/src/connections/reverse-etl/reverse-etl-catalog.md +++ b/src/connections/reverse-etl/reverse-etl-catalog.md @@ -3,7 +3,7 @@ title: Reverse ETL Catalog beta: false --- -Reverse ETL supports the entire Segment destination catalog - 30+ Actions destinations are natively supported, Segment Classic destinations are supported through the [Segment Connections](#segment-connections-destination) destination, and Twilio Engage Premier Subscriptions users can use the Segment Profiles destination to sync subscription data from warehouses to destinations. +Reverse ETL supports most of the Segment destination catalog - 30+ Actions destinations are natively supported, Segment Classic destinations are supported through the [Segment Connections](#segment-connections-destination) destination, and Twilio Engage Premier Subscriptions users can use the Segment Profiles destination to sync subscription data from warehouses to destinations. These destinations support [Reverse ETL](/docs/connections/reverse-etl/). If you don’t see your destination listed in the Reverse ETL catalog, use the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/) to send data from your Reverse ETL warehouse to other destinations listed in the [catalog](/docs/connections/destinations/catalog/). diff --git a/src/connections/reverse-etl/system.md b/src/connections/reverse-etl/system.md index 187ae58596..0693d0a4bb 100644 --- a/src/connections/reverse-etl/system.md +++ b/src/connections/reverse-etl/system.md @@ -3,7 +3,7 @@ title: Reverse ETL System beta: false --- - +View reference information about how Segment detects data changes in your warehouse and the rate and usage limits associated with Reverse ETL. ## Record diffing Reverse ETL computes the incremental changes to your data directly within your data warehouse. The Unique Identifier column is used to detect the data changes, such as new, updated, and deleted records. From 32938a44a8795c18b8e0ccf716c6607e558d550d Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 20 May 2024 15:18:17 -0400 Subject: [PATCH 06/76] rmv RETL from warehouse yml file --- src/_data/catalog/warehouse.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/_data/catalog/warehouse.yml b/src/_data/catalog/warehouse.yml index cd914735ca..dad11ce6d9 100644 --- a/src/_data/catalog/warehouse.yml +++ b/src/_data/catalog/warehouse.yml @@ -53,7 +53,6 @@ items: url: 'https://cdn.filepicker.io/api/file/EUJvt69Q7qMqCvGrVtiu' categories: - Warehouses - - RETL - display_name: BigQuery slug: bigquery name: catalog/warehouses/bigquery @@ -72,7 +71,6 @@ items: url: 'https://cdn.filepicker.io/api/file/Vk6iFlMvQeynbg30ZEtt' categories: - Warehouses - - RETL - display_name: Databricks slug: databricks name: catalog/warehouses/databricks @@ -91,7 +89,6 @@ items: url: '' categories: - Warehouses - - RETL - display_name: Google Cloud Storage slug: google-cloud-storage name: catalog/warehouses/google-cloud-storage @@ -146,7 +143,6 @@ items: url: '' categories: - Warehouses - - RETL - display_name: Redshift slug: redshift name: catalog/warehouses/redshift @@ -165,7 +161,6 @@ items: url: '' categories: - Warehouses - - RETL - display_name: Segment Data Lakes slug: data-lakes name: catalog/warehouse/data-lakes @@ -202,7 +197,6 @@ items: url: 'https://cdn.filepicker.io/api/file/OBhrGoCRKaSyvAhDX3fw' categories: - Warehouses - - RETL settings: - name: bucket From f823ef3d9bc3a0a60d7d491c93a1cb1b6b6615b1 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 20 May 2024 15:24:42 -0400 Subject: [PATCH 07/76] parity w other items [netlify-build] --- src/_data/sidenav/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml index a2f61f21c1..0e52843a0c 100644 --- a/src/_data/sidenav/main.yml +++ b/src/_data/sidenav/main.yml @@ -184,10 +184,10 @@ sections: title: Reverse ETL Overview - path: /connections/reverse-etl/setup title: Set up Reverse ETL - - path: /connections/reverse-etl/observability - title: Observability - path: /connections/reverse-etl/mappings title: Reverse ETL Mappings + - path: /connections/reverse-etl/observability + title: Reverse ETL Observability - path: /connections/reverse-etl/system title: Reverse ETL System - path: /connections/reverse-etl/reverse-etl-catalog From 6e3f3cad070f113b0809a6a4b8e3288f62668540 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 20 May 2024 15:35:18 -0400 Subject: [PATCH 08/76] [netlify-build] --- src/connections/reverse-etl/mappings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/reverse-etl/mappings.md b/src/connections/reverse-etl/mappings.md index b3c7654275..22d6c2d5e5 100644 --- a/src/connections/reverse-etl/mappings.md +++ b/src/connections/reverse-etl/mappings.md @@ -80,4 +80,4 @@ To reset a sync: 4. Click **Reset sync**. ## Replays -You can choose to replay syncs. To replay a specific sync, contact [friends@segment.com](mailto:friends@segment.com). Keep in mind that triggering a replay resyncs all records for a given sync. \ No newline at end of file +You can choose to replay syncs. To replay a specific sync, contact [friends@segment.com](mailto:friends@segment.com). Keep in mind that triggering a replay resyncs all records for a given sync. From 0be9f21326051afbf828d7586649eafb33d00888 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 20 May 2024 15:56:52 -0400 Subject: [PATCH 09/76] [netlify-build] --- src/connections/reverse-etl/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/connections/reverse-etl/index.md b/src/connections/reverse-etl/index.md index 08f3a088dd..4216582685 100644 --- a/src/connections/reverse-etl/index.md +++ b/src/connections/reverse-etl/index.md @@ -45,7 +45,7 @@ Learn more about the the system that powers Reverse ETL, the mappings that power {% include components/reference-button.html href="/docs/connections/reverse-etl/observability" title="Reverse ETL Observability" - description="View the state of your Reverse ETL syncs and get alerted when things go wrong" + description="View the state of your Reverse ETL syncs and get alerted when things go wrong." %} @@ -53,7 +53,7 @@ Learn more about the the system that powers Reverse ETL, the mappings that power {% include components/reference-button.html href="/docs/connections/reverse-etl/mappings" title="Reverse ETL Mappings" - description="Supported objects and arrays along with ways to manage your syncs" + description="Supported objects and arrays along with ways to manage your syncs." %} @@ -61,7 +61,7 @@ Learn more about the the system that powers Reverse ETL, the mappings that power {% include components/reference-button.html href="/docs/connections/reverse-etl/system" title="Reverse ETL System" - description="Reference material about system limits and how Segment detects data changes" + description="Reference material about system limits and how Segment detects data changes." %} From ab0104f777ee7a510dc8de3ff98a3e083257865f Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 20 May 2024 18:52:49 -0400 Subject: [PATCH 10/76] google docs grammar qa [netlify-build] --- src/connections/reverse-etl/index.md | 2 +- src/connections/reverse-etl/setup.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/reverse-etl/index.md b/src/connections/reverse-etl/index.md index 4216582685..c02fb38b62 100644 --- a/src/connections/reverse-etl/index.md +++ b/src/connections/reverse-etl/index.md @@ -38,7 +38,7 @@ Use Reverse ETL when you want to: ## Learn more -Learn more about the the system that powers Reverse ETL, the mappings that power the flow of data to your downstream destinations, and observability tools you can use to manage your syncs. +Learn more about the system that powers Reverse ETL, the mappings that power the flow of data to your downstream destinations, and observability tools you can use to manage your syncs.
diff --git a/src/connections/reverse-etl/setup.md b/src/connections/reverse-etl/setup.md index df7c7ad6fc..7cb91f2af0 100644 --- a/src/connections/reverse-etl/setup.md +++ b/src/connections/reverse-etl/setup.md @@ -76,7 +76,7 @@ To add your first destination: 4. Select the Reverse ETL source you want to connect the destination to. 5. Enter the **Destination name** and click **Create Destination**. 6. Enter the required information on the **Settings** tab of the destination. -7. Navigate to the destination settings tab and enable the destination. If the destination is disabled, then Segment won't be able to start sync. +7. Navigate to the destination settings tab and enable the destination. If the destination is disabled, then Segment won't be able to start a sync. ## Step 4: Create mappings After you’ve added a destination, you can create mappings from your warehouse to the destination. Mappings enable you to map the data you extract from your warehouse to the fields in your destination. From 98115cfc39f7bce6eef72fefb8be2e61d95d0d74 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 21 May 2024 17:13:08 -0400 Subject: [PATCH 11/76] add extensions docs --- .../bigquery-setup.md | 3 +++ .../databricks-setup.md | 7 +++---- .../postgres-setup.md | 3 +++ .../redshift-setup.md | 5 ++++- src/connections/reverse-etl/system.md | 12 ++++++++++++ 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup.md index 294c289a16..ec8ac4cca3 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup.md @@ -30,6 +30,9 @@ To set up the Segment BigQuery connector: After you've added BigQuery as a source, you can [add a model](/docs/connections/reverse-etl#step-2-add-a-model). +> info "BigQuery Reverse ETL sources support Segment's dbt extension" +> If you have an existing dbt account with a Git repository, you can use [Segment's dbt extension](/docs/segment-app/extensions/dbt/) to centralize model management and versioning, reduce redundancies, and run CI checks to prevent breaking changes. + ## Constructing your own role or policy When you construct your own role or policy, Segment needs the following permissions: diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md index c53fea5342..81cf8bfea9 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md @@ -4,11 +4,10 @@ title: Databricks Reverse ETL Setup Set up Databricks as your Reverse ETL source. -At a high level, when you set up Databricks for Reverse ETL, the configured service-principal needs read permissions for any resources (databases, schemas, tables) the query needs to access. Segment keeps track of changes to your query results with a managed schema (`__SEGMENT_REVERSE_ETL`), which requires the configured service-principal to allow write permissions for that schema. - -> info "" -> Segment supports only OAuth (M2M) authentication. To generate a client ID and Secret, follow the steps listed in Databricks' [OAuth machine-to-machine (M2M) authentication](https://docs.databricks.com/en/dev-tools/auth/oauth-m2m.html){:target="_blank"} documentation. +At a high level, when you set up Databricks for Reverse ETL, the configured service-principal needs read permissions for any resources (databases, schemas, tables) the query needs to access. Segment keeps track of changes to your query results with a managed schema (`__SEGMENT_REVERSE_ETL`), which requires the configured service-principal to allow write permissions for that schema. Segment supports only OAuth (M2M) authentication. To generate a client ID and Secret, follow the steps listed in Databricks' [OAuth machine-to-machine (M2M) authentication](https://docs.databricks.com/en/dev-tools/auth/oauth-m2m.html){:target="_blank"} documentation. +> info "Databricks Reverse ETL sources support Segment's dbt extension" +> If you have an existing dbt account with a Git repository, you can use [Segment's dbt extension](/docs/segment-app/extensions/dbt/) to centralize model management and versioning, reduce redundancies, and run CI checks to prevent breaking changes. ## Required permissions * Make sure the service principal you use to connect to Segment has permissions to use that warehouse. In the Databricks console go to **SQL warehouses** and select the warehouse you're using. Navigate to **Overview > Permissions** and make sure the service principal you use to connect to Segment has *can use* permissions. diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md index 9f2a229fed..5e4dc4b89f 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md @@ -6,6 +6,9 @@ Set up Postgres as your Reverse ETL source. At a high level, when you set up Postgres for Reverse ETL, the configured user/role needs read permissions for any resources (databases, schemas, tables) the query needs to access. Segment keeps track of changes to your query results with a managed schema (`__SEGMENT_REVERSE_ETL`), which requires the configured user to allow write permissions for that schema. +> info "Postgres Reverse ETL sources support Segment's dbt extension" +> If you have an existing dbt account with a Git repository, you can use [Segment's dbt extension](/docs/segment-app/extensions/dbt/) to centralize model management and versioning, reduce redundancies, and run CI checks to prevent breaking changes. + Segment supports the following Postgres database providers: - Heroku - RDS diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md index 8214ed0be2..55fbeacf0f 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md @@ -5,7 +5,10 @@ redirect_from: - '/reverse-etl/redshift-setup/' --- -Set up Redshift as your Reverse ETL source. +Set up Redshift as your Reverse ETL source. + +> info "Redshift Reverse ETL sources support Segment's dbt extension" +> If you have an existing dbt account with a Git repository, you can use [Segment's dbt extension](/docs/segment-app/extensions/dbt/) to centralize model management and versioning, reduce redundancies, and run CI checks to prevent breaking changes. To set up Redshift with Reverse ETL: 1. Log in to Redshift and select the Redshift cluster you want to connect with Reverse ETL. diff --git a/src/connections/reverse-etl/system.md b/src/connections/reverse-etl/system.md index 0693d0a4bb..fcbc2c5298 100644 --- a/src/connections/reverse-etl/system.md +++ b/src/connections/reverse-etl/system.md @@ -5,6 +5,18 @@ beta: false View reference information about how Segment detects data changes in your warehouse and the rate and usage limits associated with Reverse ETL. +## Extensions + +Extensions integrate third-party tools into your existing Segment workspace to help you automate tasks. + +> info "" +> Extensions is currently in public beta and is governed by Segment’s First Access and Beta Preview Terms. During Public Beta, Extensions is available for Team and Developer plans only. Reach out to Segment if you’re on a Business Tier plan and would like to participate in the Public Beta. + +Segment has two extensions that you can use to manage your Reverse ETL sources: + +- [dbt models and dbt Cloud](/docs/segment-app/extensions/dbt/): Sync your Reverse ETL models with dbt labs models and syncs to help centralize model management and versioning, reduce redundancies, and run CI checks to prevent breaking changes. +- [Git sync](/docs/segment-app/extensions/git/): Manage versioning by syncing changes you make to your Reverse ETL sources from your Segment workspace to a Git repository. + ## Record diffing Reverse ETL computes the incremental changes to your data directly within your data warehouse. The Unique Identifier column is used to detect the data changes, such as new, updated, and deleted records. From 17ee7ada221b91d2510372b586366c5aaf2a6bd2 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 21 May 2024 17:14:12 -0400 Subject: [PATCH 12/76] [netlify-build] --- src/connections/reverse-etl/system.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/reverse-etl/system.md b/src/connections/reverse-etl/system.md index fcbc2c5298..2111044e5b 100644 --- a/src/connections/reverse-etl/system.md +++ b/src/connections/reverse-etl/system.md @@ -64,4 +64,4 @@ Record count | The maximum number of records a single sync will process. Note: T Column count | The maximum number of columns a single sync will process. | 512 columns Column name length | The maximum length of a record column. | 128 characters Record JSON size | The maximum size for a record when converted to JSON (some of this limit is used by Segment). | 512 KiB -Column JSON size | The maximum size of any single column value. | 128 KiB \ No newline at end of file +Column JSON size | The maximum size of any single column value. | 128 KiB From 682de657818995688ae75a4b567993e17328f121 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 21 May 2024 17:40:22 -0400 Subject: [PATCH 13/76] [netlify-build] --- .../reverse-etl-source-setup-guides/snowflake-setup.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md index 5fb8203af4..87067b6087 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md @@ -9,6 +9,9 @@ Set up Snowflake as your Reverse ETL source. At a high level, when you set up Snowflake for Reverse ETL, the configured user/role needs read permissions for any resources (databases, schemas, tables) the query needs to access. Segment keeps track of changes to your query results with a managed schema (`__SEGMENT_REVERSE_ETL`), which requires the configured user to allow write permissions for that schema. +> info "Snowflake Reverse ETL sources support Segment's dbt extension" +> If you have an existing dbt account with a Git repository, you can use [Segment's dbt extension](/docs/segment-app/extensions/dbt/) to centralize model management and versioning, reduce redundancies, and run CI checks to prevent breaking changes. + ## Set up guide Follow the instructions below to set up the Segment Snowflake connector. Segment recommends you use the `ACCOUNTADMIN` role to execute all the commands below. From c68ff00b073cd307fb4cb34da17df4bec0dac0a4 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 22 May 2024 14:33:28 -0400 Subject: [PATCH 14/76] Apply suggestions from code review Co-authored-by: Casie Oxford --- .../reverse-etl-source-setup-guides/databricks-setup.md | 2 +- src/connections/reverse-etl/system.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md index 81cf8bfea9..c47619e20a 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md @@ -59,4 +59,4 @@ To set up Databricks as your Reverse ETL source: > Segment previously supported token-based authentication, but now uses OAuth (M2M) authentication at the recommendation of Databricks. > If you previously set up your source using token-based authentication, Segment will continue to support it. If you want to create a new source or update the connection settings of an existing source, Segment only supports [OAuth machine-to-machine (M2M) authentication](https://docs.databricks.com/en/dev-tools/auth/oauth-m2m.html){:target="_blank"}. -Once you've successfully added your Databricks source, [add a model](/docs/connections/reverse-etl/setup/#step-2-add-a-model) and follow the rest of the steps in the Reverse ETL setup guide. +After you've successfully added your Databricks source, [add a model](/docs/connections/reverse-etl/setup/#step-2-add-a-model) and follow the rest of the steps in the Reverse ETL setup guide. diff --git a/src/connections/reverse-etl/system.md b/src/connections/reverse-etl/system.md index 2111044e5b..06cf5337a8 100644 --- a/src/connections/reverse-etl/system.md +++ b/src/connections/reverse-etl/system.md @@ -23,7 +23,7 @@ Reverse ETL computes the incremental changes to your data directly within your d > info "Delete Records Payload" > The only value passed for deleted records is its unique ID which can be accessed as `__segment_id`. -In order for Segment to compute the data changes within your warehouse, Segment needs to have both read and write permissions to the warehouse schema table. At a high level, the extract process requires read permissions for the query being executed. Segment keeps track of changes to the query results through tables that Segment manages in a dedicated schema (for example, `_segment_reverse_etl`), which requires some write permissions. +For Segment to compute the data changes within your warehouse, Segment needs to have both read and write permissions to the warehouse schema table. At a high level, the extract process requires read permissions for the query being executed. Segment keeps track of changes to the query results through tables that Segment manages in a dedicated schema (for example, `_segment_reverse_etl`), which requires some write permissions. > warning "" > There may be cost implications to having Segment query your warehouse tables. From 6028faaa812879a8f517b831b78720c243cf6d25 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 22 May 2024 14:54:26 -0400 Subject: [PATCH 15/76] Update src/connections/reverse-etl/reverse-etl-catalog.md --- .../reverse-etl/reverse-etl-catalog.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/connections/reverse-etl/reverse-etl-catalog.md b/src/connections/reverse-etl/reverse-etl-catalog.md index 010330e95e..d0083a07a3 100644 --- a/src/connections/reverse-etl/reverse-etl-catalog.md +++ b/src/connections/reverse-etl/reverse-etl-catalog.md @@ -52,16 +52,16 @@ The Segment Connections destination enables you to mold data extracted from your Engage Premier Subscriptions users can use Reverse ETL to sync subscription data from warehouses to destinations. To get started with using Reverse ETL for subscriptions: -1. Navigate to Engage > Audiences and select the Profile explorer tab. -2. Click Manage subscription statuses and select Update subscription statuses. -3. Select Sync with RETL as the method to update your subscription statuses. -4. Click Configure. +1. Navigate to **Engage > Audiences** and select the **Profile explorer** tab. +2. Click **Manage subscription statuses** and select **Update subscription statuses**. +3. Select **Sync with RETL** as the method to update your subscription statuses. +4. Click **Configure**. 5. In the Reverse ETL catalog, select the Reverse ETL source you want to use. -6. Set up the source. Refer to the add a source section for more details on how to set up the source. -7. Add the Segment Profiles destination as your Reverse ETL destination. Refer to add a destination for more details to set up the destination. -8. Once your destination is set, go to the Mappings tab of your destination and click Add Mapping. -9. Select the model you want to use and then select Send Subscriptions. -10. Click Create Mapping. -11. Follow the steps in the Create Mappings section to set your mappings. +6. Set up the source. Refer to the [add a source](/docs/connections/reverse-etl/setup/#step-1-add-a-source) section for more details on how to set up the source. +7. Add the Segment Profiles destination as your Reverse ETL destination. Refer to [add a destination](/docs/connections/reverse-etl/setup/#step-3-add-a-destination) for more details on how to set up the destination. +8. Once your destination is set, go to the **Mappings** tab of your destination and click **Add Mapping**. +9. Select the model you want to use and then select **Send Subscriptions**. +10. Click **Create Mapping**. +11. Follow the steps in the [Create Mappings](/docs/connections/reverse-etl/setup/#step-4-create-mappings) section to set your mappings. \ No newline at end of file From 2e5480956e9129ce2b1e65d369fa0c0f2aa5f86d Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 22 May 2024 14:55:13 -0400 Subject: [PATCH 16/76] Update src/connections/reverse-etl/system.md --- src/connections/reverse-etl/system.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/reverse-etl/system.md b/src/connections/reverse-etl/system.md index 06cf5337a8..d6814c79db 100644 --- a/src/connections/reverse-etl/system.md +++ b/src/connections/reverse-etl/system.md @@ -44,7 +44,7 @@ Free | 500K | Upgrade to the Teams plan in the Segment app by navigating to **Se Teams | 1 million | Contact your sales representative to upgrade your plan to Business. Business | 50 x the number of [MTUs](/docs/guides/usage-and-billing/mtus-and-throughput/#what-is-an-mtu)
or .25 x the number of monthly API calls | Contact your sales rep to upgrade your plan. -If you have a non-standard or high volume usage plan, you may have unique Reverse ETL limits or custom pricing. +If you have a non-standard or high volume usage plan, you may have unique Reverse ETL limits or custom pricing. To see your Reverse ETL limits in the Segment app, select **Settings** then click **Usage & Billing**. ### Configuration limits From 71fddba2a3ba69c7586f75fa5a5b171900cc9fa5 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 22 May 2024 15:07:31 -0400 Subject: [PATCH 17/76] Apply suggestions from code review --- src/connections/reverse-etl/mappings.md | 2 +- .../reverse-etl-source-setup-guides/bigquery-setup.md | 2 +- src/connections/reverse-etl/setup.md | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/connections/reverse-etl/mappings.md b/src/connections/reverse-etl/mappings.md index 22d6c2d5e5..a18e89bbfb 100644 --- a/src/connections/reverse-etl/mappings.md +++ b/src/connections/reverse-etl/mappings.md @@ -7,7 +7,7 @@ Learn which mapping fields support object and array values in your mappings and ## Supported object and arrays -When you set up destination actions in Reverse ETL, depending on the destination, some [mapping fields](#step-4-create-mappings) may require data to be in the form of an [object](#object-mapping) or [array](#array-mapping). +When you set up destination actions in Reverse ETL, depending on the destination, some [mapping fields](/docs/connections/reverse-etl/setup/#step-4-create-mappings) may require data to be in the form of an [object](/docs/connections/reverse-etl/mapping/#object-mapping) or [array](/docs/connections/reverse-etl/mapping/#array-mapping). ### Object mapping You can send data to a mapping field that requires object data. An example of object mapping is an `Order completed` model with a `Products` column that’s in object format. diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup.md index ec8ac4cca3..03b876dba3 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup.md @@ -28,7 +28,7 @@ To set up the Segment BigQuery connector: 20. Click **Test Connection** to test to see if the connection works. If the connection fails, make sure you have the right permissions and credentials and try again. 6. Click **Add source** if the test connection is successful. -After you've added BigQuery as a source, you can [add a model](/docs/connections/reverse-etl#step-2-add-a-model). +After you've added BigQuery as a source, you can [add a model](/docs/connections/reverse-etl/setup/#step-2-add-a-model). > info "BigQuery Reverse ETL sources support Segment's dbt extension" > If you have an existing dbt account with a Git repository, you can use [Segment's dbt extension](/docs/segment-app/extensions/dbt/) to centralize model management and versioning, reduce redundancies, and run CI checks to prevent breaking changes. diff --git a/src/connections/reverse-etl/setup.md b/src/connections/reverse-etl/setup.md index 7cb91f2af0..703ba8f5b0 100644 --- a/src/connections/reverse-etl/setup.md +++ b/src/connections/reverse-etl/setup.md @@ -62,7 +62,7 @@ To edit your model: ## Step 3: Add a destination Once you’ve added a model, you need to add a destination. In Reverse ETL, destinations are the business tools or apps you use that Segment syncs the data from your warehouse to. -Reverse ETL supports 30+ destinations: see all destinations listed in the [Reverse ETL catalog](/docs/connections/reverse-etl/reverse-etl-catalog/). If the destination you want to send data to is not listed in the Reverse ETL catalog, use the [Segment Connections Destination](#segment-connections-destination) to send data from your Reverse ETL warehouse to your destination. +Reverse ETL supports 30+ destinations: see all destinations listed in the [Reverse ETL catalog](/docs/connections/reverse-etl/reverse-etl-catalog/). If the destination you want to send data to is not listed in the Reverse ETL catalog, use the [Segment Connections Destination](/docs/connections/reverse-etl/reverse-etl-catalog/#segment-connections-destination) to send data from your Reverse ETL warehouse to your destination. Engage users can use the [Segment Profiles Destination](/docs/connections/destinations/catalog/actions-segment-profiles/) to send data from their warehouse to their Reverse ETL destinations. @@ -106,7 +106,7 @@ To create a mapping: * Scheduling multiple extractions to start at the same time inside the same data warehouse causes extraction errors. 11. Define how to map the record columns from your model to your destination in the **Select Mappings** section. * You map the fields that come from your source, to fields that the destination expects to find. Fields on the destination side depend on the type of action selected. - * If you're setting up a destination action, depending on the destination, some mapping fields may require data to be in the form of an object or array. See the [supported objects and arrays for mapping](#supported-object-and-arrays). + * If you're setting up a destination action, depending on the destination, some mapping fields may require data to be in the form of an object or array. See the [supported objects and arrays for mapping](/docs/connections/reverse-etl/mapping/#supported-object-and-arrays). 12. *(Optional)* Send a test record to verify the mappings correctly send to your destination. 13. Click **Create Mapping**. 14. Select the destination you’d like to enable on the **My Destinations** page under **Reverse ETL > Destinations**. From 991013ef5c8051d78b3e39fffee17b095124746d Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 22 May 2024 15:43:10 -0400 Subject: [PATCH 18/76] Update index.md --- src/connections/reverse-etl/index.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/connections/reverse-etl/index.md b/src/connections/reverse-etl/index.md index c02fb38b62..76a2d5982c 100644 --- a/src/connections/reverse-etl/index.md +++ b/src/connections/reverse-etl/index.md @@ -65,3 +65,21 @@ Learn more about the system that powers Reverse ETL, the mappings that power the %}
+ +## More Segment resources + +
+{% include components/reference-button.html + icon="guides.svg" + href="https://segment.com/blog/reverse-etl/" + title="What is reverse ETL? A complete guide" + description="In this blog from Segment, learn how reverse ETL helps businesses activate their data to drive better decision-making and greater operational efficiency." +%} + +{% include components/reference-button.html + icon="projects.svg" + href="https://segment.com/customers/mongodb/" + title="Customer story: MongoDB" + description="Learn how MongoDB used Reverse ETL to connect the work of analytics teams to downstream marketing and sales tools to deliver just-in-time communicates that increased customer satisfaction and engagement." +%} +
\ No newline at end of file From ba5d446ba6cf5dfa3235347f1de1ae9f247d6c7c Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 22 May 2024 17:28:09 -0400 Subject: [PATCH 19/76] fix formatting [netlify-build] --- src/connections/reverse-etl/index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/connections/reverse-etl/index.md b/src/connections/reverse-etl/index.md index 76a2d5982c..ef48a49d1f 100644 --- a/src/connections/reverse-etl/index.md +++ b/src/connections/reverse-etl/index.md @@ -68,7 +68,6 @@ Learn more about the system that powers Reverse ETL, the mappings that power the ## More Segment resources -
{% include components/reference-button.html icon="guides.svg" href="https://segment.com/blog/reverse-etl/" @@ -82,4 +81,3 @@ Learn more about the system that powers Reverse ETL, the mappings that power the title="Customer story: MongoDB" description="Learn how MongoDB used Reverse ETL to connect the work of analytics teams to downstream marketing and sales tools to deliver just-in-time communicates that increased customer satisfaction and engagement." %} -
\ No newline at end of file From b7a0c15623634bd710f8f236bd41488b75d30279 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 10 Jun 2024 12:00:59 -0400 Subject: [PATCH 20/76] update w/ new releases [netlify-build] --- src/connections/reverse-etl/observability.md | 24 ++++++++++++------- .../postgres-setup.md | 2 +- .../redshift-setup.md | 2 +- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/connections/reverse-etl/observability.md b/src/connections/reverse-etl/observability.md index 95206daac8..4269f14ab3 100644 --- a/src/connections/reverse-etl/observability.md +++ b/src/connections/reverse-etl/observability.md @@ -19,15 +19,23 @@ To check the status of your extractions: * The load results - how many successful records were synced as well as how many records were updated, deleted, or are new. 5. If your sync failed, click the failed reason to get more details on the error and view sample payloads to help troubleshoot the issue. -## Email alerts -You can opt in to receive email alerts regarding notifications for Reverse ETL. +> info "Segment automatically retries events that were extracted but failed to load" +> Segment retries events for 14 days following a total or partial sync failure. Before loading the failed records on a subsequent sync, Segment checks for the latest changes in your data to ensure the data loaded into your warehouse isn't stale. If the error causing the load failure is coming from an upstream tool, you can fix the error in the upstream tool to ensure the record loads on the next sync. -To subscribe to email alerts: +## Alerting +You can opt in to receive email, Slack, and in-app alerts about Reverse ETL sync failures and partial successes. + +To subscribe to alerts: 1. Navigate to **Settings > User Preferences**. 2. Select **Reverse ETL** in the **Activity Notifications** section. -3. Click the toggle on for the notifications you want to receive. You can choose from: +3. Click the Reverse ETL sync status that you'd like to receive notifications for. You can select one or more of the following sync statuses: + - **Reverse ETL sync failed**: Receive a notification when your Reverse ETL sync fails. + - **Reverse ETL sync partial success**: Receive a notification when your Reverse ETL sync is partially successful. +4. Select one or more of the following alert options: + - **Enable email notifications**: Enter an email address or alias that should receive alerts. + - **Enable Slack notifications**: Enter a Webhook URL and Slack channel name. + - **Enable in-app notifications**: Select this option to see an in-app notification. +5. Click **Create alert**. - Notification | Details - ------ | ------- - Reverse ETL Sync Failed | Set toggle on to receive notification when your Reverse ETL sync fails. - Reverse ETL Sync Partial Success | Set toggle on to receive notification when your Reverse ETL sync is partially successful. \ No newline at end of file +> info "View email addresses that are signed up to receive alerts" +> If you opted to receive notifications by email, you can click **View active email addresses** to see the email addresses that are currently signed up to receive notifications. \ No newline at end of file diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md index 5e4dc4b89f..04695300ea 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md @@ -33,7 +33,7 @@ To set up Postgres with Reverse ETL: GRANT CREATE ON DATABASE "" TO "segment"; ``` 4. Make sure the user has correct access permissions to the database. -5. Follow the steps listed in the [Add a source](/docs/connections/reverse-etl/#step-1-add-a-source) section to finish adding Postgres as a source. +5. Follow the steps listed in the [Add a source](/docs/connections/reverse-etl/setup/#step-1-add-a-source) section to finish adding Postgres as a source. ## Extra permissions * Give the `segment` user read permissions for any resources (databases, schemas, tables) the query needs to access. diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md index 55fbeacf0f..6ae2d4bdc0 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md @@ -22,7 +22,7 @@ To set up Redshift with Reverse ETL: -- allows the "segment" user to create new schemas on the specified database. (this is the name you chose when provisioning your cluster) GRANT CREATE ON DATABASE "" TO "segment"; ``` -4. Follow the steps listed in the [Add a source](/docs/connections/reverse-etl#step-1-add-a-source) section to finish adding Redshift as your source. +4. Follow the steps listed in the [Add a source](/docs/connections/reverse-etl/setup/#step-1-add-a-source) section to finish adding Redshift as your source. ## Extra Permissions Give the `segment` user read permissions for any resources (databases, schemas, tables) the query needs to access. From e9a18593c42b0d087d61a491c43da7f37af220b2 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 10 Jun 2024 15:57:02 -0400 Subject: [PATCH 21/76] req'd changes [netlify-build] --- src/_data/sidenav/main.yml | 10 ++- src/connections/reverse-etl/index.md | 39 +++++------ .../{mappings.md => manage-retl.md} | 69 ++++++++++++++----- src/connections/reverse-etl/observability.md | 41 ----------- src/connections/reverse-etl/setup.md | 9 ++- src/connections/reverse-etl/system.md | 12 ---- 6 files changed, 82 insertions(+), 98 deletions(-) rename src/connections/reverse-etl/{mappings.md => manage-retl.md} (51%) delete mode 100644 src/connections/reverse-etl/observability.md diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml index d8fc436968..511d3a2a34 100644 --- a/src/_data/sidenav/main.yml +++ b/src/_data/sidenav/main.yml @@ -183,15 +183,13 @@ sections: - path: /connections/reverse-etl title: Reverse ETL Overview - path: /connections/reverse-etl/setup - title: Set up Reverse ETL - - path: /connections/reverse-etl/mappings - title: Reverse ETL Mappings - - path: /connections/reverse-etl/observability - title: Reverse ETL Observability + title: Set Up Reverse ETL + - path: /connections/reverse-etl/manage-retl + title: Manage Reverse ETL Syncs - path: /connections/reverse-etl/system title: Reverse ETL System - path: /connections/reverse-etl/reverse-etl-catalog - title: Reverse ETL Catalog + title: Reverse ETL Destination Catalog - section_title: Reverse ETL Source Setup Guides slug: connections/reverse-etl/reverse-etl-source-setup-guides section: diff --git a/src/connections/reverse-etl/index.md b/src/connections/reverse-etl/index.md index ef48a49d1f..e9cf4f0b43 100644 --- a/src/connections/reverse-etl/index.md +++ b/src/connections/reverse-etl/index.md @@ -9,10 +9,10 @@ Reverse ETL (Extract, Transform, Load) extracts data from a data warehouse using Use Reverse ETL when you want to: * **Enable your marketing teams**: Sync audiences and other data built in the warehouse to Braze, Hubspot, or Salesforce Marketing Cloud for personalized marketing campaigns. -* **Enrich your customer profiles**: Sync enriched data to Mixpanel for a more complete view of the customer, or enrich Segment Unify with data from the warehouse. -* **Activate data in Twilio Engage**: Send data in the warehouse back into Segment as events that can be activated in all supported destinations, including Twilio Engage. +* **Enrich your customer profiles**: Sync enriched data to Mixpanel for a more complete view of the customer, or enrich Segment Unify with data from your warehouse. +* **Activate data in Twilio Engage**: Send data in the warehouse back into Segment as events that can be activated in all supported destinations, including Twilio Engage destinations. * **Strengthen your conversion events**: Pass offline or enriched data to conversion APIs like Facebook, Google Ads, TikTok, or Snapchat. -* **Empower business teams**: Connect Google Sheets to a view in the warehouse for other business teams to have access to up-to-date reports. +* **Empower business teams**: Connect Google Sheets to a view in the warehouse to create up-to-date reports for other business teams. > info "Reverse ETL supports event and object data" > Event and object data includes customer profile data, subscriptions, product tables, shopping cart tables, and more. @@ -29,50 +29,49 @@ Use Reverse ETL when you want to: %} {% include components/reference-button.html - href="/docs/connections/reverse-etl/reverse-etl-catalog" + href="/docs/connections/reverse-etl/manage-retl" icon="reverse-etl.svg" - title="Destination catalog" - description="View the 30+ destinations with native Reverse ETL support and learn how you can use the Segment Connections and Segment Profiles to send data to the rest of the Segment catalog." + title="Manage Reverse ETL Syncs" + description="View your sync history, gain insights into sync statuses, and restart or replay failed or partially successful syncs." %} ## Learn more -Learn more about the system that powers Reverse ETL, the mappings that power the flow of data to your downstream destinations, and observability tools you can use to manage your syncs. - +Learn more about the system that powers Reverse ETL, check out the supported destinations, and view frequently asked questions.
{% include components/reference-button.html - href="/docs/connections/reverse-etl/observability" - title="Reverse ETL Observability" - description="View the state of your Reverse ETL syncs and get alerted when things go wrong." + href="/docs/connections/reverse-etl/system" + title="Reverse ETL System" + description="Reference material about system limits and how Segment detects data changes." %}
{% include components/reference-button.html - href="/docs/connections/reverse-etl/mappings" - title="Reverse ETL Mappings" - description="Supported objects and arrays along with ways to manage your syncs." + href="/docs/connections/reverse-etl/reverse-etl-catalog" + title="Destination catalog" + description="View the 30+ destinations with native Reverse ETL support and learn how to send data to the rest of the Segment catalog using Segment Connections." %}
{% include components/reference-button.html - href="/docs/connections/reverse-etl/system" - title="Reverse ETL System" - description="Reference material about system limits and how Segment detects data changes." + href="/docs/connections/reverse-etl/faq" + title="Reverse ETL FAQ" + description="Frequently asked questions about Reverse ETL." %}
-## More Segment resources +## More Reverse ETL resources {% include components/reference-button.html icon="guides.svg" href="https://segment.com/blog/reverse-etl/" - title="What is reverse ETL? A complete guide" - description="In this blog from Segment, learn how reverse ETL helps businesses activate their data to drive better decision-making and greater operational efficiency." + title="What is Reverse ETL? A complete guide" + description="In this blog from Segment, learn how Reverse ETL helps businesses activate their data to drive better decision-making and greater operational efficiency." %} {% include components/reference-button.html diff --git a/src/connections/reverse-etl/mappings.md b/src/connections/reverse-etl/manage-retl.md similarity index 51% rename from src/connections/reverse-etl/mappings.md rename to src/connections/reverse-etl/manage-retl.md index a18e89bbfb..69717e3c2d 100644 --- a/src/connections/reverse-etl/mappings.md +++ b/src/connections/reverse-etl/manage-retl.md @@ -1,13 +1,60 @@ --- -title: Reverse ETL Mappings -beta: false +title: Manage Reverse ETL Syncs +beta: false --- -Learn which mapping fields support object and array values in your mappings and how you can reset or replay your syncs. +View your sync history, gain insights into sync statuses, and restart or replay failed or partially successful syncs. + +## Sync history +Check the status of your data extractions and see details of your syncs. Click into failed records to view additional details on the error, sample payloads to help you debug the issue, and recommended actions. + +To check the status of your extractions: +1. Navigate to **Connections > Destinations** and select the **Reverse ETL** tab. +2. Select the destination you want to view. +3. Select the mapping you want to view. +4. Click the sync you want to view to get details of the sync. You can view: + * The status of the sync. + * Details of how long it took for the sync to complete. + * How many total records were extracted, as well as a breakdown of the number of records added, updated, and deleted. + * The load results - how many successful records were synced as well as how many records were updated, deleted, or are new. +5. If your sync failed, click the failed reason to get more details on the error and view sample payloads to help troubleshoot the issue. + +> info "Segment automatically retries events that were extracted but failed to load" +> Segment retries events for 14 days following a total or partial sync failure. Before loading the failed records on a subsequent sync, Segment checks for the latest changes in your data to ensure the data loaded into your warehouse isn't stale. If the error causing the load failure is coming from an upstream tool, you can fix the error in the upstream tool to ensure the record loads on the next sync. + +## Reset syncs +You can reset your syncs so that your data is synced from the beginning. This means that Segment resyncs your entire dataset for the model. + +To reset a sync: +1. Select the three dots next to **Sync now**. +2. Select **Reset sync**. +3. Select the checkbox that you understand what happens when a sync is reset. +4. Click **Reset sync**. + +## Replays +You can choose to replay syncs. To replay a specific sync, contact [friends@segment.com](mailto:friends@segment.com). Keep in mind that triggering a replay resyncs all records for a given sync. + +## Alerting +You can opt in to receive email, Slack, and in-app alerts about Reverse ETL sync failures and partial successes. + +To subscribe to alerts: +1. Navigate to **Settings > User Preferences**. +2. Select **Reverse ETL** in the **Activity Notifications** section. +3. Click the Reverse ETL sync status that you'd like to receive notifications for. You can select one or more of the following sync statuses: + - **Reverse ETL sync failed**: Receive a notification when your Reverse ETL sync fails. + - **Reverse ETL sync partial success**: Receive a notification when your Reverse ETL sync is partially successful. +4. Select one or more of the following alert options: + - **Enable email notifications**: Enter an email address or alias that should receive alerts. + - **Enable Slack notifications**: Enter a Webhook URL and Slack channel name. + - **Enable in-app notifications**: Select this option to see an in-app notification. +5. Click **Create alert**. + +> info "View email addresses that are signed up to receive alerts" +> If you opted to receive notifications by email, you can click **View active email addresses** to see the email addresses that are currently signed up to receive notifications. ## Supported object and arrays -When you set up destination actions in Reverse ETL, depending on the destination, some [mapping fields](/docs/connections/reverse-etl/setup/#step-4-create-mappings) may require data to be in the form of an [object](/docs/connections/reverse-etl/mapping/#object-mapping) or [array](/docs/connections/reverse-etl/mapping/#array-mapping). +When you set up destination actions in Reverse ETL, depending on the destination, some [mapping fields](/docs/connections/reverse-etl/setup/#step-4-create-mappings) may require data to be in the form of an [object](/docs/connections/reverse-etl/manage-retl/#object-mapping) or [array](/docs/connections/reverse-etl/manage-retl/#array-mapping). ### Object mapping You can send data to a mapping field that requires object data. An example of object mapping is an `Order completed` model with a `Products` column that’s in object format. @@ -68,16 +115,4 @@ Select array | This enables you to send all nested properties within the array. > success "" > Certain array mapping fields have a fixed list of properties they can accept. If the names of the nested properties in your array don't match the destination properties, the data won't send. Segment recommends you to use the **Customize array** option to ensure your mapping is successful. -Objects in an array don't need to have the same properties. If a user selects a missing property in the input object for a mapping field, the output object will miss the property. - -## Reset syncs -You can reset your syncs so that your data is synced from the beginning. This means that Segment resyncs your entire dataset for the model. - -To reset a sync: -1. Select the three dots next to **Sync now**. -2. Select **Reset sync**. -3. Select the checkbox that you understand what happens when a sync is reset. -4. Click **Reset sync**. - -## Replays -You can choose to replay syncs. To replay a specific sync, contact [friends@segment.com](mailto:friends@segment.com). Keep in mind that triggering a replay resyncs all records for a given sync. +Objects in an array don't need to have the same properties. If a user selects a missing property in the input object for a mapping field, the output object will miss the property. \ No newline at end of file diff --git a/src/connections/reverse-etl/observability.md b/src/connections/reverse-etl/observability.md deleted file mode 100644 index 4269f14ab3..0000000000 --- a/src/connections/reverse-etl/observability.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Reverse ETL Observability -beta: false ---- - -Use Segment's sync history and email alert features to get better insights about the status of your Reverse ETL syncs. - -## Sync history -Check the status of your data extractions and see details of your syncs. Click into failed records to view additional details on the error, sample payloads to help you debug the issue, and recommended actions. - -To check the status of your extractions: -1. Navigate to **Connections > Destinations** and select the **Reverse ETL** tab. -2. Select the destination you want to view. -3. Select the mapping you want to view. -4. Click the sync you want to view to get details of the sync. You can view: - * The status of the sync. - * Details of how long it took for the sync to complete. - * How many total records were extracted, as well as a breakdown of the number of records added, updated, and deleted. - * The load results - how many successful records were synced as well as how many records were updated, deleted, or are new. -5. If your sync failed, click the failed reason to get more details on the error and view sample payloads to help troubleshoot the issue. - -> info "Segment automatically retries events that were extracted but failed to load" -> Segment retries events for 14 days following a total or partial sync failure. Before loading the failed records on a subsequent sync, Segment checks for the latest changes in your data to ensure the data loaded into your warehouse isn't stale. If the error causing the load failure is coming from an upstream tool, you can fix the error in the upstream tool to ensure the record loads on the next sync. - -## Alerting -You can opt in to receive email, Slack, and in-app alerts about Reverse ETL sync failures and partial successes. - -To subscribe to alerts: -1. Navigate to **Settings > User Preferences**. -2. Select **Reverse ETL** in the **Activity Notifications** section. -3. Click the Reverse ETL sync status that you'd like to receive notifications for. You can select one or more of the following sync statuses: - - **Reverse ETL sync failed**: Receive a notification when your Reverse ETL sync fails. - - **Reverse ETL sync partial success**: Receive a notification when your Reverse ETL sync is partially successful. -4. Select one or more of the following alert options: - - **Enable email notifications**: Enter an email address or alias that should receive alerts. - - **Enable Slack notifications**: Enter a Webhook URL and Slack channel name. - - **Enable in-app notifications**: Select this option to see an in-app notification. -5. Click **Create alert**. - -> info "View email addresses that are signed up to receive alerts" -> If you opted to receive notifications by email, you can click **View active email addresses** to see the email addresses that are currently signed up to receive notifications. \ No newline at end of file diff --git a/src/connections/reverse-etl/setup.md b/src/connections/reverse-etl/setup.md index 703ba8f5b0..4ac231cb2e 100644 --- a/src/connections/reverse-etl/setup.md +++ b/src/connections/reverse-etl/setup.md @@ -37,6 +37,11 @@ After you add your data warehouse as a source, you can [add a model](#step-2-add ## Step 2: Add a model Models are SQL queries that define sets of data you want to synchronize to your Reverse ETL destinations. After you add your source, you can add a model. +> info "Use Segment's dbt extension to centralize model management and versioning" +> Users who set up a BigQuery, Databricks, Postgres, Redshift, or Snowflake source can use Segment's [dbt extension](/docs/segment-app/extensions/dbt/) to centralize model management and versioning, reduce redundancies, and run CI checks to prevent breaking changes. +> +> Extensions is currently in public beta and is governed by Segment's [First Access and Beta Preview Terms](https://www.twilio.com/en-us/legal/tos){:target="_blank"}. During Public Beta, Extensions is available for Team and Developer plans only. [Reach out to Segment](mailto:friends@segment.com) if you're on a Business Tier plan and would like to participate in the Public Beta. + To add your first model: 1. Navigate to **Connections > Sources** and select the **Reverse ETL** tab. Select your source and click **Add Model**. 2. Click **SQL Editor** as your modeling method. (Segment will add more modeling methods in the future.) @@ -67,7 +72,7 @@ Reverse ETL supports 30+ destinations: see all destinations listed in the [Rever Engage users can use the [Segment Profiles Destination](/docs/connections/destinations/catalog/actions-segment-profiles/) to send data from their warehouse to their Reverse ETL destinations. > info "Separate endpoints and credentials required to set up third party destinations" -> Before you begin setting up your destinations, note that you might be required to have credentials for and +> Before you begin setting up your destinations, note that each destination has different authentication requirements. See the documentation for your intended destination for more details. To add your first destination: 1. Navigate to **Connections > Destinations** and select the **Reverse ETL** tab. @@ -106,7 +111,7 @@ To create a mapping: * Scheduling multiple extractions to start at the same time inside the same data warehouse causes extraction errors. 11. Define how to map the record columns from your model to your destination in the **Select Mappings** section. * You map the fields that come from your source, to fields that the destination expects to find. Fields on the destination side depend on the type of action selected. - * If you're setting up a destination action, depending on the destination, some mapping fields may require data to be in the form of an object or array. See the [supported objects and arrays for mapping](/docs/connections/reverse-etl/mapping/#supported-object-and-arrays). + * If you're setting up a destination action, depending on the destination, some mapping fields may require data to be in the form of an object or array. See the [supported objects and arrays for mapping](/docs/connections/reverse-etl/manage-retl/#supported-object-and-arrays). 12. *(Optional)* Send a test record to verify the mappings correctly send to your destination. 13. Click **Create Mapping**. 14. Select the destination you’d like to enable on the **My Destinations** page under **Reverse ETL > Destinations**. diff --git a/src/connections/reverse-etl/system.md b/src/connections/reverse-etl/system.md index d6814c79db..6784e1b104 100644 --- a/src/connections/reverse-etl/system.md +++ b/src/connections/reverse-etl/system.md @@ -5,18 +5,6 @@ beta: false View reference information about how Segment detects data changes in your warehouse and the rate and usage limits associated with Reverse ETL. -## Extensions - -Extensions integrate third-party tools into your existing Segment workspace to help you automate tasks. - -> info "" -> Extensions is currently in public beta and is governed by Segment’s First Access and Beta Preview Terms. During Public Beta, Extensions is available for Team and Developer plans only. Reach out to Segment if you’re on a Business Tier plan and would like to participate in the Public Beta. - -Segment has two extensions that you can use to manage your Reverse ETL sources: - -- [dbt models and dbt Cloud](/docs/segment-app/extensions/dbt/): Sync your Reverse ETL models with dbt labs models and syncs to help centralize model management and versioning, reduce redundancies, and run CI checks to prevent breaking changes. -- [Git sync](/docs/segment-app/extensions/git/): Manage versioning by syncing changes you make to your Reverse ETL sources from your Segment workspace to a Git repository. - ## Record diffing Reverse ETL computes the incremental changes to your data directly within your data warehouse. The Unique Identifier column is used to detect the data changes, such as new, updated, and deleted records. From e6c653723c6efbd398380354558b343da61ed0f4 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 10 Jun 2024 15:59:47 -0400 Subject: [PATCH 22/76] again! [netlify build] --- src/connections/reverse-etl/index.md | 1 + src/connections/reverse-etl/reverse-etl-catalog.md | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/connections/reverse-etl/index.md b/src/connections/reverse-etl/index.md index e9cf4f0b43..3f86d5d8d8 100644 --- a/src/connections/reverse-etl/index.md +++ b/src/connections/reverse-etl/index.md @@ -1,6 +1,7 @@ --- title: Reverse ETL beta: false +hide_toc: true redirect_from: - '/reverse-etl/' --- diff --git a/src/connections/reverse-etl/reverse-etl-catalog.md b/src/connections/reverse-etl/reverse-etl-catalog.md index d0083a07a3..aca648c831 100644 --- a/src/connections/reverse-etl/reverse-etl-catalog.md +++ b/src/connections/reverse-etl/reverse-etl-catalog.md @@ -3,9 +3,9 @@ title: Reverse ETL Catalog beta: false --- -Reverse ETL supports most of the Segment destination catalog - 30+ Actions destinations are natively supported, Segment Classic destinations are supported through the [Segment Connections](#segment-connections-destination) destination, and Twilio Engage Premier Subscriptions users can use the Segment Profiles destination to sync subscription data from warehouses to destinations. +Reverse ETL supports most of the Segment destination catalog - 30+ Actions destinations are natively supported, Segment Classic destinations are supported through the [Segment Connections](#segment-connections-destination) destination, and Twilio Engage Premier Subscriptions users can use the Segment Profiles destination to enrich warehouse data. -These destinations support [Reverse ETL](/docs/connections/reverse-etl/). If you don’t see your destination listed in the Reverse ETL catalog, use the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/) to send data from your Reverse ETL warehouse to other destinations listed in the [catalog](/docs/connections/destinations/catalog/). +The following destinations natively support [Reverse ETL](/docs/connections/reverse-etl/). If you don’t see your destination listed in the Reverse ETL catalog, use the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/) to send data from your Reverse ETL warehouse to other destinations listed in the [catalog](/docs/connections/destinations/catalog/).
From 737a0c1c90099446dfdbec8fe1418f30a91bd167 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 10 Jun 2024 16:02:22 -0400 Subject: [PATCH 23/76] [netlify-build] --- src/connections/reverse-etl/index.md | 2 +- src/connections/reverse-etl/manage-retl.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/reverse-etl/index.md b/src/connections/reverse-etl/index.md index 3f86d5d8d8..6d7b2956ca 100644 --- a/src/connections/reverse-etl/index.md +++ b/src/connections/reverse-etl/index.md @@ -39,7 +39,7 @@ Use Reverse ETL when you want to: ## Learn more -Learn more about the system that powers Reverse ETL, check out the supported destinations, and view frequently asked questions. +Learn more about the system that powers Reverse ETL, supported destinations, and frequently asked questions.
{% include components/reference-button.html diff --git a/src/connections/reverse-etl/manage-retl.md b/src/connections/reverse-etl/manage-retl.md index 69717e3c2d..978425b7ce 100644 --- a/src/connections/reverse-etl/manage-retl.md +++ b/src/connections/reverse-etl/manage-retl.md @@ -49,7 +49,7 @@ To subscribe to alerts: - **Enable in-app notifications**: Select this option to see an in-app notification. 5. Click **Create alert**. -> info "View email addresses that are signed up to receive alerts" +> success "" > If you opted to receive notifications by email, you can click **View active email addresses** to see the email addresses that are currently signed up to receive notifications. ## Supported object and arrays From 6490e325b498b115497b107e787bfa37cb264255 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 10 Jun 2024 16:48:40 -0400 Subject: [PATCH 24/76] [netlify-build] --- src/connections/reverse-etl/setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/reverse-etl/setup.md b/src/connections/reverse-etl/setup.md index 4ac231cb2e..62c80df215 100644 --- a/src/connections/reverse-etl/setup.md +++ b/src/connections/reverse-etl/setup.md @@ -69,7 +69,7 @@ Once you’ve added a model, you need to add a destination. In Reverse ETL, dest Reverse ETL supports 30+ destinations: see all destinations listed in the [Reverse ETL catalog](/docs/connections/reverse-etl/reverse-etl-catalog/). If the destination you want to send data to is not listed in the Reverse ETL catalog, use the [Segment Connections Destination](/docs/connections/reverse-etl/reverse-etl-catalog/#segment-connections-destination) to send data from your Reverse ETL warehouse to your destination. -Engage users can use the [Segment Profiles Destination](/docs/connections/destinations/catalog/actions-segment-profiles/) to send data from their warehouse to their Reverse ETL destinations. +Engage users can use the [Segment Profiles Destination](/docs/connections/destinations/catalog/actions-segment-profiles/) to create and update [Profiles](/docs/unify/) that can then be accessed through [Profile API](/docs/unify/profile-api/) and activated within [Twilio Engage](/docs/engage). > info "Separate endpoints and credentials required to set up third party destinations" > Before you begin setting up your destinations, note that each destination has different authentication requirements. See the documentation for your intended destination for more details. From 184c1b173536f68938a31cd9609a4b497552cd93 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 10 Jun 2024 18:46:15 -0400 Subject: [PATCH 25/76] [netlify-build] --- src/connections/reverse-etl/reverse-etl-catalog.md | 5 ++++- .../reverse-etl-source-setup-guides/azure-setup.md | 2 +- src/connections/reverse-etl/system.md | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/connections/reverse-etl/reverse-etl-catalog.md b/src/connections/reverse-etl/reverse-etl-catalog.md index aca648c831..7135eadb08 100644 --- a/src/connections/reverse-etl/reverse-etl-catalog.md +++ b/src/connections/reverse-etl/reverse-etl-catalog.md @@ -3,7 +3,10 @@ title: Reverse ETL Catalog beta: false --- -Reverse ETL supports most of the Segment destination catalog - 30+ Actions destinations are natively supported, Segment Classic destinations are supported through the [Segment Connections](#segment-connections-destination) destination, and Twilio Engage Premier Subscriptions users can use the Segment Profiles destination to enrich warehouse data. +Reverse ETL supports the entire Segment destination catalog - 30+ Actions destinations are natively supported and all other destinations are supported through the [Segment Connections](#segment-connections-destination) destination. + +> success "" +> Twilio Engage Premier Subscriptions users can use the [Segment Profiles](/docs/connections/destinations/catalog/actions-segment-profiles/) destination to enrich their warehouse data. The following destinations natively support [Reverse ETL](/docs/connections/reverse-etl/). If you don’t see your destination listed in the Reverse ETL catalog, use the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/) to send data from your Reverse ETL warehouse to other destinations listed in the [catalog](/docs/connections/destinations/catalog/). diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/azure-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/azure-setup.md index 750a193405..8f77dd075c 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/azure-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/azure-setup.md @@ -61,7 +61,7 @@ To set up Azure as your Reverse ETL source: 5. Navigate to **Connections > Sources** and select the **Reverse ETL** tab. 6. Click **+ Add Reverse ETL source**. 7. Select **Azure** and click **Add Source**. -8. Enter the configuration settings for you Azure source based on the information from Step 3. +8. Enter the configuration settings for your Azure source based on the information from Step 3. * Hostname: * Use `xxxxxxx.sql.azuresynapse.net` if you’re connecting to a dedicated SQL pool in Synapse workspace. * Use `xxxxxxx.database.windows.net` if you’re connecting to a dedicated SQL pool (formerly SQL DW) diff --git a/src/connections/reverse-etl/system.md b/src/connections/reverse-etl/system.md index 6784e1b104..c217245dc6 100644 --- a/src/connections/reverse-etl/system.md +++ b/src/connections/reverse-etl/system.md @@ -32,7 +32,7 @@ Free | 500K | Upgrade to the Teams plan in the Segment app by navigating to **Se Teams | 1 million | Contact your sales representative to upgrade your plan to Business. Business | 50 x the number of [MTUs](/docs/guides/usage-and-billing/mtus-and-throughput/#what-is-an-mtu)
or .25 x the number of monthly API calls | Contact your sales rep to upgrade your plan. -If you have a non-standard or high volume usage plan, you may have unique Reverse ETL limits or custom pricing. To see your Reverse ETL limits in the Segment app, select **Settings** then click **Usage & Billing**. +If you have a non-standard or high volume usage plan, you may have unique Reverse ETL limits or custom pricing. To see your Reverse ETL limits in the Segment app, select **Settings > Usage & Billing**. ### Configuration limits From 3f10fb15382da4042f6ab9eab49e6436a44800f8 Mon Sep 17 00:00:00 2001 From: Liz Kane <68755692+lizkane222@users.noreply.github.com> Date: Mon, 1 Jul 2024 15:20:22 -0700 Subject: [PATCH 26/76] Update index.md Salesforce Auth limitation --- .../destinations/catalog/actions-salesforce/index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/connections/destinations/catalog/actions-salesforce/index.md b/src/connections/destinations/catalog/actions-salesforce/index.md index 80d03237bb..0977bbd4dd 100644 --- a/src/connections/destinations/catalog/actions-salesforce/index.md +++ b/src/connections/destinations/catalog/actions-salesforce/index.md @@ -36,6 +36,11 @@ Before you connect Segment to Salesforce, please ensure you have a Salesforce ac 6. Follow the steps in the Destinations Actions documentation on [Customizing mappings](/docs/connections/destinations/actions/#customizing-mappings). You must select which Event Types and/or Event Names will trigger each mapping. 7. Enable the destination and configured mappings. +> info "Authenticate with Salesforce" +> Salesforce (Actions) requires OAuth based authentication. Salesforce limits the number of apps (destinations) a single user can grant (authorize). A single user can connect five Salesforce destinations, but upon connecting a sixth destination, the oldest destination's authorization is revoked. If the same user reauthorizes that same destination, this same behavior will occur on the next oldest destination that was authorized, and so on. To prevent this behavior, ensure that a different user with the same Salesforce permissions connects any new Salesforce destinations. +> _For additional information on this Salesforce limitation, please see this documentation [Manage OAuth-Enabled Connected Apps Access to Your Data](https://help.salesforce.com/s/articleView?id=sf.remoteaccess_request_manage.htm&type=5#:~:text=NOTE,impact%20your%20org.)._ + + {% include components/actions-fields.html %} ## Configuration options From 9194d253e2d412a1d38061b17032045205efbe31 Mon Sep 17 00:00:00 2001 From: jkaho Date: Thu, 11 Jul 2024 17:24:08 +1000 Subject: [PATCH 27/76] update and tidy images --- .../images/algolia_app_id_dropdown.png | Bin 512645 -> 0 bytes .../images/destination_settings.png | Bin 47724 -> 0 bytes .../images/mapping_tab.png | Bin 212692 -> 0 bytes .../images/mapping_tab_edit.png | Bin 206451 -> 0 bytes .../images/mappings_tab.png | Bin 0 -> 171796 bytes .../images/rename_events.png | Bin 65958 -> 0 bytes .../catalog/actions-algolia-insights/index.md | 4 +--- 7 files changed, 1 insertion(+), 3 deletions(-) delete mode 100644 src/connections/destinations/catalog/actions-algolia-insights/images/algolia_app_id_dropdown.png delete mode 100644 src/connections/destinations/catalog/actions-algolia-insights/images/destination_settings.png delete mode 100644 src/connections/destinations/catalog/actions-algolia-insights/images/mapping_tab.png delete mode 100644 src/connections/destinations/catalog/actions-algolia-insights/images/mapping_tab_edit.png create mode 100644 src/connections/destinations/catalog/actions-algolia-insights/images/mappings_tab.png delete mode 100644 src/connections/destinations/catalog/actions-algolia-insights/images/rename_events.png diff --git a/src/connections/destinations/catalog/actions-algolia-insights/images/algolia_app_id_dropdown.png b/src/connections/destinations/catalog/actions-algolia-insights/images/algolia_app_id_dropdown.png deleted file mode 100644 index d20fa8413ec8c2b0d7e34a92e8a8a646461a6bf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 512645 zcmeFZcU)6j_6Le6f*@i6QHp@52na!{^xk{#z1IMtLlWsWKt!Z>rGyfY-lYjjl@0*{ z(rbVaNSKjcX!xbIuZ8p>0PGT)}IsC+EA^_qmn z-u%gAq7ZxbX3Ksv8Vo`~&xO%he5(Uo7oSgGiB)mC2R8$6y@8Pl0o~Zi{tvym67}RS;ixd!=JOEqwjpO zQ<3?(d{%ftD2v4PvJbQ0k{5A1v*7b*O3Alwl+BL}lSsS0SRj`!xI#YZb$wH&=|vXP zo#Nf82LrFQJ7wsHyPo8SNp|1p{i$L*n`GC`M}vj)ow!9x)*zQFT*D)_+0~!jMIW#iaEZ%oriFvmg4j^54PC`t?sAQ#j zF_4*pOax1Zn@?l3>^`^bJOu!ow`FYJ3$IQ@x^wyFjDsq-{-{eH5 zZRv)RS}no*^kSjUXd^-y0=VL1ZeCMVC5mHVJy!I&=4O@*yyiB11|6iTK;C_1*G}`s z?(uzd_nw41N>`bqu7|%6tdrOY4_;WXXN} z&)+XU8=}O7Q&%hDDsI<39QEnKdjSitC3-QMF-_P<4mgh4y$8!CrYRz$~z4@DsHM>M+y z%E%wj6WLO^Z`;}39!lAL{iUEX(kxorhfR^qk?13m_GEKYy=tp5bgc@yx^jNuxqt8c z{Cqsh%!z^sH?yz^Jr;HBf1Y*Co@jt^MWr*+`&!aHvR$s6%US&5R+svo3#7;0^1NvA zh3Zn6*7YktrEVr)svL~iG`pG~mST19@dbM;VWW#2Z3^WiTSSd*kRh_zu!Q-mb!6P( zoAcMq#Kq@H)<{ub94|>LkNYd9!O2K13IjdGo_ltPby7w6%^m;{6c&vSP}J-5_?%3S-3A zG-z1iQ9^}#am$NNqkDUS{94E$t=FFffaRK+9wC~Yb=Dsg?}{CIDe^r8Jj+lOqQm_OM)%+aaPsUOz(w5VeEK9d9d zs5pVECv!=OH%=_0=}lAOj9QD_4huBjNvq`X-1}!Lx9#tJ3e(XPR6234(peKm6Z~}QH23tC>5;19syJu=O)HTPB5oNB8TKMLUyrpAI_qa) z!eNp&doQpz3>BIt7>hOwdMCKXX7hs0j}q>g1GE69z(|X{IdQNV(m>J#3Ol=uAHjlI zs}+J`mSUeU)iOOK%& zc>{h!^0hd|^i9@C^}1TnwdSxn1(eWJo-0q|lidW@c~0D1?CF3eZVlZBnRmP1Sby-S znJyVCLC#Euq@SpvMbL=bb`(+a`CTTjD{rH?N}t@~qBRjTk*FN5wlSqK9y6Y;&NsoC zXjYU}v^dCCSx?#_N^0xfUQahnJ4_o)S$vk=p4qzOx4A8%ctauZ&COWY-7$N(&0rOv z3SJ4F&tAN~qqQ}(w(DJWvbOYtQz45H-~VImX}4GLV#d={TbXX^IOlul>2KpNH}#f% z`cpO-mc+X2znvt$&Y(crhxe)*rfxo)h%75Dvz(oo?exHSH1DkJ6zz=dm|x{mptilT zm`>W(fwYb7){cwI^vER1#EGBpe?IztIK7T>D;YC7n=G|u3QP+EH3ATXt()hNrHoh>;i0d-#G6oSo6_itEeq4=`qvAdWPNvB!Ms7y-lO3K2Pp<&< zGas|HI{n2R1tU2!RytPc2cq8kOU;jq3)!_5b6@_@{-OUv)8=bu-y30i)z=vejeLjZ z>ClxOKyhGm2=GkhY{Un3khng`+r(#Jf8c<1_~3YW#VAart+?cENsKY7lC`qdk!t0^ z%GNji@9O>HPe!R7C=mN^_Vbs0Uv0@f%-vzn)E!q_r;UDDyUcoW3!O$@H6It!*lDu= zdPzD*(^`Kay6B27mD))1qx5l!SwHO0b( zElTBuwiW1~zOP#o_f-Jzg+C-FfsNbEy%#2)wi=v@)bWFzyLoHv=|9{`qDVp-Ei~G6 ztHdPAb263E)xxX=z`pAnwXTog!j?NaEnZyqrFQQA@&WQAB52><32;$gNt4C0Wp%-H zc90hahiSqX3Ld)`BAx0g+!hPe!_p^a-dz>wX8WxmwK`V5)>8{Ni6QaOQ zWZhKa@EAD3A3ar?ZVLCHojVJ0+%a#T9S+_&`i`QXfuD4&#EH*(%y!?qB<2LYgWDZo z-N~bkLo-3wjdvrkA5V++My4G#24fE|V=N#N3xR_aKVA=lA3|MDjq$_S<+j$-GZz#S z5{Xthb=k$d6AA*>wE6}jM6L^Xo}2G94x&^g*T9o|@q2q)1)Z9jlA3rKtj^xpiYvOd z9OzF9A|;h)c&d2F`MfPEzu@9-kSNjU10p9+s6q-e^8DM?c$Bd{*(uu-B;<(27elT;mK6azTs-(L3b?l2njlS zdo<|CtnYh4GV7eAKsw~P9ADghf=lti-bmR&U7d)7P$nZHxp0%{BB6AF@JDokj)>$h zWg;S#3-td}*17QbuYHJ#h@zc|F8#HS3E}wb^Oo=>Q2+IK@m&-VDdFrU;Tw@n{I}ke zLD?7oR=&tUXd{x=l~q=F?X z&p7KD`539IiP!?&xvlMhHul^B?w-HKArcD^Ar#&1eXN-S+}%7tA_3y}|I$N*Q2td7 zxX=8TE;A97J^F6#hz1I1|6`_0Z)a6g#kRg0A5}$LJuxbpofoj0G9`d^|wL(HjbP<$kyB0)5jU;!Tf7n zYa5`ikNExjzb^DYpWp7&KEV0!SMmV;by|c80)Djso^ta5{)o)S+2LQ1{c8D*>@V~B z?Q&wj1{2W-*?Y?Z-QDdyd?fzPak0N#>HpRE_xt>fP|G>M-pxqPnLr65%t?ZeUx4SY zWWR6vLsH|vlL`q7{v+i-wEP3*uQ`b5*n@y>zQ1^=@8Rqt!7B#%qw3#N8U3A1;we8r z;OSq<{;~e|G{*me<{#^SPowGWOkkt+uiKOO+co~N?yvpD0KcC9Kgh#x!uFS1g0xAH zivj*eawW)FC0eqHh@^;=<)rljE^N(`rc-yd9PZs`)DF9FLt6UAg>Qv&@;s!}KR}eE zB%s?DSYKS=bCB+Pb%mPGq3g}7o0l$KddSL5d|69cZN9YN16`0~qobpPqram+6ayLG zSvSIOXYK@|)}x{I)vo8*iJ|LKL>Deyf4odwY(uFXKhx=7Ood2^45m@sZf7FRD zHLHwFEgAhseEHijQrU9k*AF=23t}|>9EYTwZ!)jxrw%;o4*PSAeyBrW^h+^!AG-g! z$6xaBe}CkE?W~eOBn=<-5fr}t9}xe;Maleo6Z`*16;x<+KbUdt z;CTH!b#LTM;8s5Hh5A@kyBnj)2fjQH&U&9Y$F&!jSmi8L?9)%dEsJm_@OXWqq8=Ku zH({>a@+dbpasA&*`@e6MXVtntqC!6X_~X(=A$i$qXFyjqQe9jLss=`RtxK*0v#Cpk z?K&^>`PgYpawT@O18BHD$o~mbLP;T8j-+{*a^=CrHeP#8W+RfaEk<$0H~(HF|847A zb>fHj*Ysy-nm(^b{Gk1lmNJ;wnCW1HFn0xM_^C}BRX}42!OWL8^dTzwR4J3R zh(BeL5ruwcds{6HAStHaR~e<=*+3MBnLfC4pi-qFf{uE_Be+&Ak)dx)`sWPV>ph0d zoZ%L-3T`~IiVCE~*uxSlEato0SXsy?Bcjk4;)XN5Wv)qHb9wGM_pg7($W&>S8YgMK z8QBy<0&g#w)5mHGD;jBqroUy8?g$h4Eb%7{>MxH%OUQ#_vd(~Z4*{?McM<0|EdPFK z{x7Xk>o=3}+>{Jxnaw=_1{?d>2_a4yJPZ`Ej`xV0=ysmLIc^M$E)24a5i zY3v`~Xg*1csrkc^G`rw`uVH>`eQy+cnxH4|>13UAH`4E>zVbfHT_&RM@U%AY`-pNw zSa%X~&oKz1eF)$%qJgTlfl2}+eKXnAkk?x`-%HSbGFM@=wf++;JJjaZTe z7PuTshF!Si9%9TfGV~w`DbYU81#>15ZpmHC3sVv2#up6vCwee*+&Nb9VWh!ch}dFA z47w{Nr9}J@BZ!EV$xF;}jmFh3)l=5d)A?rg-pXbAez$|yKMD08z#UR9WBdi1gBW%F zuBEfeGgFW}(oAu%2*#W1=7a=-#u91m&8dXkCapZ`G57fV=VUI6cFm91!lV$u48CmB!a{tJ>%&N_r2I8aEg2hTZg#+Qcp5mxn1^g6$u0 z>jnA_lg%BoB_o>RZKI{8Y;F}g;#^akknf}G4nI2q{S%ghPd6vvLaSN+Fz4Zq+C?=B z^VfTBhthCDc*21#2)z=$A7*o{aYfp;n{Rwd%WKl&2P$s-0sBMm(-PQf$n$CLz4PzAvNZXDO?#Q^lNFTGaNdA3 z;ia%EZy+aJ^nF3ydUI}kAY`);TXlu=h(l^l$33s!xd1$oZlho6WDt4DF7W5KRU16`AimLN@sl$_I%<(;LvI2$NN@}(?q}Fd)a1gpmSZqz%^H`+ zry<(r){HTzSZ|A$TiyF$isBn78024MQ+tZruC1MF_I*7MbB<%1cATcK<~*xe5%O1e zp;z=1ty8<){H}h-GGNaaG&WXyhvXtybfd8BQnT1)*-PZcRv()!Tg6voYm?0BM}=0? z!8!_uMn;H!rPWELoGT%G!6{RvUf8ykurf<0(yvkfq_DHU5O>iX=r}!YDH=A=Q>EtJ z82X&9#T! z&RH@Ba(}eDGjo!R!;w}Vt&0-q$;H8?btJI0)C(}axr}{^3bET^^h=nsPs%_)sdeZ# z0inQg_3N{-&wBXXr=Jb-KD2KSr;6brK%q7!)h-U##O+$&4ZCAsO2v~s{*t$0>;h}j zt#(O#f7BT8O$VJqDd}F(wW18ijSLpgh?p$INuDVMHM<#kCSfsdWTj1|232kRGu045 zANEDC7Uo0cK+9-fCLh2Df#fpvh@yf{H{r)gSMK2$l&fuY^P({3Lz|N4MRprwvrm1P z)cUwXPs@VMZ%HiaBO!{hTYiO8;G-3XiOZsn6QM(CZ^-O^*6KgXl)NjPeDia>T@#(4 z+jY^@C`$jAF|c7XUQU{EjY#}(=uC5K1QXNEQSTbsQWi85e-&*eX`GeI- zupoLoLeW7-LblzI9g!kW-MDi`_X8bpwaZxF>B(!iA=l4$pY8`%dM?<2`n()dS2F{9 zw&-XLj2aJ*jI>IMN{I~Kg?P^JGyQ-SR%_pw8;r;<&xh@D_?NM%y<)hpN*;V#) zq@?hzCbR42r#WVVyB^PsEOvtWV^7+6Jjd5YxR=1P|gAw?FrT`I91mZG@iH|35*9;ek@bqc zye^j7tEMBEg4@*|UKxva#NIClN@d(W=l!wyB6Ua>vcDc-)T4R<&Izv@($CxzFEOo+ zo$^OE_gP2p05wFGiP1RJW?$uCt4QYmyC9ot@fUlHsRK5*sop?i(?>Ta#aQ6k%A4c;{rICfw}U3* zR!H+*?<3Z>sW(YaLnX)Y>#=n~7#I7k9$_=WV#@X*e>_Ta)rEcQ6SJWn1x4U8?bX-Q zw@3a-^D;M*yyJ}4m+Q{X*7(fDF_h4UCBNEbsLWCJN^=9KN5jE%No6IO9F%fpBu_R_ zVm`45uW0-rxW$)J-d)xjo_p=PJVw4d;X5Xi-LmEnCrw05LTf}YFAz#Gbf#$p75Zq# zDr?R$S@zo8AQ$=wd7k`=hBMV4iJKI|j8d$?TLnp4?}a!;1nzZB%zBesK>frfU(i zYU%u4SDDVLQp6oYPqu3X9J(3(d7|%q&RP%r301Fl(MN9yxwOA~*xRRXh}?33m*chR zaeJ#P?{#r?UiuH~_o8}d116#Q5aEu;L_*HP{FOG#RQdL=A2}S2bM>8{P0aqWU}G5-DU9wO_B%rmADY4{@~B0Zq}JSA1YRj!O)aB-mV9uHx^VJ4xWM~s%lullxxMWV zGslVdtruikZHysUYBHI=9SCH+MCqd)V)_#_C4i6A(%tf>T%FJHqA8+VUPursZ{;bpPEEZ_$-I_rGtbP%LHq3gC_!$6SoaPesWw0aQjWN`oOm1$S*7;tT7@RamUQS<;2?AX1lg_;H-G5 ze(!7_32nNyiw8Yea>BH;`@=bmK4o^lSF-X zwZX&++wL@bB*1@=#(c0pO`t-0xufq80bHe34@zE}Rt{qIYm+=b?G?ius5%VO>h_No zS=NKJC|>Pc`vFW5nhP3y zV&2dvE_BfBJl<3x+;;CMGq`5|^$OjFgrxIulEOk41U&d%U=TX=bi-(DKrAn5Di~D* zF<8<W;~`p<}~_a#P-f-fTFDc$v4pP7)D%uAPOHh%eSzaWtfI-+_F1dADz4BsEJdX zJOE$IEbxJtp5P16r$77+kK|^B4${vSy0f+f%43QwTQg5u^QeTP89oEoDzIP$%0(_6 z@D6EhF|J@>l>z5w;sCWALk6YF7LzYIAN0M2!uol`VKNF3dC7dpH1>O0Tu z=F^Pea!E^jueETKmfR#J?D|~9+oU9`7r*o4q^7R_LItP;LyYpXS?)%H50WVLGs$(@ zIKFcxjNH-}9SQ8Q^W^w(qV$lO#@FMuNMF+0Oun~RiddE##UH~oYK@=z*$ zn4VX6j?@Q^sxBcC&ZZn0tsH59Yk@t%+>k08vkY2S2QALCIBZWNLF!3A6q&#d@VweS zR;pR+!IOdd6}SmT)h$bMiner6;)s{_#Xbc)k@iqNZ4b^OAn`{%nPBr!S*xK17-8n` zel7;k(8SuLQgm*O6v=v4n=Q7UHar?Xm)!2{ZxaN671~LibzW@{G$Xtfk&Tj~4>}dC z>1mf&eRD>w6S$K?iZ)YBY0Br@Zx&fm;G@Vz(LEjh5iMG9ds1^yTBAP}!*6!5ee>vO!_~I$;t_Hs>`vPW3FAcbJbEu- z)f{=_(QkkD%U6=K*=F%Kl>ESmGT1aC8fjL&Djz9{(J)_C8|@#TivlIrdx%VL84dIC97IWjM?zgSHUi57?~rM4LH>Wm(s z+28Q>Mu`ntoi}R-;5Ld0%sJ=@2BwKSwrrvu((r6_6s3j2gcMQTg!3%puyG+h%O@?84sskU?Ziur0~x`+A1{OxX!cU2a+Dx0?e|_ zO0o7wzF!qm-8C-YIgX??&v2!0xQ#hlF+HqJ!sAy^BqS&9%eVq-k-@BD(pj4WQI5$| zfl`hL6x8!M<(YYc_w%Pt@dF@By!Kj4E13JloHz~K5{l#U6UXm44xs0NnzFONpv+N3U#fuUv#HX&O+9H9l0zCY${INY zfiypMS+k+88)J$U=&8?XV55gIO$oRp$?y3dt$8 z0S(mS`)%W{c_pgOw0oTgo-C(xkhvpvJg(K`yz+B5ZG>6acE^GMbevUwCtuR~-ZqxS znev_5HaCc-Y9B7!3Fxz%cvvzMz=!63f}i6v!U3#Fq5pdBxc3v)C%lTO)t59$WxXaj zS>-a-X&{E3id?0BGyJ-O){?hJ?D)%ey@7t+!hKP57C@wCtY}TzR51K7e}Cn?BJ}OI zm8n$=UzWTfrT^+pXQ&iww+ky;*FxOHOL4hE4@bm%PoTk{m*I;tq1c+Ymh9{HLa2)G{ zC~@Y`dPt~!no3QpdB~~8OHD;5c-KRA2@WZ6{&`Eyt8bY*%WKMlOP`Y7Vu-PylFS{a zr^y{)8}HTy9S@03X*R%>;icrh#|xx)Gotm2p?ri*CWYb-dx$p#6}nRI$Rs#c9Br7& z*&~oqgi3_%u{#Bnmk#}K7#w#f$k<5b5*(~Q1T^frfu^0s-DvV(9)?J+kfEAa9fGgb z`YdAn%aWYOiGiBZ8NKeF>MQ^f#b`600>NPM!r*3V|j@PDx(JY*AB>R3Ep4s1UFxF|tRu1hm`I`39Og zQ&CRbTmCi0otQN6h4bbk2`}kHO9-A|E^lY7oUGpSMmEm--K!V_Q(x86wJHRyHoMs; zGxjfi<1_2oD^5WsLuxEFC4E~d(Sl@UCfR%IHTwzetS&J+lVvRh*j_!|WP-O0@M3{) z*C57yHvP({YC($VxaL9FyAe@At54|s>$4-8vyMJgz3@-o+e@{jZ9-I_&_;@&EQc)p z#sOlm~?G}i%*+x_~OZ|KN}*r1w_m*SHh{f>pdOH-@Ug~ zTTsgguFh*<+F)zkG@xO`Ts4r_Hs{MY^Z;(`7$HcE<^ml{wBPC{#!_>O^%&%E!t&?$ z>bw%%Ftq^mmQGu><~HylQsTrXBr`h+=CeMnO(D@u6Qr}Iu1@oWY7)vcQew>N4+h(X zfA3%dPm>7Y5In^@+t%){nhOfa6U*W+UR&GZaNstr85R@X7pC53Coi!KA%ckWf4L=@I$9-6q-Ro$V zWHd>nFt6cPe?rl1lsaHIS&Slp6Hau7$|^A6uNvH{?z-% z;`5O@i>SW8?j|)^P)xvve4~YZWnL*yE=;D)#nl@)Wg`R{g=z{E8GAGUf2ma#!!jdNzxm+*vF#0YABMMPxnn%4n{P0 zEBORRF)$b}tKv)&r_%T*5Gf)H>_)b1vkLA?6smV&w-(hnN*!1_aybi&T*;@uoO*s% z>zc_u4sT6Js~I&g*e?yN{JK+zUv;C~2r>*+3(gQM!Cj)i@lT!TWAcC40w$>0> zN0#6mXO#tqG+gf}!6`7(fkww5SuvFHWc}V&8cZwG&xLBFG#Eg8Nq0zIf8u7f9y~)1 zF)XIPLwB~DQP1(1!?WP|evY}O=U}u~mU^GB12RoL$9n`Z7#ecwz)(NeSw>4YhM<68qw5r zN%r@kKOq*sb53D!MR-n+Q!JA4L(PrWjB+jG$%d5l+ccM7p-dkgrF^f+h3U}PU+3bu zbjO!r%7%7KGXG!1vX>t-ZoX?r9WD~c<5@w0-wAp z>fLryfFL(5o%whqdHn2IvDQ~obFkMM#Sga3U8n~X7Qm{DJUc}L&Pl7Qrl z#I?&Zc!4dcRqncngUNF_^im%$EypP(ERN%#L<6BH! z5*{s|?VQ-}(_dp4V*52irmMtH%&Iyy{W`j{LdMO{VbnBN15YCLC_Q`3g{8IiXVXOe zL$mbfb6~XC@xldeNR?7FENBS@pD+g*m%U9wy$ItCFKg%|DKaQK{&7kG@E``6)(sOH znUo}t7^b%0{+hWe3qz#z7y zS_^KU({={b7J0>e?b(wVR>N7O{_HAxu=T~Xdc0 zV@(I5a!2X{ksk0`^8>3vFj&pxOOn*m&@DmO%q{d(!iCm+ERu9Jc{*Ny&nLiI<#($ zS+&`JzkVpx5j9^jS=Ul&O%O(65(eX1kBmU)MPE2a2{xMgXPS(;5R!k0L_nVsy$M|D z1iVA7{^VC1ttTwRTiXRs`gA8%L(7g8dN?g227kZvzxN2WDPE%)OuhA(V|vCIX+hI> zta|(`UL#>&4GxZM@!Uyn@(9V)Lx+&dQl zHseFJ$MOIL;N|v}K}_vX7$d!`>djOcp#K3E3|6m}Rsf z#JPi|pUm@H|D-;;U+qu>tW|VNIgXz-74lDj;M`-3KQD&3Hs)b>x=72Y z@91vM1On)zCclXt9`lu%$PuEAjEKI@n1yn%NcC%VRlkoxn2j>nz^lYGSYsEw(XhJ- z5cCz0u(7(*FQiY}xY8in$0cOx>{nO`hNZC&?F+cLWt89VKdTw;yGSMBObEpT`G99K zrZ?Dt_C-GMbu|cF#Lr2WIoi$0cp;YHz`Iz4tW)}D1^%qaQ3m_hlvwl|D7olm%kC!b z7)cRorGDPHv|_5K;a%FtE$Fx9=n>w4V)B&I(0b@b70m?6{$ZK>VW&F5DJ^v(SAL{N zUaw2teJ6e9LKBt5oz?u}n@c;5tEF$(9j4E#Y6h=F<~k}|0#%vi;&w=xARB^XRm!r4 z!UNzJxVW-@hnjauFlc|(gr=YXNgcHtcD}=F=WL@m0u~2@6i94NulaT6zx^I@Mb|7q zwRa2g5JU?)dYhXA959jy*yI+|3t!?x0mgyChQUWmV(2sI8 zXWmTEWLqJBhINFNb2#!gqmKYwjWcr{CJ|5Tz@RXE12R1UnOQ zM(6~vjJIx^jf$Dy!c9VrqP|KSj>{;Q|l>*vY>)ZkR{d?(7l6|uOoNDm>l~e^uGquAj z@{XlwIEME|)Ucq!tig|ip3mim4csU7pZFv<#Oya19*h+HB)jlv1n%?UTRtdFu zrd;1!9U<67TLda)*pmj3XN_(ep_g8)x?>Um{h_3cn;gDAYvs|!hr?y17Exu_EBqWD zts3?_83wBthrJ4WQ0dT5Ng4DhSlw|ySif?mCglQqe(74H-?F|??E5#b7IhB7Yo4xsvORF` zdX-o~?geN%ZaCTNR;Q^s<%JXmH>46vcc*$lyhEb|YNkYL&YJ2eY>!eWJMZ7wYZKB( z>sIIZm`ayroE}bDC9SQ>jlsrdHlPTcXZgu$MCL`IIez|UoD+3a*ixgtaM5#ewys*a zqgnf2?@Yy8ZdSV{^zUO_u#DOHj@p9NvQ$%pGoFj)J2)Ya8M(?V$}#LAAs{&G6n!mt zh1?E+I5w5zqhCP>%N_ZVG@pXUfsN(S;kF%Hx1qtJBmvfW;9K-K~DTXAW7&pjZH&`}D}blm2Dd zvI{-jp6gswjs`YgLvCw^yeRHC7S{T(<8Z9-M?NyOHwoUO-^K5Ca_pQEu(K(&ad6iX zfg}N$*^3{gx%AVa2SjZb{gYNf{o6Ve`O8yM61T#T3A0<0Lt1xA>nLwA>OMlXy*$*t zz0!R8oz~%iGXc#2%gTRc$^Uzk@cLssao6nwl@B$t#oi8UJ$6YNU}2J!+p$Gyu6?^-Hirgv0`@}A2t$U>Xv$y7cq&=7vs#nm#R@dME88cN7qql@&1V4V|o>Jsi8Jy>kRWEqUlm<-6h!6^ILeY3Ro^OzxB z+FeVqd${Jvubc=J$Ax}EjAXR7t*XIyvrc`R;Am0o73In|)&wVay-rF^Qq| zEP8Z%W>r_S)o!P0^Fkhn%+&a0i@Av{t8m^tg&4utE#@|ajJ%bz(Lwi`sqgwA;l+bn zx{!F$sm1rMx%pZdu-5g52Zf-N0fCHllzy)5V|KLOx8B;ea1M%6zwHy>1H0k`qK&6Io84i9te zaPVcA-c&n7fRtmN<2u4t;sr^wkDKk>w<|%6WB78jG_&TQYFvp`_D=81=>gFR-%1)! z%i0~PU;umScVF@X_UtClh1v?DERJ~gl4PQ}^mmDRvhJ$bsxL0$#Q}YBcvb z4dSo;gkM^0m!hq;}|R*R7`*hvp_q!H8iIg$7q;k-tE`v z7H?P2_Ln*PyOJzi^VL%BQRK_-6ec?a^xCzst@}MqqYNLMu-l2@Rl?j$FEdp(0Z1(Q z`W%UyAAt#ZC0BwIKUS(({yxP*Ns}2DZXx)B1{oD=1QeN6F-vj72R%FjTyyZwnl`ZO zDtU56ry6KHXJCOi05D<~0dF`=wR2kZ!cEC@BCF*Vip!T%qJ9_j``anCT=u3l=_Ku& z^QU-HGn9o&26ovnUv+gCrfH4S7GQ0D+e}DlGnM|?T`q4ka=`nUDpG$oSH&&JQ!X?` zj_VnekoKoq?PU*?7_%O?ll6}1>lFBP?Z1>#WHoG^*yiE{FON6-g5Hoco-c5NJS{ zO|k6WjOGcy%*%NCfiG7{>ZuQYnMn$*OnP@U+Z^=gbbAi7FN&^Ct0r;?w{jBD_0{%G z@+8ITM0zN^aKk>tlfxxLP0cXNq}FAJxHsrSk@pl^R;+*8;h>j3^VVolMj#&JZ$4Q( zGPk|O2ZWjC6AB<-S?TgjHjE!P`8s337YV`ZEosF&MJ}OZ#fDFpx6U_x_etu z-Z;_|2{6D?b85%}mC&-m31O0hXjvOtgFY<~?_MwSjB)1(VS5|SFC#{snU}oVXVNDdG z6S>`TZTmZ0eEMnZU$=VTTPRoy*J}H({|*HG>nXXR6hN-{Rf0)|2%?cT_tv&oEBGk3 zpJ0>=vy(Je+4QFhm<_2WTHX|BzErIB&ZK|aC4yTdc%W%$9r821o?^C;!;F8@-ceGR zGYT;_qbDslCPOFW@^%kWM2Em1Nm_>lY>sHM)qx4`yy!lIqa}m^VNjb@bDss_3fj)2 z^(yDPr5~?9&-hcaF0MM@duDIhN>(hhz)hW>JOOh*hE$z(p zUdop`k3c`8!je_>qK5@o9+Dy`X@P!kc}Wd$02kjIE`c>sm)NL{o(xUpk84I`%sZEUH=lFh+rCa*?Fi7H_F(_MU=&NLPF;_>~Wi4XM9yfjB87erO^a1-&4zjn_VmyM z5G@@BVL#3H>+rqU_e0SiQ)$z|1ev4`d8Piunib)3I#-CObOi7aP;B;nvXx7a*W)vS z*p!>qp#&fe(7Ink5yA-k1!b`DPMjYU`&x=7`fDLaw0wk||Y<6?(?2PmD zd}Y>SQ8l;HaZvTx`ygq=;j7?mnfvkUPa`eqG!)@ox39fX!+S^JMhmSk()TE#pc1=n z>0cc9cpFwTxoiP%pqMeCyHgIQ3MSQVE3gNI=zWj=yJ3o-X~33x=aGD0H*Nh$ml-ER zbiWXKMzuTWhM77`g;g4l*DH!Tr|F`CL$ZNaF`Qb7lq_(gXu;Su`DF@RhWjsMH0@`H z45XgXzhqItu*7JcZTap%TGB1LK0a2Sg+^41f6nJGAI>)?|rW`b7$uM_51wphkqbB>~qduYwf+(+Ru6xzN-W= z9{CwL5xq3BHP%knOpe!4Zxeh-eK6qfWo-meTPrAWA?j1t_f&#81A(Q)=D32ed**9FO9L+ehC_8?Z^46Pj1T+9cJ z*!#rT_GYi05wa%GROL9tzjJ~zNQr%ISC<2X0mvSwnt=|GQH_(vO+Iaj*P*mQT9Dd5^Zt*Ar2rH_#G>G+6tF zJe=8*yyQ0$NA>yhW@I9MGIJ;gE9*In+)B%J+%LLTQs?d(z_9Dxabn0H2YU>Q$Upz+ zd5rl*P*2iL+t6d@9L-HbJo-l|rrU@#|Ll*Y^T;Ant1RVn1#SvXa^M%_IFV%>3RqC6 z{(S=pL}VQJWN=+LuIbuGcxl{d_74ci(OA&|8%}3d!5MS-D5tnMT`^|5+YBT4&qTOvto_%iCw62{Y2?mdw zkI9qkI!s}+xxuvG_dR|DU;pBm-5Q|Jn;4mS#l7f3T&*aHzca$AYi>W+&W0|hFIcTr z4l_iowVtnfcCh8Kf z0wuwMY!d1j!6&PiU$yvUrJnl*%npCHj|IoL2u@|I($)a5?8e8jf<`lN)-QUU+K|LAXeL@ z@~fM;bcmPHzigg=cMj9wVwpwCHXQbRwAwZs#^9C1hWMD(uJ}aEAnUwBUOHJ0%zFK`j!M2!Y{eT)XtCkb^}>3JAVD%TJFyvEZBN; zVgse-ewe#FcVNQdHUB7!KG}RNYDTkm%cnEn|MbhW*3l6$7x z04Ct|v9i$*_b*E}EuymTLhiLrwC+r@d=PgW9CN7X(X*P`4_>GOK(R>=Xi6RpRbeuf zn6t2L0wv+j6)coc=!m3z8xs1E+t6KerpbS!L z_KNxyfq-6lp{K?L7py#nX(smOP7M0vpaw;76y$T?HA2#NASHFbN+zR=ZE}=`JEtbg_*z1fvie)cYP#M|&xV_fTlHL`&P;j`1aO8T zCT5%r(x5ZBFb){CY>TOB&@V*-e~)wyPo}fY(#L{KGv6}(eC-i4YdIamPqqd$Z!@V> znul^Nfe=hne~dS!G~NuX(^_h=h0^0D3x7o|R)otX%o0#TH>S{iVf5TQ%W0!A8N{D4 z;GQiUyJk){NBCgC>EPZ>xTg~SnhsLwQvG!8+x1uA8tvw)-TB|b7%A~RT@^-8sv_VI zhw!hNdxo;^CUFPsUmHErXiSMI+IAl7VEb$ux;BCTsbZ^Fij{dk2vVRI(&%u|Ogr0c z1cgm2NH$N0wW#}pZVnY?K6+((B1PQ3nt^SfxbjN^rN_GwB+0H1d0CJ9_!TPOr)8f1 zirc$$62MGbHTlySszb6G0K>uLw~Aoa`3Mvj)*Ad5g=n*L)ZzDWhqv(Ilh zHM1OS;gPNm?zLO!wCfLSm(yB!3^lQ)tm=L`w{AoHZGee?ueoF~N+@L*L3mMj%MRWszK~DAX7MB%4{bTxF z;;DaIM2b%;`Q_D=y?bjF;kT@$?|tXC7CC$H*vVB37TM^kpzDgSqnw4HjTZcH=j$c&=ff@Q|(M)Gxe+T2J)qE6@=`{b;ZFZZHEX|#;&3p zDFoZJ0yg?+u2K9Q*X1R0xB5;nSvN^R2RPwMC~(QKHzkM$Tk91Wo<~Jf#p~o~cw*KM zk2-SJr|OhamjlaKADkVatRo0kY*PaZs{e6sQ%mSxJklqVNI#fWq7KDc3&Q6RJK(=W$2QH8p!=g&9pZ&T~x zNVsuWYfzMFy}af*2`!NAb?>wEm$dFnfFhp9oui?~b|+ZxU`llOlR)K`kY*LaD}QVWu30Y#}=6U?0~Lw&mqtpMMKY^U0GzcN3?^dQhkU#$b*XB)dZ}e<3K|h zsyY_2UCz%*|_jjb!F;X+Sl}or!?jRBM*}09&)(xYU&6;Z-fV8;1-h5anLCfWrOhyZT z;ygf9=$Ky{=z{adLE)o7aZP~W^;LY&YVx{6z={a>55cEO_^mJBR^bXaW*zTc9n&2t zXm#|i&;CgZlget$Q#`%NuK(z(B*d2fSOQD@fQ0x7d-)4uojB2treo#7;ytgDGKqQQ z<+HCA_SbI~r!`y7zf)mwC9L>%rCVGgP5U%cZ0pvuh;b^9t|2J-5zFsei~{Nd%$mT> z8GsD+r_?Nf9K2?8S)TiIl%`m!4R=6evTKqnqy64=*<#(BgYaGaZ@DlV$Mg8V9KxQ3 zYF7=j*q)WtQ%(|c8Y9Iypj&fj?3`hln?QA z4DQz!v%!$6y>=C?IAps&&GZs%w(69VAulB>&WPJ@ zT4HEOFVhgf%@*8+H2Hb^avHJIDEsNqQ5mi|?}q`6}1Ok4W<9V#=@ z;s;daq|yyA{G`V~FgBjUsi6zvw&?u;S`$unyv}O4xV{?Un_$>n={BJ+YMs=f_CgI$Ww5;6|YwFG?67c2)WgcB(?{*bIq$M5P#)n~uf z6C=D|($waN;u|}M@+0XO+2?d;A3U{QjuUk_UKwFz*KUHuZZI0iN!-sk5iBUg?e*Tb znS7Y+C+a*Zwd!#+fiO3!;ZVi(qmrJeX;nXnG#G4`w`?xS)HJxgr%_Gy~lVS=I1H;^p@E{*(XJGn^V1eWWj#Ur}^<6=vI$F{Th)UM&EO_{{z2Z zN41)XOa~4WP}{g;XJ3pcMlfXONk>t($y&h*+$Tn*fy(5utKZ|C-iNgmgPOKqY6ssS zFV&`NCGgATcW4q6%-)Ki{aF`$(2fug&5-{Vq-h^Jtwr!A?<_gD)LISHs7^x9$UTSb zsbDxTK<5ATK%-RCHNPVJ-LK7x###UbUegU>S(!{_vFS7Bbnr$L6lx}(-3Nb|YiH^c zzHXzqh+kQcw)TfC=uY45TJ%Pj&8B+C+KyJ16-?~_rPp=V*)2Ojy{cPZ0L>egI|0)a zBgd;^`vj9z#vI{`%!s0Q-jw!7i;*0YV6F6(86pQx42hyFd*fggc_c;u0J>I~4^BY=@fQwJ+@ zsz?BM4>WCypO!<-SNHwvKjH$lRH!#|%tF6^VzCQ>($`Wy7i!+4U%3;U==bn$Ogu~f z28_sA)i_=K-bCo525*}VT_Q~cU&@7dOx#L%v)I{OM>mGLFg?%L$GdG!20UrG!SNO|P8`#3uAND58%&&Vf zST(qCn8i(7NdV&8-__?+yZe9d! z&`sT34M9l*kdnZgbaI~I7mL<)5&CowLg=up7+azuhlV@`Uh+h#H^(0iDxAc$7lqw&Lh@H zd!#S@6IJ%L7Frm$>r*mg`sdU5U*^@qmDUVtt=qn`j@4U_sXNIm7X+F6nAbU>rSBf$ z4&J99JR@khs)y_%yk*C|+srwJx!E7=$?|5XDx*_gw23%DQ*Mcy@GAFj)VttZ?^mrN2rJe#JNToZk>@@q?r$u>4%rmWDf;GOK8{fx5o< zOMRYST8sROj6X63$sRn%!nG;5T93mjF#nQ*N?x4X_F&3%oE}CeDLIKIJY!G67A*v z0Cnw6@bD{Tt|s)=TiK+HL>y0D3IF%uS(tK?zF9y^rOnipK3v3dK>UC>+%Y+TNawx4 zCv&@bFwXR>6HDHooiU!0;t<>cDzxp081fXShVdQglY;B3F_;Nn! zO-nPqE__~g>&@OetbW4Y<=&!{T5ej056?uk!rKTr>0wU4r)&hd0aqntZ2)*VwHS7M zn#*?`-y2fRDpB(B#QR3Bp+?%8D##nW%ma@294k~D8N0F z?JI!VGoGr>6i%6W zmG%Zs?cikAiO%TVp)+F{QNS9X`%{I-`}1F+n?c=d9uZjvAjZMbj`kg&8{x=f-R?0Dx_Bq zf!O=r>Rc=mr(i^5OaD-?{Gw77kS?r^b9j$VE&jp{BaXkM_EcL|TCs=#cO4ep(Oh6L z-B1Vh+Z)lVFZLnw*0CgWbK{}>fD%8m!Sl<$#kcbKw^%=1dnkf7EH>WAGN|w<$}j5~ z&FMW^rPg((XR>RaX51qOIU+9MiKD7eis|VIml?jl#NOp*_N^wDUky0=zX2vUbUK*X z%dpA5siW-I)vd3jngE#DfCqsu>#RGimj>5+%wPu=i4x-@V&xehcGE2bJ>EUCT!SSr z&MbMc?1cCn;~Bf7*ZV+go;2U3{)L`Z9Y~me*f-W#NOwEvC#wb`1#937#n50aRRtaK z+LONS?lJAU_jPANpCpZrh-Z-!5YSu~^dhCoW}qggntVR%sa>@s0cHP1MW+OJlBUTs z*R?Q#=or(zrJOMd?3A|aAz+|7r>X|ibPIu{Cr&c?EKQNtzVR&dfhi&~F(18^l;8``U#pehv6T*6QN4Gn2~vD9~a#J%bWWNDxZMroXKu z?dmG)WEwX?XsSaqg4@TMamcX)C*VM$?6xd?(G+M8_*TP;A17EZ9yb!~F~x)=GI{eD zzV!ZAef}GEKT?j0o_f)29cgwu(R8tIJv*TB&YD@CPNN%&96s*xf0oRu-!%*^c#;Z^;a^Jq_?#rrJ$ty^`9jUf0gN)E zPa0ZAw}y0u%P(M<5h;1*&gXc2<#Jq^b|4a2;R(OOHh0V5)FHQ0y2*F`;=1UdJ3xtq zsP^rP+`Suo{3Fv*7^g9x0K>} zl*>RZ9YdEA9)x(R16*#srV3lO@Vn3tV&=TN2L7lv=JnmUE$NkDTCW(ssP(HWM|FfQ zajMC3&#ms0^skHZFynRW)=1PDkii1nbZx}B@4?eMoK(M1XK2&q@ej^*40X3g$j*Cs zcXqUK(A3!c<~ZXQBUx{Q*q)VLjNiQx30J?i{b5hLht^GOm`KmPmviHt;V{uqx$6a_ zYV$TH!XMF-$xb8_XI0!d6Zvx8l6GbYv*ZSoVF|L-7CG8K+I3jsK|*RpTJlpJI96($ zylX*c*nW}nk)_-YBSO$?jqPguoTE9>go#5e%o1keMz>2{IjS1WB7R8e{qn>-x6_TY z4S6z>woe5XGC!1%7KF2uhx;6=#Wb1XUW4ft$e#Sj5=l86iBZYU}sAk%+0GS;m6LhBu;fclQ> zvvHRHT8jO*-$IvSf>dHRJ4KR*qRnzE|P|!z)feq6^@#*%jX%mm>GzNAc z&LQD&1E_74q?aG~8)5UkyN|wva!+n$c{sx1yt7|Ke(j%u&u%#%j|PRO++EX&3DX@H zD7<#{!zV3si8Z5{%Z3ZonF^)}sG~-|B};(U#DVVWBqT$DM#0o_rP8(XaKu0w0Gnld z+?zE%it%6Sm;Ui*Fn=WEHt2kQi>bD`Kyc$S_onAvDl<6OnNcF1pS$(|fY_W7j5KRk z9sLo4_D2}({-Jy~at&%x5>7i!&~da)66(84TC$ z1xEugw&+r5wto&-a+9f=Zpam0>^(c(Fzp58c3j>ZVyhEQKWrp=*5n&j!7c6HJN#8z z#lSaoPaONZxXl9s1rW(E=>zhw`OO_wCMI8Xi@y3a+6H4OwHVW`G}TdAz8d$2sSB9Z z1%Sfaaw=Nz2YR7@PRRd;kbz5{Xrw=0kbvAY+GMSH8E%}me$p@9et&yE4$rZL!jm?J z#J7j`MVh_eNCk~ochlS+p-U+`4Y;Fqu`W_Fl_m~9mVpg4yTBDKzjpqsq+?NLeF&l#aCsix)nn2 zT8KW_M&%ESN%x2<+g~u8P=}_6TYklH})h-uw03v%4o(_+{+04Irp&wtI zUNQa7vBsdE<+rnKnRBqzpZw0M9=Tk#BiNO6vdHBtSxoZs+k;&)egz``wn~-4Uw$6E zhLIhmvYi|-$X^J|ynACKNm*XO70D*xqMOMReS zz_=WNQ|bo*!|x9BKSOJsrtY*dfWLccwRrh24e$^C%jk0eeZA#^u50?QJ@p^|EV2j? zQ#ro7AN1?!(LXA;tD?X-o!$8hxBe9q_(wK^KrV1+q{C*rGXDtkyKZ&Ze|jK<}cCn=XpWk^r4sTmHqVY7#-b*fp^UJ z)`PcwdMiEUe64$?M6DNw6P|QJ(S+ni>$oZ;5hv&Rjg$ap`nyI(mH@Kc#P{A1`VV#D zP)B)O3lgsWedJ%0)W831t^lxMzedqFzd_;hMDCw`|s-WyUO)n_4)sr z`b5v$J(BUn^+Ax^VTYpC`b-6YmU@>~s~u5ELzE@XKjQ=aliwD&a9nGkK*}!pH<(_3 zf1dv7+b7x=tXUgfOrm(gj=2T@@`wslCUup98RH_5zvf{FDx6Bs)X$i__BG^pwfX;8 z{y#m^KRjC{0iao!4OEc%R|*=^mgf9oVE!LMbj&dDmYt<7GM&dU7qG`q)Oan{LG`r5mUNnq^)Nv6vN8OyKlJ@kGS}v(aZSv zwd^;)Rk?qm;5G=>zB1kXJSS9tc&|L5-ox=jdAV`W?V6XW*N%wlAMW;n-Be}qbTr5p zmVK%Ir;Ej#ryr`p;qc?Wmb@1KNR|FMao&oee{tCx6WWoVz>ysHi=YM|kg%x>{_>DT5{nUXJR|mg@n+VBCX}$?7T!b+Y9;?#Q`8 z&{aiZ*ohVH=vigzFMi^QFK<=QP?2^zS~37;P3c#n@wx(wmA&bxs`7{Y7T;k z5PIfaCdybh~|ZP`Nh6rA6FKtcXNHo}FjZ@biq(!za#6ETrm_4MpPuaQqV+X?nvF3q=lGNC z%($YKtdO#&H&)X)XMHuhiqW)lNs?w)vXt>fgx$+!u4v*~W=8SJ^M-shjj1s6jKwB4O4U{9 zb5l_(y)M!^G}^LDq9d4%laH0vV2^Js>La5u^Y89AfA{MCN#n2D1Xd+|+pLMp+8kEZ zHYk%2sCs{zi=8EDORsycmY^NgOr~;~_r6&BZ8CCuB_W0CY)DwygJ>#)uw&BZpe@V& zdsp~{D+)75jkV=(sL=zrZ_j>4S?fn!B-VVs(vTdfFI1w8N&Qqf&VBPD2)(&%uiAK? zrqrW(uT2FbpEBRzdY8LwV08G!{L7Mq=Dh*@u*dS}tS8gYiZ@RwnC6Q${0gq77xV(Ztf_BV`{AZU$t!1Wz*M_2EJhuw2cy)-OC@8=4BC1U$xRl8qYP(? z-yNm318~HlR(SW1nu%`91DRmu@-N-4_4ddB>*IB)6UP`=c|9q8tocdaf4;$Tq(vYh z_RG97)64l7sWMKpYpw+1c{Hs1wKPCm&KZr8HxtTwxkw zCQxkF@2Q=lV%Fe;OeoIXkwml6lf4u z)BaUmW_~ftr$fs6?YoJI*9}rorIW>X;(pv={_P^p$rUI^y3^zeyVHB1&~u8>JG<9o zc`{x!XMK|U%=ycVM-aEd1bl3*o$|W;=rDyh13_C|dZuL~553mPXJ>ddyt%x%be|D` zCniYU3jo{vq;(K`6G2tSb#GtYIbzPUn#ME<-!wG8`~KB0>I2rnFrz&tKFpj0;pfa2 z+KbVwBZX6c=K`Re3%$m7pR`jnH?Kbx^Cb)^11YNWaOBHXJIl)#em>eO4HX_Mh`Fwl zD;OJiw64<|%XPUx&oL&BvQ=D&DOKd}R1|sg)KhA`!6Mr=S7ImnSe)yE(EA#UfdF61 z&4*t(!RfslzB`=JwxVac2D3SOc2C|bF+FeDpYGJVf$n}dROL^yf3iIMrQB*wV!YBj zchUK1cYIrl*c~7IYWz)}(;=O$5xvni!z7TbERm$2(wSo-T@xc91n!XXz$Y@z15Eu< z@{KYbN^D$dH!;OF;B{E({n+c{7e-Vi@1d$8B9FbG*jzJ&&`#-RmjjC7-Yj#)hw@Cd z;zp}?*Uie5780JO?r1x4l9F77>TKS)-5|XDEz*>KMEd_Lb#=Da$kEUjmrq9|tRIsy zv$OZ%_V#_bcL{pIW;r-I?tXgaCFrY;PlsDz?D74rk-W*Bic$yk)H_ob&ti(V_wG`j zELe`;)4x$oC^!-TO!(NA*WGS$?}STm$`jbrP@{ z{_zIyIOb#ZSnGpmM&7*a8Fj{G+naWQ;|Ea;;qNv59Q+2CjB0RE1{Ih%z;07+4O+mw z@cjtZNmuc_4;L$BD5T9dNR8$GhKFS?1w+<-T<4dm8>^uh0SsvdW7&3+0QO9`Fs^q> z0_tU5yl1!>=DWj$w{3c?yMyr_i@BD^+`F+y_RV@8geQWmocEP7G@al8dS( zR<{9&ZZI>vo|MXVg)>~`#@Wb+*KynU#B<04(oVL9S0BJZ{lBvMcfV;xJlk9F-~V(w zL^%u3sXJZYO=w8oTjErY7wm_tbjL-|`#m^uSgG}trn@b1a_`pX7kS+(N5mL2{c-iD z_PXbt_tp>iMT41lr`(QARwthnR=o}4L(NlM6ig|hrnp_aDrMr~w@U&`VzK@MuFbb>y*K3)eBt6pQ-c2=Gbodt8T1 zj>>pis-H=!SS*lgjG~);HM&$>&3g$fIy*peE3btD=I*Ru%Ooe=Y9LSf>`;qOVna$r zF#bDf{;xL~X_~&MXnJkPgUXC|?2OHjv?UYh(B)`hepn;rq@Yu^xkDma&b8PXqV1>Z zh4;{e&TJ@?j(6E9jG|!SIgyF40D+oM%BFljXjuj`Vjc3_Tf&RW3;f;t6Dhqc?dW~j zrw5ekD{He#dejc${EVLCR!HkU$|tAJkHfd#>3wAP9Q@f9U8hjz2?b%(eBT(8J3@M; zB4nj?Dj!4aP);rSx$5jfX}i1B1JB+cs|%OPNt^sWvX$H)qenv`gh6vtM?WC@WJUY( z#U#9*dh)%N0G71eP@tob+`NvyrW=(b`>K!SvTsO071h|s_s6=FOJog->#g4DFsc@$ zFmg;N%KPK<2XoZ3nU@V47g|3{K_K&);OcQ?Obp|z;e{Tvi|o?&$l{nuw^s;@xHamAjY7HT=^>RZg#yUfkcMK4EX^$kR4}+omuqP!9WXmN5%B z)D|MhXkhzA00jWwFZmPQ-t`!HbkKH5pn7cM*zXS78Rx6l5EiGJ>CP2l9@%x~R6e?K zLErzeLZ_ayf<|@dSZIvV@+!3RrDYeo4ED`pHoNe;E>@S(1s#BTl5le)?{iZz?{&N| z^Jd*{%k0X2+|Qlr^W_$I39jKLjS~z$JQ_}4J2zQzoZ_6wTAd_mIh#d|=SJ+YL*I?+ zte$&Q{QXI89xWC`=)RzlC&{zySKH10x-XGH-Qs>=(VcKoux>3|mXKMWpmscPkU5^@ zp_VhLbvdbql|qPcKN*L4C?L&O(|>oSFMm6=J+|lL%mZfiRm|M6o`c#Ld$k57WH-}4 zP2sFOZ8G8_5ESuJj(q#h%g~)rp_VxipX~PS(fuNM@tHaE&EX+vyM0Bh^hlwI`xNFy zi%3D6x?)lO^3 z);oDd+q?zst5i(1dYHO_V|Z`m+og4aB_Ec%%%Oh#u+SJI?oyv zu6{Q`TF(01%=@YD2=H@z3qy+=YF(dX=mtDr*Qi6+2jTzJaFE84H4kak2uf@6c{~yN z&_`k2H053I7GiOvi}6B{5uz0_Zcsy7UcJHLmPRphBkeS5d{jAVpzg>aiF*ovM5{e)Ps;sv2BYoQ=SIZQP=u^~7a8D$?U(U)z6NVvAgnDPAJ2dtbRkko~4t{BfS>Qaev1=8SDq-eW)SjW@w|i8NkK zUQOksy+v4E1HEg9QKP;xac}Exi=h+sD0FOwI-%0DNY7HyEMI>Jt_Oq+vCe#q8tD0k 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
    8&M>l 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

    HC8=vb=CEXw8F}uUS+!!R7(FTWL_nF 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]*gezl48OZCjK|=6Rh9hj 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 kb~Q%ie! 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�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 diff --git a/src/connections/destinations/catalog/actions-algolia-insights/images/mapping_tab.png b/src/connections/destinations/catalog/actions-algolia-insights/images/mapping_tab.png deleted file mode 100644 index 263f4732ed2d7b28769dbafef921bfc08b5f0ddb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212692 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

    Ri?Nv7VHu!*XVM6FS)$a0~*iXA{X&E7_+1 z(KY;Y4*kkV69l2BhP)g6EU^H*vE3zhL+dhyT1z}xtdcbEu}cj`NrpvF@4~IC?II^_!kgxxm&1iBkF8bj zC1spj;&^8Bzr#r4S?pghtZt=+-|(xdk=l>mhCcdq?a8f2 z)6-1DHK(|yqlom0^tklt$EQ*<0KemjhOXjlG_pkBV;fs`;sRms=uKKqZfM-q_woyZ*49jj% zVfsa$Vpn-i-k&X}=f)k52HOIg2j~iEbI=|b@XnEUKo>9UY3~#Jh3R#5@|8IcW-2zS zHTdv02N`iSfABI0sY!0$ln`UHitX6-aR_wl)@D_e=dxLogFudTPiFh|mQ3?(PSc_q{2r)Sn;sjJsaYvU@o% z_uJ*|o={`d-|pvW1K|F#%Z|VhK)-E3q)i>3p84@V-P2XE-BWH;99h?#NsS7!$+Z15 zQiAIAZUG=`Wncx^ihEz$zEB*$nrdz^vFwN5I!oqzN7|F|I8V~~`d-?A+Y5H*aZ~H; zRHl~0o-i^cHZZ+~v_bqc9|I<1X#=Fm9d&%iV9V+Xl8%& zP5p01CtmxpAA%JJuJVSO<(Qs5D?9cCXNq}_P3roWw}MiN)N?p4h>NvRvxb3e-{VJn zXSsxvz6!cATV)CPRa=XgWA!aei1NN5SSrxw>FcswNegKu^{c07itp&}9Kd+e$a=jR zfxDEWk>#d@M5vrmZ3t({V}-L6yg$)##0v#h>NhgIpv=YNdKfP1AdH|h8%*`hyum3Q zNQPF_%o2ax1IA`uT4t%+cq-w`l(>5ysGT8P&a@Ohnuk~V#?-bY``y01iP$U>5&iQ`sy#y>@%mtfhz*<`#-Ir+by$0O5Pd|8P|al;T}d z!Z8RhIKT~`OW{9si8vy#XdvoI9>|Gcf13RG%cGaO5b*+1z|zt0DDJrhglQ|s(9RqdL!<1bBW$)=c7}9yY>z`rB#If=GAG4CP)kgO($=nH^<&?8lOs=SXN>zoma2PRf#m$M zY3eGKtND6N!MrkL^0jA$EZGVxq2;|qKXwTpU3rh^i&P*@nn7B`s=9*K$J+nn+y>eO7$f`wg|h9aWB{VmV>0_nfFyO zl`_}^-%PAV%b3bu?PIm2SnZLz$7{F;#7WkJw8(otJx3xNBR9Yv)b` zl1uxXzdl^hU~bTB8{_`64Y(=ZCQloY5R~n%iTboA$Mj*rJypWArooH-w0F!OzWmeq zxuLK9vYOg8jk!TV!5S*9{3|W!hVWl)y(Wl_!2zijky>i=ByN~UfcK`@FnQ6(aZ?t) zoBIq^-%)#us%m?9Y{MQ>hGE~V)Ww8xVWO>%P$=M3EEQ5_Snc#X#ighnb`}T~3Hwf; zIlWQJ4Ana4uQ`RvnD%AuttNKf(Fiw#%jGDFhZ2AFpoVLlWl)I$W6Wr=LYV)`*DD2} z^~(*n5I}Z=ExXp4HeijgV!Q#v<~^oTTc*JUcs;nfFe$uZrbKzPoWm&KJS>}Y$6q`M zdU?Vic+=m%Nb`f44GNZS?F%R=@P=Np@IHhz4d~YrVv=6fmwilhEPyn zMYG4^_v^y+TfwFclQ8rr3+G>_UF49?c&0v)U+~w*6y}jTh9WLMoiNcImUD1d@dj5X z3E}7Kq)p36*j$^BDE1|nhIIfs9@mp+^Vhaq2YYuyVMp9$R4Ui{#9Q2bt}>E<&9tGf zeSCYzEu(Mef;xp~Yb;w71rBQcg9ZCv91`UE=4YPIO2;e#%(3wG1?|bk^}n_*jsFe5g$2Hv4W|5thA%fbW7t1lyCWd? z$Ck~0IKQIh>w)?S6qS`7pYxpCdkuTi=6*CA&)mKS>n(&s?o0UedW9yiaBe?Kguh%D zU1f`;Wl1%g&gfCHlokxznwCku=-4-xD1mdqMjF7SlD6QK`-;d$mIyg4B!(B0-<;ilBrbW*X9=a_>xV&3^c zvc`d^hhy&*zt^5mC@L6;k2A6w~na4rdx>VhSei zy};7o{A3SqY?17`xjU{UI_y(SQy4rGxO-2wa+B$Bxkcqe0XR@hXfW9A{O}OZfSY&5 zRvS$E{AGvXo5rJNLEPAVdaBa~T0fQ;{NLBculyfXuLYerK+BmxXYkY3?Nl@-1;PgA z%0z6G!kt+I)Dyx1H0XhexMZ zMBOj74;|=y)o~gIzpxlwOPgIA*18SOS7EN1Xzz-L*bB&KrZm@^-@}u<;fQ(@?kS9_ zzYLN&(|zjyT<@CBkk=2Z(2Qp-J}h-cSwQ^YqWk24O)xh~z2Q;0VW}-cnb2OV$RB&z zEjGG-W>HP2KxDU7E_&mh_zPe$-MOnWmYgK7VW)&hl zQ99%JX4=NsgK4nePT|dFz~)AE{g5^zulKd3nU#aJdb_*T90;jVr&D+JaJ`!RXy>IO zoALm)Tb?;GPN+efTc{u2h^wQnvm7F*(<|)Y()g>h>csaU!r+t0tjO^QO~h<@`n(_j z!a@4&$oH1dAB3dE>Ncq-tOU1V{H$nw8CL7A1BM-6F5`4-@f&NSj(|?BQoz19b(gIi zV@)84Vlq-l_IsX<*U+a;#-*9yZv(J|B(f+Bzo;T4Y=r zzcIi2hsxSXAA}gLOdqR5g$46??O($^G$uO^9{ed5M`o&iB{YhBP=bkkcM-vZOQU(r zaP@n-Ume-+4=U#41MS=GO#NqwwY^EBs2?G6Z|6G^!?jxH5*{U45_RDB6noetPfzWC zCW<2*<$X!7;ZyD^JsM`|JDc~;?Rq444SQMwf0d4w8mPtG<<8eF(f+mvC!Ul7fWz2` zEn5-}er_gxvcf9nwUTIxZSi%TX!WnvEq>K*MaBDo>h3eXkgm=Y)i0bX$GeLK3XwEJ z4$VK=KCO)6EE)R`7Rz2&z$aJ(hh@+2dcXfumtC;JdYs?8zUW+d0A?ThKy*IttIPKBI#@mG?(G&RGREEoehHlsWYBK zHF;<_72CjIF)8VFo9=9S!4-U8P6=6Zs7NvWTlknNmqpy7=9yW|RBUjjo}Bp*=yGycwI--udm zTnr?A94dcHmW3pPz{7v`z~L@3-ZU~pwG`CwSH?t9ZqKc3QCH2OxtsO!-Pi?kMbTos zV)3&shQz5}D{r{Pd-wY4XD@e6=wX>80aAsRH5@xq3Hb#36i#O$cUPg2uYv0#t)p*C z+6yw~ra_a9_K}pG%ua&oO6;LCJu}%|x|!4~D3KAqAAohb1LHMw(4v^VF8sUHA~1&* z*kppYsBKDJFT z9>EBV??%$CLXT#*uaaA(r^pb2;FNxo?QmTIrq>Lx`QxA!&9E6yIERM zQYL8=kyR%Ig`FW$4=uqNG(1~C@|*kH`c>IkE{SY{Pe1Fn`HjH`Crx{I(}oxtAOrnz zc5PPFb-fS{XscPtqxQWaPDJ}ZhvkRKY>a=O1)HDQ0E8c;TJmP~5PLRb-Gsskqk_iD zjI39O3$*L(UZ+b1Ht3cck9vhlbBKQ%-y4u|O|>Ttd(-5hQfbz<0A#?XwufKo`w>QF zeNH@U5IicagmIb&?R=c(5U*T?e3XIo<514a2U<$_>npnLr`&7ggZKE`|Fks=$OgKwAPCTmkx81GXZexw*(c7 zuOa3M_lJAp4HrHun5PnVBQ->F2L>|-B3s188&j)up62;7ePUl8JW-;aWVEOmRI>6Q zT>(Q*M!HylNV`-gBf$(SMy-~yt`QJrp$oDke6NBq7;^-Szr#bZ`fH{GB|!4@Yo!N+ zRMEpiPb_UA*qj0^TVxN$ zP*!K=5&)Y$44alQv+Xd=JJZ0}ssmhee;eq>M1;XVZP@2fc&^`>M5#Z@p~B*r>Jyr} z6&PUy)Y0wf|Ck+x1!_MioKL~29%X$z8z93*Z3bq-+3B<;={{sm@c57xb%+l%Qr22;o&MhSDOc^>(!U!kTWJ~|>WFsa zT2{B5uTvp&X7?)!vXstxCun8o2ETl~e)|sIX7?zV`A!1z*d}fE_$hl7EU{-}rZh0- z6%$S7=9GC>1V5hSq%YOGal^*vyh%_gKnN*LaJaj<)uyOY{q0zt%!SIfnky964}M$# zf?TdxM8<;M%lGGB7FZJ4krwdEuz=}k!madyShFe}u?^l(7hR#aaU(R4S z_sMs!d_cQTkW0V`(fElzl0YvJ>34Y&@Pv=pvq!8-T7s-WpFjJsmoftL!~f|dr?8~t zgIE|`(5638F^*v(c8{T~-X6vNRJS;hI@i3_uNv_L+vslD60UD!1MCQW*DbMtY9&4T z7(_f?W>;`fG^%&_BIG)AdKi{xk1TNnpsUdRmC0whwd8xyV!GStIu&Zj4yJ_!bdn&P zwSiWij{t%z)vPxiI4(tuVeHSc2>WKWTZKHEi9uG$%yywr%~Flac%Eq`Wfky;Z-J?_ zQ=+~IxKUfvn^rF)n-GzySRP+4R0UmT_SlG)=3f|0eK|qhYF*^w5^Y~5uF>viB8(3N z4x$LwZs$G~nk1U^!sDRk66jvG*GONdM$5!AqF^EQj@jm38=Wl9vjFo`Nn;mW!QK=p z_$>zlgNW<&V?gc#)n|?L-Zc_keZy4=SYBdpJqVR{AY17O42YoJ zva3PbxI5qN#$Bt(I_uvT&4by=vorlRQu6d+FN&8e3)rNUpiYL1IHe+4M3TB#xYjl} zVWcY@>cpQuKZdQ;#CzlM`K*?r&NG6#%iJ3K1u_O_qdmZCjxIwR`ZqHYC{Dsr>)&py z4+<$xDOw!G6sg<3uxT&*Zb&}pkjeO3`;{H%bZ}G3rkJey-)a_MoRYW+4br;wGPf$@ zMk>k4RoRdAJz2pw>TB%UO8h2Ut&1qjrmbp=9sOCJW_FSP6s=cSTMOjaYeKFM{)QFW z=Y&{C+IkISY?3E+0ctRtG~WU7x%(X@X&$bz8R8&V5HKgh)62cF>7KAJJvz%TpNA52 zLWoJ|(%=Ut;ux#=;kiew0ve)dVNj=mbZwOcK_b02o9~Nnmipst%`mf;EyC&tqus?* zmIW!n>vdowRYrgB?hQ{{-tiv+9G;3*ctxg>4z$(8I)7UUCP;%l-@bic|vKD3DPiN|?m)SC&W`e|v}QsI6C z;x;q!VF9Z|00MkONFUn$2n@FLBf{WjP4R0T-~u(}x%W-Zwl@*K?oB)`BRP4y2R`I!_4nT5)GE7qn64n!MB=xO+#oGJWU!sDpj&b!3*X_Ec?OBhI|f zY5+A*A4uV!i=_>CQ{?`m<>mz1w!7{AiD?x!NF*U`&W$&tOp3vc4_Es5kYEs*x;a>p zL|E$oZ`S7r=!x6*po&qGgJZ1K*UD1|d+?2iqo$?LU8bJfk5_%APSeVK4%{)s)8jn> z|6MCa*^u1@6;z2#MO%bUk*3P-LXYz@QN($&dv~#~KsJn2;O!5R7RhGb5f$=8F`WQ< z!S5!rMN~_!uQ{G**4CUbL=V%q4N0kdxVsykB4xc?K_+6^Y7>uM9sFuJJUfjnG<%pw zPl?limCoZ!Jk+#YOP*4qAMr*mjA%9b#`?ZTv2YzkF)<-0#?FLmycvn4D;UUI$#S{_ zVbvT@X%02#`OAfZ?R`*jy64vW=u3ZoevHwsx1loWs+x^4q4&(1KMwRJT{%cEHiv$K zBb*w7@FYspeC%6leBPd#Op(6RktwF@c39V;zIelu1F%*K56^EzcNB%jqXa86R@~~L z`bAydEFRhYlnM94=jY}~JpjT!*2FCAb*JNWmR))oohut@QrU*c1YEnz?m6JDTPIM?&8v763yn>!07g5UBifID!auDrjY6zi;OdO>c~ zmXyY~Zea?~mJbFuWt!&7!LeOd9Hl~m- z1gUhmT%UqJ_^z?JQt2tpGWTw7qsV)=vTZ_F2m%Wvgw|&N=LNn%O*XJ=Gs}3IPqe_B zE;VSDKsRI=kOTe)Sb5;)N;!4W?W^^L*aM)yE8SONUsQPU9VPP+LTzl05JvxYo6+&h z5*>nYAQKhr_;qKH0INKDA)9iF@)0eUGNwm&ky#d7i?ci4#Cw0OdEIz#7K%OpoDGtR zcOz-DNeQVmqP@tQQ-}N|uJD;qJ-r;5?pemSyo-#TgCWM8TMDc(!N~yoLN8jFY6|St zts^z>Uf=8NcJCWp89tbLL@mJ+I(5%Hho0Nq@6vuVA~`3R4&hT2H-*ga_#&fI__6!SQpI4tlxkF59t@-keRKG{Jv=p(v@l9wEy^IU$8Dw*G^sD z?-*1}-gVehQd>&uQeC31KXoy7+Zg9pN#)7f-^3Ug*E>A!OW_9BSodXUb}Au?K?ZD& zV`anjjs_4@Vs{ej?rKp^Z?0Up)9gsLR3MvD{QYnAYf1_6hE<+bXqeM)<5g5h>@NTe zW`{)4acJh#()VM(X}-#Y-yF{zqHQBvS%$=8EV~e&Ge)^o55Dta1P1tecnj0m{+jU? zY15EGc<7kZCG|+5+UPR3O!14L%XV-0;jx$=mcM4Py!OB9341E~stBlvRdGveLOUw=2o^V<~!w~DTK)svoOA6*^l zw<9WaRku0Q`Wj^(4`d{1rvo8JaE`%7yxs&%W}%{KI}9-oXmXRZWa*Nq3~L|1n7rPy zHYw!0WGGN*8H6UhwaFy8aQ|0+&C`nXB2}3g4oxt zBb&K_-J!JAKLC5w2ciIST_&`V=0_$5krHBg7D{!SRrY&Zg>fr4F740t)?B)1fdB^E z?@H@(f09auX!+gme_@{)^H9M}=BlS824{@uhb+Z0d;d1m!)O1Pz6}k+txogsU)qOq zlV-FqviyRPb@o>Fp`!xx5CVI!1fy(#QoPWb;T(m-N@>%cjj4bo*(PeOYcS*tFQfxD zY}wO7N|f?4@hVxWwH7aTRVuf*TMZ%uD${vp%7)}EAOe%mP&b`&y#!pFL~jJJoI<~> z=iBBCHMkdr;7k z8sfCeb$--mGdZX}y*Vkg{Uia!x5O-qvx@e`-Ixt_%0d(NBIsczjPc9J`|r%X{rTd& zn&J4{#i^c|Epsq(pfP$A=@V-R4URdj4=z0pfo$IYnx!VR2eENY=)SE_0^-9hYU`XA_^>rE4?KJm({HD^6f`mKA{{ zAmCv%E(E&w_2v2Sls4zFvbBN5AWV0TxuH{XKt!MXY2TosPMPp><~Th<02c_QBu?@|jr(Im_AwrYrF zC$wJ9T+R1py9lf;VSoKGu+y!`3^$bgaq&xtAT+WW7P5Zx0$43!(R^nRc`tJd6dU!g zD)LqQb$_rZ4&k>2aspK{T^5p^2Gt?9d;dZK?4!H+`-|?9vg2B;uA?`gVF{^c)I$=WAu#&2?^RR4K?c)V!-o<$65zJk0#@X7Lb6^-)63|HI88kS z-sKL}w~Mi@d%bD{s^AFMCYLbabFt%mYgr*9m4t}Z7wPTw#4f=CSgk#%Em)-TIrx&K*{$IPeE9fSBN7sjE@ z)2ztFe+CUVU#h7%_dZ{!;mWZ6H*?Yzg_ai%D(ccv3{OhaQ@s6_TK#JX+(mTPvw1c< z06^2VWx9I4DBmTV_GP45_L03goDfiXRVeDT<#(Ucte0VXZic&j_zEk7Y^AlQ@GZq} zVcNCE)XXBUvjsY?hKx5P;U7=pH9O1ETv9j&2eCm%U(M~s)89UZeT5nh-7$-O%A3BE z6C~JG@a5+BecqUrR#8o(R&(L-u5m5fNp-AIt(BW_=9-UYM_M4sSv0t45%_ydr!MuY zLt!!cL+>YRbKw%rB9w(mNbeiablJ8{g(+%0V71=_@o#He5e+ovP6t4gj%vW@UY3+pO{O=gsdrh`JaIe*5dgq;pV+sE1+NSjbpigA? zZu-SM&}^ne=W)Ld&k51MsKKIMQu|3xD?mNAIP-0Yp?jB0i06u~(Xh8!~!ecyA1{ z{T|f;EJaR7z)66774|;Bw??Cju(mrKGjJs7)y1O#thYC)LXjE;y3s#1Acs=2v$&zvXNyLjf9?7J&b3zX1PN z)#T&MB!A)<2JXo=(1VePXaDiH_{RccmicB>574!JU>p9;7Aie#_0>13=gJOxv9tges--@5 zWgyfRr>&8;|FQpgSAwyw+=wN!#F$%ff9@Fm+uWxtJTkr)(1Sm2qiof3B%+@VKGi&8+0?57yAe9q3E$&hYe4W-%Q5Oe(wDYNrRneP~hD{WN$pChkWgr==6`P2+T`w6`F^}Ke-`8EWd2GoEe#LKlLO|LZ#Ku zeKT=hytPL2Uxn1hQ|ZEaZy-apQ`)9+@R4)`mACi{UB9ofLe3t9CaS_D&4G2tYrp!$ zkkfAFz&P*7+Mxde*qeS+7>mQ*o`9J(dFXjP8Gi0=0Wn)Pk{VlObWXfbh&(lW2H)S9 zlpF~#r|Q&5yayq_`{mZeXEG%hqI0n`%R zztvJVquc>Od^Ln(4{FDEX&-6lS+6cNN>%`Rt4p|2hW z4JZADbsSURft-9^1z%CwwNlww+wS!PTGl)Qj9f<)U8cu7QSAvAax}(_**7ven$}3q z+oSTY>0!TPMg5D?04hZ zf;S>Ec%XAz$6aSh|78%}Z&$hnZm4a;%h3+yYqCcABm+hRE&7COx#ru51c4e%YHgx$pY^uV*R_GA?ei7=LWvQMBhqApYPw*<-yDT|aM-P|9CH{A3qto@6D9e|#tKKZ*%Rzt%#m0F>d8xfjhUv!#r zA%;8|_Nt8e;vwU|bOr8s>qpc1We8Xc49(g(Pr0#E*KJLK8kt;tk7j8qNTy}OyIrTQ zCecdJCdWa1RDqE)-xj)*%qJHVD9%KxEvQ*$*3tt@PzSJlWIax3+{Ocsl&y9>e`jz1 z-m3mxnJwCeJ+U!V3U+w=V!vL>JnU2~Ka!Hir}x_z=R8F%I`2NKh^n#6OhxZ`fk#dK zK#yxvKYe|q7q-YX)>|dV#O7O3wgnkKUTGGU0xWOf=R2tb8wAZU5bl$5$fbS3ztk4CrQScdrm=!QO;H>z*J?w$<011a3&sod48EH) zuHt-C3@O3C5;cFb{1&VNZ~1a70T_H2N3OBc+Nmr9m_Cf9C$CNbWun zxU>&HBNpuo;g!Q_*n@}BHfUcShc#QOe*7N#(AhB0=lTD2^M6 zjVbRRV+e0S`YB-NbnbQWro>@y;v5(-Q|nm5q55s=V44*N0Dr*%e7iC3v0_vwd-LGz zIq+kqC1Ed5!1GK$3JMy-kkgS9@iQ-(d$>#`L=KeubF+?=GERgLoYMYpWFVPxcv{}) zQi;vfz_+kPX4Ymc3e$J5R}!_>MoTuXeM3JuI?TGHGwxqV zNawq9nT_#^>OMocW$vSPn{+MLwX5Djy)S5Im?j`RS?C(kU)KOFpj-qJ0(f9XW7_&?IMa;AD1 zDlM-|6#cY%Wf~^eT7q5Pi^C22$Dn4RUHosg8ruQ6p|U^XZDuNwi4_~)7d$Ft z!!w1)jTn0_Bn;{OuOc#%>>)kRzS6!J73J*42y=-+u4IOp(dLH15E^#_oV$nLL4`ww zeKri)C4SLF-xIB9wHJ`H(_gw6VcdnebaIH6&i?g+vSC3@R#>9K(s@U-akhW+=Q`(A zv0wT6BlWoF-B#+8wtd%r^SMb(JPIjfQ~j<(=>8I73pQ88wO-vLL#O=ECu7LzoblF%7aj9B6E0)N+p3J z^$vf{q9xejN3?*BE^{bEcmc6LG<0b}$QcX|(+oJ-X2li%6sT?dyx)M*SRd$I0`#v} zmZD1J!}_bd6M6)gD@KygKkxI4f*X$FD_I8&eyp}kc$$LGn#)Y!dNeH3F0~bS!7qd2 zlkzVLrvquauW$!qUSIQKdmrRqs}|>Q2jQ9AS0DHQKUH6g?)QyJjh3dJ2_rLuOh5sj znmVJCKfmGuv5i8h;0P2>5-_cDCQV%MJnpdCMJHYM(k`{_{haKJNZb4M$Dd%h>q;C2v}$a;v|1SXJlk}bvL zleyc>)>QkhLvMk0j|6%3y*N(lQ!bAu`yeYf`x64HU56SQS3~bh|GZ@`J{mID3jSDS(3RxjnzS?0Rfyjo^39@|^iQ!3P+ z;&Tgy4Xexh;@k4Ek|dz*DidXq2H}zqIg4`#XPQi^Gwld6+8B54_WkxS9N_HO-Zf*( z#Hg%?M|i!*8V(i_S<`itTX&eg0vgnu6u>2a66sAoX!3~oKOrlPT@)7LF2~HvyGB6* zg9NMSsh1r1?@wGBbgK@deBm_mFPzB;9GeuEYBcLK&MsXYvjGl|G%7QMU5R z$#1LlZ0UI}%&S72u(EzFlim|^MKeL8q96^1K^c@)y&3#nX-TMr6W7$p`b|`0A$`l} z574#4$pgcH5QhMFy!4D|<7+u`r~a@Ep=?7H*&K$@HsB-KuSh z*1ZT90~8c@o{!6s*H85c7$~RQs^ZAQD4`c8Z1W;~2fUQl+0EL(Z-^hd=7bEyRF8h_eY@_W1e zj#*007&WIB?zQl1Uqx24>OgPmle95wkbWS0mVW+>&VkaMEDr`$@8rzSp#L ztH5PCpn7RtGx!>ycA$Lx?JWG`v}UpLdl{0>*+KX-0h7wFi`l}UG)G~2`OOL-|IaIaq=})e$1Da!$|TBPpZ$KW4cA^+8*J;7{1!#CSHGsBRXK#P}+?*llexcpXC64)uR3CM>lsk7&@o0{cj zOoJ^HVNWj)Iwq&6p5{HBPp>_)ast}bJg^CM+0B3nwQSn+EW&x`Pqg!^I- z0oiVyQTWeEk#Xh3eK zxhXu(oDk3qS|rKz?x;7TG49LwNFJN&{#&aUj{z4JCj4)fi1>_L@MYGMjJkOJ^%^0n zws`s83yprU?EH*@HG!Dea!o;S2wHX%UH9chg<+vq()BE6@x7p}{%R|AB`h{BNup!A zx;_}oA`u`k+n{h}l7jCHVs+bSDw;pQFB2-TKFbxFVLn53QX z2Qv}>CY1g&A5E>3`UJcA5tfF}qc1P1)AgH+wtL#fUWBRfPH+;=TLJcLX2{2Wi_p&{XABkYssj1k-%c}= zKr?x*BraE`fG}u!YunUJ5p=m+piyl;ICDZULldbo)zFN$5p|xhRHTDgDjo&sX9pJk zG7Y%|e@4);0qukf6`QCqKh0dP;N_)w@!-`Z97(|YWwI|;GXHd>QIug)k@ES!XB|C= zf68N*_}!6FnXCZdls~5CUNDshQ;Ob^?o5_(>Hb_<*%xM+jZV6tAM5ladr}@I4;{^L z%u4;Y6yt9w;RfZUKPjwXi?%wDGW6-Z5oX@j@-E@-tla+Q&kH^319l3bQjIo6Ca1z$ zb$V3B!=HQOb3c7IrZ~ifPD@a>&JlGqn+$3@78DjWc9~RwxH^hIto!oqgq%8A;;Exa z+M?qQ(WKB*yOR&vq{9U_t@|1Kka11$4iXAnV@ z@jm>*CB-;riA6B-oLQImAA3Z%?*9buS{!%fwHBxHm?quKv+a=+{P{^U<0kTKpubD? zPBO!&**3=hVIt|vLx0+Z`*WLltncHPL=8kB@nqsn=1?2c^4&?#UES43b4*JWrYw4w z_Ai9lion$!lY+cW18nQWlUL$fezYraSTBAr_t@Tk`p}OU49C1-`TKXnNB)S&dN}OA zKYi~-Wix}ad7+^bu!7fMrEwn0rWI5QJxiw&wZ_dsYFseX$JU#1ufq14D=!b=gG94$ z_o{5S2Jrp=45(!LDQ`gU3y)dl(hetG;aC1U2=|-v>`^pIz+%M8sKrICnAN5`QBl0k z+3Nio4*6j46@|?OqjV!w){5*?7RgC~tHEbBm0QP>mYw@0kL5@QUP}eJ_+7c%;3TS^ z%%Sxt3xkf?o&f%^(fyAyM!#Mo<@od0!!{POm4ipTX-Jz4CaLd5j5c=rNh|{?SuHfm zLrS~K)!+OdyJkPTFbbY<5=g5&0<~?(xanr|;?s14R!g2pfUI)xPb8`_VbYM}tTxzG zQ%yHr!ky$(|JsRovX;a9$-GO%Cq>9iu!pspN`XPP4`zKPJ?=Zn2}|&)!V>79cEwkt z`jP)P>QIssyS&98|Md!xbLXb75VV?kF!)GvP+7|y$;EnskN2Nsf1*nx{pbI66%RYl zC2{Y2?TMoNe}6^8Szv_+FweXx1~|e3+Tvj=P2@A+_KyBj>-HQt+_PJBQBJbebh6ks zPX)ljd3D-XZtnAwG(e2%rHE?!t`U>*E&bG zbh7)URN(ElE|Ah1i;zD*%KIqqOxOLsTN)RZ$yx>i{8!?F_;E@-pZVkJ9P}0b{EFVJ zZt{7sBIEZdQ!LOdz}xv*G#z0p|4%i_^e}?tq-7)G)%}0U{bB&!A`9d9tmrHIeLjUU z*j+mRqdd>)j$3ui-Ttp1>+d>tbEN{#(dii#CFM;3`1e|nyMF7xva<>5vVtDx+w+_g zFiUvmb9cq$BIQTvf(2jhWrw`EC6)GL-ho5?xR-pUGil9LnwJW0{t(lEONH~kN%mUR z=~3hTEFw2kBGrHvMOU7)av3-$Ynb@-%_(rG+kU;h3twjb5~=R9Gjqn#jncXU7Bvgu z83~@D0>DhT%bCxy^@R9Sypu{#4le}%)#@bnrN`FkOZ$DKV@2pbMD(Q>98n1P&@p|k zE7Z}+o-)eUjXvFddxIwC?zxQ80Jd-eCfR_YR4UMmeB^`>ND;C*e8EA0 zsSy+a{k5}2UGA9k%)_ET+>wQ!|KLA%U*#0@I?6uzp09g|(}mM4-C5_%P)S%gH=H>DEp^aI&a{)3gD?y=W2?Xp+&1g(=EF+)v#gU{)3_# zj9BSZ7O?yB8^^dX+nzVPorMN=?&^GMWwY^s$-zV}5z)CG)nqVHW19$Uh+L%gE{0uU zcGGmtndm{mk^mE8<*hgAh~-1ti8ex_$6VN!@xg<$5jix=_=PUJQnyD-E#Il7e80a5;u0wXt|sl zLa4iW3F?&K0~siwlY4nL7%C4eY;lMpLMCbpQw=yJ7x`;G5Zsx$jeZ1SPi-2oTqmuo z?rL`jY!$7P7lR%4{y*~GI;`q#YXc>ur4gi4N&!W>MMCKoq!d9qq&q|jQIMAIkd*Ec z6zK-(X3>jSuwYSlvd_2o*~jfZXP9U$CrNk2F^nPEotZ^{z zqT_1No*3^o-U>T%dA;p;I5oQ$=#61B!vW#a<6*p-Rn=DzV=_u6{=mOBdMW&Kjb6Ly zuYEtiZLn))W&F`x!fSw< zX_Z7+XTTkIYMfyM0)X0>ax?LDCRXqc03 zIsIt%oP9Pfbt@2%%ULl$(elp?1Kn((G$0Cp#%qZ2nTs)%_iev5VHcX)esy)$&6O0Z znMvrUXxzfDK`FAZm-g6H&f1~anrKJ3XhvD^ED}P~lCMjH_$n2b0TuC7(#(~!nR56h zEis*8jharF@5Zc_&8H-6VAb^;n{KT%8Z@{oIzt7Sb{E^DYb$Pcwsqhz0Y)w6Rq>CT z<1X60ajA1^H?SXUQC!nA8Hnp)4sz?R=IY)jn2b^P2fV%ET0kYKJmxPZ-{#%8Gg>gs zPMqU?Vgemoozs6M^@YJto5{4Lg7 zS^>vAz1vA%+@=aQv3eRGdv9&__dBK!;9&`wr=GmknN65;+ov|^O&docVaNfW^2PO(Q|+00#IXexy7c>ROz~m zQr+dmM)Tug!<_0vY2%RXnZEJUv&ORsE8rqc=RLO6ZGIuuXVbw2n^>(XUkuTbcJuj76@jTAxkVsaH=W(5m z-tx-mXcKXs(xV)v9={5st=H9zh?CHOK14lI&#q3=@i>ybYXacA!D5I4y;pmk%)(r05o^}$(s5hfq3%t^docxK_pRepYKCviKE(b z*9(r=u^U4Zvsn;r;WxgupaJ1}5hGstX=(uV4T&+13+slS2Sxju1~+d~JSmQ(F>Rjv zXumS$Mm}5|*T$Pc1kN`ekBUy2bCrcbtFui1^5d`bv_0=hIwIxTot>Qih-uPDLtpX#_tRPEw>xGmxpZ*)F}$Z$=vc~t&moqGqrIi+#+k=li*5O?!7) z9`tjvqm*w;YfcFId6S7uSWvg)>JAn;k5xSGD_cvH(Szfmhh^XJDY$z)X%l0gXR8N3 z*Bt9$%ZSNW>Uoq|-H~1#i9Q6R^b2~ZCFEK|V2MIhput9U@cwc!?&Px9{IuH1Rr*~R_!r&J6`|u5B|wIo zEA&jC_vtf;U)1sqlCO&5EgZ`DL+V^?Rv+)3&{CRAKydD(wOI6TvPC|vb%8S%`A%I1 zQQpK>#bej_w+o-xK_uL9tDSNFy)eC;>xOT8(qOhft{BGu#gk2$R;IP5Oi1U2P4*lFoZh&PBL{C zC!Mde9q*Y$$}r2^X5e^coFeEeH-_rE6;^1U!Zpu3g{X zN?+bHSmb9iOfI0=NNV_x%7;E-_Ka6dsPLhP)yND~kqM`C5S z`aYi=d$zVj#q#v!(O`xp?$$C~RLsE@`@oi&l^ye_oo5QgLo5zwuIMyfKOG{J+e zf}&8_l{(40Q&kq?-OrP3M+ySkA+oZsR{71|oOv_(&eSmeUakHHk^C;_@7sLFDluh0 zJf-Nvz6FkaSp9_J-C*$tqlkll_;;dQ9LYmU@_?tQpE+NQJQzBRE(T=U|t zlzZG0w0>H(u{bdylBE z8Qb=2S9;>QMZxv(BT-dpl5l%J(pd&n8!dS?!DFJ+ULA)eD0 z(s&{BHkl1SE|k633|UF#crlC=U=KD69LE$u#{QiUd#VdUB`a)X7I+o9 z7B-S#(h0N8tOfnfZB5iv;E-Iv_9>2yX2Q~EDV3Z(AleAG{!RD{qbWdP!!})B?~gk| zpUfrd8k%~QNO|j2jvnYZ8@7x5!Lt5dqAt}A0M9N#2$u*X1Rb>-;Jf_i?DIJ>qW;ub z(9^@*RH$d`-_^j?^9accj2y|54|J*LkEZeZ+EuYJrjHEEQMm0rmYnhcz-n1ag|U*> zK7d?o?d}t!Ow?80uKMQ*Vc&S%08hafVv7$+(4fA0Z*g#h+vQw&AsKDDBbjz)mm>bw z+-sbb@&t3xGfSPgC?gFJ^o`A$rmW%@9&>&enfE7a)0b(1i4Zv{Un5aj)5<}b-d-(H z-#adVnxu3TT=a?aJBGI}fo3Qhkcn|E0bIV)%)X7!s=}5N*$lNKT?DC!r_G!RQTNUGPVNsMwU&21Ng@~6B_ zVcFo{{**x>(3b!T-!5gtYdKF5&{)_uC{wSWr8f33-FxX;GzS|D6KAk(IQGolI^_`X zUU+-#8G1JfZ?99>wrRokZc3MR`-k_GV!}PEc!-)N*R@g@bYyrNdZqD%{TYCvltr|@ zJJzz&=2Bw*O?)IK|hQKDxA*evJ$ti>D*jq z;m8lk-G$^|3Rr(;faV&B>1+foY}k-t_k{N7(6PR4{|YEHdokU1nNi+b?90F5Gh@YU zCzN8``9X$8;ri^A!1i$GB$}w~E)3iR&iJ^-XLUkF>1KinRpbn7gV_;Z4{S{*U95MY3JY!cZ_wvA99aMo zb^42DjU@ZNiMZA&PRQTPFB40*ad<5)sE z9QvZ{lG;6(rQa}BmPu&0tj(NMH@TE9vM5G;H-(VFt!rpa0em-9c`v-BxSi7drUh=QoIvED~WXZ$#^ zU7w+kKB%%9RLt6@;Te;*@nzg#x|@P;3V1QVj=!;9IS=K5S4kcZs?EPZ2@~m$5H9>HR`!pun9)y(IkFc0_2K5kgN3ibi?!T6 zuxZn|%v8`U^TZ2XA;JNo_!UM2eOREKj65=%AhC@$drDLY1VUg61fYQ5s-fPdw9IAg zjtq#r-iiRwXRKmfq3NFb(&t&SESD-~ny#}3EFNDmoxvT{57T|)jr+0@0K{3F_}F-2 zBwRdx@ThQx2@nf|;ad3a#;Jz8C+NpkD-3RhMyr-*j-Ne`En5%Guu@%wj2+ih3<2~a zq7lbfOIMHN4qv>)C(*CQv4c@gG0&lzPKMVk&cD7RFdusQN`Ge0e;v%LT34A|MPa$? zDmGNI)F7j&HwnO^VoHD*H+e4SmGdsM8Stc#XU&_8xt;dBx|Xt@1_J3 zxuIZ6Za4($8+pkGVjtYtpNcwx-`!h&nN_-!qq+AKxCr!Ttu%E>LMAeCs|Uf=rV0Pp zamyzjeMO225>4$NzhJ$!Jv88TfZiRCZbVt-x0<*CIwyF^Pr4H9Ne@MWQd~epFg@{H zDj+?Xky~n|ZebzoCPp*{rtth*LW@_h9=R`@ zvpuSevP^mm8py-V+-9w{r5D=qMNk{iTMZjMrO{#M%}!Kf!KdAqiw`ffy?AJk*mSFd zmnp}-@63+$RZ>cYSte=wFk8@+L+ASPL@_0_eOm!a;U`TLp}T2Q)kkh zWB8!uR8XOL$C4(A`4VphL}>XO&ngSn^iB477jOC+2%{Akl#S1%fJWpRXJMc7bjS7c z5)#g+Nn`Tj)yLbmGG%b(#8L@0CS?mD!eQ)aT%Vi{EAhR>xXU^^^O5>&kwo^m4V9;Y zYchT!&@&9>XwZ}MV2IgPPHBkzbKLp)Nd&pc+|7q^+#iQ?4`1q2Y1!45r8JG*Uzx$b z1D_EYJggncez;b$c8=O^3}bOn2#ojHG?kLY?(e{o>x*NI^xWA_SV^Aglq^oc#SNOR zH>t9Gg)uEwz>Q7>lEbjxIq%ap@*#7hH$~hn2P<`5Q#X?mOBab0gO5)}_` z!xv>OOc;CL7HsQtcwo?XvTn+z$ z#$`_+WV8{l+8DKseL)P_pvOwB!anu?Gu82{KMK$P1#36`x&9C|JZF{n(P7l#&MDLR z$jj<{_BDx!$X*?wLDwCT&MGX&Oh9TtYNuE$Kp zZDB4q-%p=ti5PAVsKoV!QHyhko`lAJFM0M5fWwM(o+i*~E7Eh-XU`L^PGek78j6@S zzT0Gj5%w48XmCmO0lj8G@^X|?A}^!mZQV>e8js@M_!IbK=fNJJMCfs9*v78MyD1#SD0QADk?{EjY1E0O7<#iZ~?-K%{MVZ3HwP77d3| z1CQutMS0A&BZNrl{4HD}%Mt91oLkm23!j9MV+6rBL@n60FV;4VsyD zHgyKFn?cRmQw2UqFFZ0{2#wo**}6dlG2GS^BmA|4(CSzY|rU z+~%Mb4;};&{4tQ8l0`w_942!4L`3KFeH+OiQ+!hPpoHO)*T!V|e&n47-wvjk%$AL! zn|Mrir?9nszOMZkYY(fhZn(bQ+v5={B5s*37r|*LcKR&)@#Ny>ey8RrrmgXh>n~z( z2M=eS&-I)0nbq5D0Z((FekOm*qbESzvBJTuthZpvAk?0jC|gIKHo0hChBVt3!U`Q$X2+}0(7BSwm0Hx zVn8-U>2O=r2z4rh5w#&%_HH5<;++4u%P~~I@u(Vid#w8m)G{(~HK+(lj>ADS+C~Zf z2MH*78EF^t(8qfz`aJ>3V$-cFwVjB1Xl+=N`6X_(IH;MPggeE8OXM^1Hs(FQvKIV{ zvluX=)2#0y`u;U!-tdG?9%=zjgL*-!nYsjy#wNBy4xkN9Xj`=_A&{BmjqA+{af zD~Ym+6fp-SU_XpdQ&0tE6t)}=H_?KL`9npbSf56vs8JW`H*sPuw1@0HI}u7nM>1@% zSB#*9+YvRLOo-;198Nvzsfm={sfb-lBC~g4pX!)paDlN<0uY@tcy9UuO2GI~}#5a*e3Le@q5h!6?c}8&Un)iU< zF?L(i4*UkC1Z_7&?e4dfJ1MqjG=r*apA*WTsZLdwoOzo{14JUsX?Jj$^+M#83vR*h z+e?3b@U}BA^?!yklGpoCk)V4hrNaLjUrLl?16(a^l-S7-yv&3cP>%2fcQU#vH$Rk{LHQ$oh+CfKcBY;i4FfK))=nGeP4cM zsrk`&`u*+Fl`q|>lAlP#Z-v6YdyYT*-REoIW%bfAttF7WUVS*VZS!B94dDH$4F2f2 z{~)jgyq6;Sj`5EH+*qUyh*+cRz;h19SxI?InWW%gLYb`M+)`K_y^(eR?8geA(ubPSVRK5;Tug^26A$ z9~Spdetby^j*6M2hcAW#1tLM!A@^cM)s^5P0iKk9IgIB&ZP^bW0aZ+wa$x`3Af6)Z(@81)EUYGw5uF>ndd;bU*IMu&X?$8BnwLboDwaMj~#x%GLJ#Y^& ze*&!h7phaD8raN0d6G0-%+xS~$cuNb1ZR_<{-svsud2Fqnad}lzAq{HO@j6oNGg7M zx%pRyjsL3(2fAhcvLZ2ArEN6QPs~Wky9#I&`Bv<|vq(V**(&f|X#%GIj_OA8vqMv3k|){b zvzpVLTj@!VL~5{2z~lnn;b#r2zcTUp4{Lr88<+usCl4NAf?$7tdID53LhfDFia7f_ z&)1v++`4mPhN{G?u<(8C3SN98RwB~BwO}NdRfW8%|2smyjSfZ{lK@T#6KoGunzm0~ z+97{fh+ntr-~6HF@|o)Ckzp;A*!V^yboQ8kBAas;o6~5XBx9uLJN|Wbq%7JcM$(U2 zUrVy7Oig1EV76c(qtI8^)rqG*V9R>FfcB=Yu1?n#K4lj;-t*X*?? zy$7TYB8h}T;EQyH4hb1k;%EO&K>5Zox%9&9xrzz_d%rM~$uoMrAU?a>IRE}@Kfl;7 zzqJcSvhVszuIe{aP0!w6*G!P`@9zI^E(E@2g+nJ{JJ}vylPduYibyiCqn|+jZ1wNI z^QW(hDbf51JX!$OGCD&rHw>y@_L0lsW;H=mH=NoO_fOX6Ki$i3hXjm><(F4zSQ??;6QMO z-v>t*N)UPQ+K&ElRSVUBT<$;nKr`>ON4tI3VHx@FzEh=^ zbcFv$)u#Sp5K_ZES-l{1n zGfCL=`X+M1tN%v9`fgl#uj~Bo2Kyf^upd4ORWhxBz)qwqY-@y?9-+(-mh_)IqTdUl z06UO_47JMG`@S=kVbe9$1Y1N;|EU@0-Zvv%&^vA(VFkuG9Z1&Luh7kkiRv}zSmFOy z?h_|5P?-YDCvYehvb%q1H32S)k<)L_v2!ogp!GRyd%8|}f$)YL$zuWA6_#;+XY7AI z$X_sWvX`qQ)p5v;**|&s!i?Y2xw)q2+y zHfI~xzE``>ucu?q-7knJ6*|HAzR0l2nk-jp*EUywqt-b#1QVwmI-CNAxKib*lZ$_i zC1Q~y$a9*qo)1{NEl@tV`+_~O174TBS1d+VPnIj`oL#5{q0w{ ze^urgUVKK-`MusP>syrLQW?5_P zc7@zrEWnIBi2c!ZN?xcE82-wwlYFwfcTp(V6DRfxP&oiHXvpDG_jm}8&4Ng0EI$jc zrJkq)o_P9q1_@f`SPZ_uDA|Mxm)gcQw>v-RA{C_pSsp0Foloq)$#g%~D?W)7I&aUt zoo_Or-8$_R)zA?b{=VMAG6k5=bf1MP1H6ESDP)`o)J1lM-LpTXL* z#ic)-zrFtz9A#5U-yTd@SJt z6;CZ5%*g`Ns8#$y4W&W^XxyjAE_#B43tL zbmAMbn-W=aq=Uth7PB63+B6pBWYrmwan^?sZT94Sl?QCkyRS2M3GcNTd^;Il!+}lK zHnEvUNDXHW6qEA1t?fBIu3T`rgK|&AVxS;fZv}9hmD{vx%^yYYoci@9Hb~`<*<^!O zHFenP0ISES!l0n}pcH9U2bY*T?A2(|tYo`VVw!1RvN~Sat>CN%A_qe5f4qOg`b6?TJFX;XW`eg*$r z*fsH-WMi6OOlvq-wap{K&wlxvR)rIC-~$uqqcV4M>X8Hrqj(8h1^fCZp}ET1Y{i~5q5?=ab)R}nXpKzKa(an zD?QY^c+zpIN&aT50y6~7H2uev@Qv`LZ&ukeri!=fz$_p6b zC-6~G9;>CR?2iSwywq>=D}Ja~iC?t_BdFw`$-uHfTgfYdQQ(%Sn5H1rx`?}Kpq{yd z0nKSo@4Ktq!Vtc?c@8JQz0Tvew|tP=f?E4wGsOSGVWl`CNkZV&xxp#)ct6%Yj%b!N zvnVN{qq(U=4o|Gav@1b%>|WW|5pyti0k{f+)*F^uO6j@j#MsJ~qvz6|UX7&4KFKf| z@HL zBU+zP|Kf>nCSwLRXqP{+jQ1y41@M$YudMcz7=_He09>)GZl%WdqhKLd!F*8I=@*=R z=`FF#E$&Jea;H=l2Z{i>CxurdAnE|4{v2M&<2{JNer}DtKHcz+&vN*?U^$>w+WQvc zw?0Ll!PoNqh5}0>iSdeHB@4C?I%B}Cp zh4Et%nu|T~0YKPS%a*qnMm;W@KUItZqpJ2{&HLz3-B_MmnF3fQggjv+g#>;c+jh-Q zj|lxl6(y&*+T0MZ>kNG*3Tx>w`7eV}ckVx4us8~dEy_X-R8pIN>GrKk*&`BrYo$Fa zSr@0@LGx5;#y@D*KUu7h6*@-4{h+THpPVn+X1Y<9dXhggr88P10eeJQ)@sD5Iq8l- zvtiRVmyxl*LTRK-UR1}DM`s36xdr6r?8zvHWrz~iF{_`z3Ya-HC^zrA^qqWd9x~ao zbi`+M8VIHjE0-93VZvJ_V}tQZ6JA?|ZwoV=73(#y$w;uW3uEP8<3L*-Z*XZ+{k$T2 zurX~Q^l^EY_%FIcJ2x)ThV1Sr7&`X~>71D1P!4zDu-Q?VZ9d*mx$XW~|Pf$YC(e4qUUSD=Y zFTO_ghx={PQYKEx8UhKey;Kp9+m+rFg3n3Mj>kCjj?~%qtR^KAvR)1a6MfCuedek7 z`Jlc(wYj7G8N}yvRsB_Q%bRa7sDC=jjc=kb|TB&;lTkR zolwNX*Zoa$De=tj_J^K-L=tUMN%Le|@84dm*|+RVZhAj|urX$<-s-NIYqOPdY$B+b zR1&3CcpUkLv_sa*qmp;+`p&`^`MqtL2V`7mE_AG#rSBj2tScYT#63!dbneT?6y_M_ zM`gwISi}|hY@eD;)LL_8DMr5RjOKXC-8aAz`rTs8Z?*i6jRvjUE$?{cKq(dP3%_Sk zg3p8yMH){d$Ej=}a%UogErVzo6?kYCMf!9oX|C4l9Y*(j%K?$n7DY>W&@HKVRE}QLwU?Ms-iZ;P98QWuuISi+8aMEaV>cG+O4ABP}g~ANA<3W3C!C|WTb1som_!M z*)VgU)k78V4wa9M_=9%fp<#0QTj;YR+=!G>6j+F~t9KFR0ECbc{Rj?K0Csbv`1#Qb zGZdKkxk{pti`C|^7$wg^+6kO?pgb6r?H%Unex{J)t{9EOZw3MTH{5pj953*Rq2GSCJ*!#_r|etj}?$MWga7_$Q{L-!oFkvx5^ZSd; zy*cbnrxJy_!&)JhnrmG#Y%<4tEBywK@Mjvm+qM^7nDxK!(4h0dBQ)49Fo+Rv6_)4|*3_KW)hycs(ZnxnHZe#T&GG)vnPKE);aKNFVM#3rajVoEFa0GWwU!9<{e2&3)Hb;jlI8+3r;G8f#bc18xf+>_-SXtn7_SopVXaaUq4kB z_SavJM{20auQ(I&I85w)Gk{TjA47ZvNyNoy&V0{RTrP#P!c)X&fZ}nrYoTYc>tv`B zyM$q3XBaH-wl@M+GZK0=)P}h0-j5#i36@?psZzes3 zyn|6!=FPR6)sZa_(p1R)4s2bSjME@Ta41k^Ff-U}bSk>s>I-zZ!r?CazL#p`kQTCg zm=(F%(kBDv{ozPq7pVH;ifCrXp7b;0Xz$9Rp-&-tZB0$FkB4CpjJ|K5d2Ew6v-fX_ zlwC`G6f#@y7I;W2AQKptoGp4mlRj2Ft1`^0np>wV&u&oQ`}mfIxc;?N!?Hszz{yr} z^>F`~^jk`ZTJ{4uP^Fn&y>OA7grTOQ^8O(jf^8_ae|?rueR?7~_h~~X9&MGF#O!n( z+B*t<*~hL z(SH0q$jkjtN~Hkx=V50VGJ=X`{99jD)zq6=-+PV=OXfKW)ASM-KoMBIPBC*5m-F49rzKe#CT1N{>lP*t7?!M8;zB>|4_9M*kVwU6; z76u79b{GBULR0YdW5$6?CaZmH%Y^y=UpSw+9DfHLRFgl7Fi$l zcJtgyt>deE*p&=uHbvt_IeY;pQF_C+zon1CuUr6|sIn+9g!O(9ih4E&y%+|~o#y(X zSKd0hVPNrXx5mSY^lI+?k4wk{<}W~t^_%XBdL2$NNfe)k0B@tQVIr>J*+wvSzrz=| zB9Xo^KEp*|gQ6L^jmeTEZvR8&42)R1n15NPj^cA7Vpsd-KbZXxoAfumGB=7M+l#I` z8(h4$TL!mrNnBHtN>@WmS83c-Wxc=tAd1z1$?YwEa(zz7*z8b?I&?MVVrC#(mp)9? zJMjU}Cw<4x$Qz}TNo07Kf7~#?AdX*bi{Vdg3$iIHtloXs)<6F}^n1;uxv~pp|9*>d zd~J}oF1!lU*(F0--a7+$wgV!B*`T@2ucM|=hb7NnSzqDHo0W`4(fjDpf^U7KG!aCxeaqyv5oisz zcLWob`Q|q_{^i+wJEI7Log$YOKQ7uHAE2_)RS~Q=?Vyc|r)c$&w*+ zo~u!kBjI%H2DijtAk|4UCJxV5JquE=znCL*bD~yofr_OHRj{i8f4ck=Z(tOQ zlFkF4(;9zlvTjCpm`nd?6G}0f1H3v`;?`$;TGV=B)E3Jl3X74Wky$-VAyV;xoap);X$g z$=qJSS98NKHF_AB_H0Fwgh93@H2Avm7@qtb{E zM{!TtVe?~O@8(pjy#@}Qdb)$n(Fx;&FY;ppQ)u~x&Tnt)eD5Tdwc66hs5e(GK2L9L z=FQVDW8k$>(VV0VJRM*A+9SNj>*bsL?ig`7z~YmlEHY{Xo6XdB`x+PMOS99=V|!z? zuuXFFrT*jzJ`ke09UC+M@KUJ?x1s zx6=Q(^#p!bCa$_mU#iv-a?M+W(Y3>2%o9A4F4{&KwiFd}xP_DFqsCvX))r19LYkLOE;0$a6; z5dH%F8u>D>?ZzQF6CJURMed7aTn2++%$7<2M@z_a?%eDYT0+{sIbdn3A~7xK0`BABzATl5w4d?#^~Cb9eT^WdJhv549-y2*#spfuKOS_L0S!}>-; zE+uN?qRfjHmz+l1M1s#kBtb29?L%&bd;knvw z@L8o{MUr(==RAyjY42{Fw!v@HsfsBVv?J~!Fc*r3KoaHZrWSBNq^9plmkPf18LGpo z_4c}>_R)S5$LaXa#>PXM@w*+?`#!hOR*#*E5PghzcCz7b#JyybtvB|&K3tZRN>1 zbqzH)1wZ{5V*R5>CgF`fiK3ycqnDjV62*HXbtk;O*Oe^_mE0b2k{%xo*w9hR#w(nhP(roO@(720iQIszWj( zn>LFMhIHjy8evk9FTnGr657(@u+ZInzuw=e4g8g$9Tc)6G}V3N;;D6!nmy04fKacL zDwjFNmDdGQ;;sDXCJMxzrH6dZZ9cYoP2Q7ViCW6!NG<|^Q();*^GUmT)Wyx?q->bR z+LoGe|Ne<>dbrn9{Xb|@32hwDH&gc7DMLBm#enNN(t0AfB$o~(aG+!n(zX*39(?m& z_QRx?G-94ofaf!ZEd9+540VCGno_R_Nh4&NGf!qR{_WJ0PZj#6D>}7LcW-zHB$c!Z6%hxqBD;?Tzw(v` zkzBYBBQx>*#se^v)*CfV+y7#FiA}3}ha6BChTHp|?>-~!P8RS5zNPuD*}*S<$uf8S z_Q6J#RQtlI2<~u3-j4#tu4>B^@@Z& zIvDjv_0aW;$zI}%ErL0yqG6UYM@n6*&s3JzdJ}59S=)zkBaP1CB`CyI_1)~~nPOx% zCs78>ID7tn?IhE(syziSzQObDZV9;vfogTOVxPTXxAmzsER%2Vzpn5xeD3bAR2OyK z30e$k; zu57crFM0-oR!}U~;Sohs*yk=ORgcqLHTKMx;(f(zmCqWULg6pgpl{w+JyJKgF~!2T zH5oIJ(Ykj<^2F9in+B)ykF|xj*$HN9OfuRxLN^>}t^joiRd6*7Vr=hD7r&UeVcY1m zZ$odxlQq&imxXypF}d=?`H@55RqhuRgCFKe%m(ooNbskYv-Mf=#@D2$*Yt!PX&yj& z4e9ZsUYKYp6kU^G+>})=5~{Q4Nhwvc&0nby>&48F-L|vdSA1v5klNvgg{OKe@vdb4 zip^U2J0LpcqKw6_;kY=A?QfhIi;z%YgzyHZFL7tK2h8z&4soX^(rAku)?;eEGlTZ7 zxc>+gc4{s+ac$<_H8V<{)Vs@l3HOBwXf#)VcfsQ`Z-Ic$VU1(i4)@bUfl)BlamvTd z`V%?BtfIhI%XpE25K{PjZHba+O$I6j`KF_eFqJE+#uW(up%eBC>7fmN%Us=z*d4eVa{Lc1~}oniP|f!0zatcl4z_DqGd4d_WRQ z)4n1KHS6!5BV2ZE4VR|&=goLF5ZEG$3+Fr`SH*Fml%xUp*C~VEqhR*SeybYkf7sx<8xfi$a8t%mNd7Ww zbn1B-Cfsmv&!3d`ongm){!3+r#1)btGkOGIJQ{d~MQpbC^kE2Y>`v=TQLU2S0Qb@c!}sGVJ(;&{^2d$6 z50CdDOaNB-vJ;)H`5Fuc9U=($ncFs^s&aB;TJ+~W$db- zk4SIK0&FwkVn$K8O$fd%p1IT!p^|31*RQ-RH<;{$KhW&^P=hWd_sYm@$$WfGEue_X z$$eYBt4Zg>i7-78o2cC~taaPR+r2~bEhT~dT%*%y`HZ|QcE}$i?4zoG9_(}+2VuEk zBjgSv$$A*c-nJ71LfrILqnYs5oYm!xM^P+~oDo9G&YkoDL7^01>=$$HLJ%OU0qd*u zTBvq-!gvWG-9i-mGcx}}f+dOF~JiEj%27C1{29oOFtS{1EMe)j`vuodW z3Bn`&HTgbsCc6rzuSM}I^T|ap9m$lNP9jKqhVfEDBJL39a7HN$2W`;Fyj``3IovbQ6zhGOaTRIcmqd9xaKVPd((fnMrTMB35bi6kPU5 z;Ix*D{1TQTBD=wFm9@DbbhZo`WZs`?z#%$`yUG3@E!b-;?Q$Gh_k~9n%>>us{+Y|` zwFH!!3b#%8Sj=>}2OPQ9IyhL@iil-F-Gb+8RMI!fe1?7>v zQ`Vv^65~w5QPq$hBa$}&_yi>iH9>)<6+F96U_z8?=ShWZ(0n=dG`=nTm7O8WRGIO) zoJPcjUnTTASKcah4j2{j27Z%%xidQ2yHG7AUFKaL^;fMDXoJzLX|H~S79c-OFEH{- z&O6=nua@zr-FGPJt$Mo1C**bbQjbq(u&s^J@>Flv>hvFD^HW=Zp_ z4xG$uKFI)c4X8c5&hG7EoYmaYaz90PBA|its%L@c7L9Xwcgxdn&j0;OESSJ+)E^Aw<%S5OWp_##J`dJOTyAgXOmP#j3l)iC|1 zv}pv@tRPiNoOIu9!N*dl!q%+HpA`j`hV(W47d(N0{tCn6An%jIEsZ=4wptfxvKjuv zr5I>9qaWY-wwUBwrsH=<+hVC;LWKyGb&CCp2Q{=U?(pNai%Hgy7ax2~A7S)tVfqAD zMi)!#Mr0{1gwco+&Td^0&WbA!`3HtA!|&Oou&dV7WhsPfSO--1*k@hWT%Bn+SvXlY ze?!KFca8mnY;V;lUv}Z?yx;m25ad(D-_A}swmLqYsL&lQ)i(s#YW8(e-tFwlP`l4xfoZnj?3|VXIJkgNtm42JH0Y4+4GrCj%tV|URSYMRKQ@%BT8&t zV?LBk1b@`|p?qMYig4o4!0W{M=?f?nE?zk><0ZR#nB)<~^N;~isf|1y`fRN+KI_oT z>DIP0RE8Sd`X9*jXSuoV@tX_Y$0nUIHyVyygpx+4ckD%WOT{lVrq=C6S_iBrrZAuX zTBkKvi83Fj>#Tc)jOsdYI0;*U>7jhWyY3v3w&b_)l`_!uzVI$?u{UaaN9vto%7<6D zXG4%~D+8#OY$SrRt9@OZ%H8&RdBWBEaQK!)gQslAnL~eazWHt&e;o>jQ?#FI1y!EVL80iq$s1}VDdR>yRG5(dn&UQPYvp3UC?QSzc(L(WV?INCFe!Kt(AY0;AQqR} z^@8OM=M^+(xW~T*vdFK5ML;vM+}0~N#r#c{%MGRovm;(3TUbkbQ< zp8DnwB4AYPh8yFB*P?Hozw0q5`g7P2gdn`|-0&82&;_ISHedtu%In1TI~L*>H5v+cQr(TsqD z^wj}>+p7vGH3~BXu{d#OIWA#*8hSkO`;PbPbIy^8mlfS-m@!t4UGS7a;`K%fXAd<( zlq}wIGOn*mgiiQkzVF!?h&3hk_V*!IiTw@)hRZ>PgabsZhorSL=RtDY0x69D`Ww<- z%hI=qvs43(F*AmFo==9d$8~BKk}Mct9Y36)+VzP^kosHcHJvui9=I>XCdfSKFh z^ThMiqj_1l89j+;&bK?p=THq~M_A>vVd?vZl68}AAT2rl|1kF6;Z#5V`*@Uytcc30 zgpeeAuTTle%q+6w*qcMLMN&4$$X*%8c92c>o`+)```Dc0jPKKHyg%dny?)p4kFM)n zSJ%~bdY$(OhXq`iQmI zpfV|UKwn`M{761cifO|t{1eq_fojdY`}AyBzlD{C_jADY5j)kl`2l(}m8VaRPuV~f zFmJOG`&a#XveUWpaSrX^L#LFmoaz*kNPoH=!RDS%#A|5-@2I$X5;b${6psm@Fh!+p3gF>Or;koyk@iI@-_tM z>NBOV^LrsbbVWI8dj<6D3-Na1n9>jL5j?}pyR4G$snR6DI=aGCx7O_|W`k8HMtn7o zQ`=PgpS_FY9dv19*6Uas@~q0&T#-@K3N#^Euk#*PqzwQ~)Jiz%L?)J-g)#YcS?^+X zDk8q;FnJdaKPj#CN&x!gLhVc;3kKOb0e-KF#h2T5lb}q1KYN3}?IxTe;^m5weOi&< zVVzNvyO!^JZY7o(VaJ}j!hm9E%4Y!f@Kto3%D-K4nF#){*c8bq9?^n3k6DK|g<3Bm zphrN9I(#oHR`>RHj_1G@`sn(1A`mRF2X#%uS9-ePT9dkV(pu-lw=8dc4caVGNXYdR zPUS08ypqKE;^q+(^FU zXU$i8_%eHKJ{*qXUOuPO^PJT1O>Mz`+U2_sWCHz_7Vzk^ubaxI+iyl{5<9>C zb4y^wDoN!QkhUl{b#ehntfy^p^NFvb4}db7RYme?ztE0D-rMquV3n>H@eaZG>E^m> z+D;a-I(3okPW>Lop>ZpN9HE2g(~y#$VY}Js!I~1kBCo>BFKG9ZHn}AD_S%un7Yo#k zU4Cs1Uu8bE&8wF^wuedAYf#u2;t=)NA|ZxsOM2d9Q|yA;GhaG$G{K*7a*^GuDH*`m zr4i9DX4}`9f$5X(<}r`vLL;m5SU4_gx#Q?yfHIiOwZ_#V+U zTWy~mO3n5Ld$zw3Ba6?tM#nh>_>Qe$<%6yc1CI0sW*re`+EqqXmi>43r3J}#N(=z9 zFuz8V_wiHbhg2n7&ojOhHBqq%3qB+9910K4}J0_ z)@FU^YImZWmnTa#1Mfr<-&l+D28W#a^wDx0AC{1;r`d?=pe&x*<~fVVp@SRy7c(=$s5W3GpGB* zg|Pxqq%vzhcOmO z=@XN2Sie1**%$d+ouuPoi#!7E%SxGada6yYvKX7WHCAlxOa%ZkUPK=C9_G$1p2U9_ z6|&1js+pb(Uvl0xS|MZ74v#}e3jA2&3Xe0VbNwa%f;BICw-zJ^fYq!Hs&A=->9sLAQbu=phEa*K^60-u~r12^Qi;0K9L-{KqFXBVJ?tp!GY7hP7%=5TK!Y(jw2guU_B*PC+9}H6V zU~GQgGQ(*IjCprJUdCF@#-wp*x0NujzWW-}Bi!En`aGPL=p;OvSxWp)hR4LGpdns8 z+=tyFa_dT{yIr2LRp?JZ|7O zI!>3-KRRF;)b1U9UHpU(li>Iz$5fX;1$&Jy5+n5&9DD)tNUs`Y`153v07{7KwYqMz@;c?9uit(;1e}t5<`jUf`Z)cx z(72&`{T=Rk^ke-}BXRT{kJ5o;VP5q4xmG9@i*?uqIOfJO|Yco`mA@Vji_tq+;p|A%r(PF zWBn?vx1ZZ0Y0ea`^j3Sx%kRcP@?^O>Zk*o#eHB7#`*`*wxZ267F9@H?ta{OCVSIv6 zWgIWQb#LYZx6toKniP;6f$h%Dy^`p~mJp)-2B+VYK3xsdRBxtz?~$HrkJ8zhol|GI zD^Z#hvs)30>bRc%@KnIZJD|tOz&1v=xoCcA;fs{@zm!dyPT~oLeZXpxoqtebW}ze) z;YDSRA^uV9HnR{Tyw;b}t(B=@{5Po?Z z6VCJl#<-+b+VZn(ru}Ae(d5R%LS>b_)yS@pTCeumMdf0^pYV+=RbynKrql-L<*T&6 zFn(^+NkU#JnYZ)!dbs(yW=Ppc_gkLD{`bcKsePSsl9lv&3Qy4kNxBSV;nLcBW9ZWG z^4btv7I6idl7HNK9blyUKQw;DSBk@Wz~3J*iJ53C49eqil6C-z513V=bW0Z=6dLN> z>}(x>8kJg9N#t#~WFun&)AT`%d3p026i7c?qa$*P_F&l_02kJR@2agkfAHh?|p(L z;WHFd*5yQcZAy>CJZWilgk9wg=RrCxcV;S?tz5>@EF89X6Je7RZhiY+G)oC{IQTVgGWRgn76I&#Yi@g-?Ltc2tp~@z;;&qgRwA|ph zwQWQ!kx96^kd2KuSIViK~$)ug>0s^LPqOc0&{GN$bOSXC$ip`EAtoCFI>;A9_^Wh0HT#w?8FUm zu)~NPCWZ-_He169|Em!%KN;D7RoPn9l>CQA^sg!^7r>OkNBWJP0#Ju}1Km{QufuZl zu7?`wQUFEIW|Z@-CQL0w#F@ka^*rG*%Xq$~;$sK^-x*X{$KIml<=dHWNN8+qlyMNd z&Q>6o;-#c70|S;qVX=&QJt88dyArmZ8qRY27q3^Edlwp*O^XzHOZ$70)U~+a+4ss+JNIT`W5AZbRJ|l(EZ<+}xZ*?$ z%CbJ|o@y_uV^2w2a1rg3Lyx4wIA&yYAKkWk$|bZDGLS4etJ_ansE`yd;qX~W^2ar* zbh$+eIv{YMMBY9LgSRw4aNEU~RdtNP?*Pm3$oukeo3bL(pv!qfCu!#eYDE&-XyjAi z%gB~MfkA2q^^zfL*KEvORclbDZDS~Q6tSRbC_YkX(D}xvN^-tIvnw3(cdQ2fqW{I< zj`WLWyJ>`tWrK+O1b4pD|3j_#YHfUzW!^H3a*5>Ml_D@iX~Y`hivyT1hA5WL71dLD zFdFf7AAKPy7FnlwK-}|67rSQOf9~c^`}uV2Q)*W*q*gJ$LJS-_j=_6KJ^TPlXQ5lQjSqvl$+7W8l>&O5=YEOJ56Pil`e#K{vxcA(Ezt({0&e#_2 zSAojhwTqw2Ttuy*&OK?Rg9l^3{BPQO;V!eTrE>X=yTIyn4Ym0+9#5o*IAx@k5ic0= zaio(Cd7NC!SW~kL+w@*t@wE^JO}qxyd6~Xy!kh7YT2TjYZ()vhW^07J=Zw6X%1mVB zb<37}AC24k^lH+@^WP~7#;jhI#fE~u6Ab#abXRH^5-0cvW743DZj$b|ABHG3-!D3H zf%>PH{!PxJ6u<;jo@>J3^xYgP4qqjQaiP3X`#!&K_D>d*l|IO}1h^%KPd5+$ut?R8 zPao5-FKwND*=6QgtJqV+syjso-Zkb5F| zrAj!YrVi7e6t0x~nNi_(3G8p^R!xD$tjs;)BkA^jGQ6lfoVM5ZvhC+!5xx$}Z!g(E zU-j$XzuyrohI4{N&fr-Mr>rzF-ww8?DUvxQnD)m?-K3}Ml$xbj|0loVfpT4gs?SOK z^#q=y@gjOg654O|eCL2Qvwb%nZbPs!IguV!T`hW1XjEkDx5u}Hev{a+a+cPlHZPDcTLZcU$%?SirHc$!EL z-0b|5t>h5tdYZlHm#`ge%q72OnRNP&mpzuOIu&wwBTkT(^$ca2ut#-CGWFPk8*TQ9O7rX6Zh@GFR84M;hMFD>{IQ^Syg+%{pDv_I_&1QgI}ax zgF%kv-yhXSTd&RjNn(%e!I2-=bONfQj)wxb`xz71dk@H-ViYtn!3v`bMKd)iBBjd0 zMYx~vs1wf!Ye`eSnW3$uFV6M_(gyZ}EW7j8Tmk=7<-jNOx1{~c8{r@r#o_D5l1oi8 z)`PQ7t|@Eh?JoZbasEIJpl~-<6|({IP(Z$%ysXZ6A6{$F;LqEi*z_vI*G{KQPVEkk zXVAP~f_5*}woauG9nQcX5Ai-FqY5obx#3F}1qykatPQpE3-JG&@}1GY*#_MG%m^fk zO9kFanpS{M4|Nqgf(M$9b%CPDXi}&ym)xNQMloDR`8Ivmha$6s7no`>I)ub|M_E&Uca?iBRitF&z%uEg4)Q*Ghl@vbDiLX2!Z6uGdm0Pu4H@cY?bYjG3 zvGHlxIp48V8KTs9Div`_^k|}Z@&(Kk!?Od>(=)p?(r0E$L^Qq>x7-{B=>BqlLv{+f zW_rAy-p7pZ5q2xq0SjTln~z2^Oe_lZ8oo(=?#Np1H5v}=zzQO^{j~$qC2jYF&1Lr8 zx+k-N_mB0eMKoE0OWv(gL}{+;#v9GI0xz$GHkgNL3NojC{3ljx3Tqif)j#q)3K<>O z0O&@vEU5!Mc5#v>iPTnQrB*cV;^t zL71lOvaelCzg*jX&sZfUG(S`pza{I%3XlumQiSboVF2}h)7AeGns>LaxJN$0r#Iy( zY-c>r+}5u8suDIizY%O$DlB}`!YxDa>{gReU*`#bS}tV z&IoGyid&1-lQOH@rxNTtS_43-vF9p3l9{4-YG}}fgo#kY0V9O!M|iQw+1T z+Pn`nV|IzfjqK9nC#Fg=diJE4OHCM72PcwB#^aq_DOJC+n1>fZiv#g;r9|1~U|-u9pt&ZmWd@qincQYPrpauo&MAUIn!(dFWZUQdNk+iVLup^1)QhS zywD5|)&x~YH7U2f&|;+3oB!qZ2RJVKGcbtj&0q4B*Lz>zDi7$8yal7{grN31dXl=w z04Wuwh$M0a&`ZsB&n^}Kpb>mvEli4bil4J;avKi`#jdBx-NFITFG-!;9( zVPs5%tfBz>3OMzoIpAgvC^y?@iZ9l365+)etY%`bscv0JaDj0n4-aEmecGlxFhqO| z?4N%+G=*p#oAzlQatc@3SM4mSBs@0FV^Fh;VA{8-np9);ooWuvANmbpqVk-iWg!uJ zIFK#iIPR*d1)SR4Xl?7FB3=KYF9qnL?}+Shh7@YNC=9wpdd6=IlRtdcZE8v~IF0*k z5nzILLPCN7jmlDXo;4hw?YciAEY9mu`bg*(B%$q|x8Y=UB?ROaHQ{dpb55J_#Jo+h zKky!OD9Qh@4|-)%=^7NMLccL%{?JL~6M#mhJSt0PmUcHVnO!6D7QWvN2u1Jziq+wB zIEYhOUmReJ*2b2f++G`acCqvt5MriUqP+qvW#bX;U(}qI+p~aizgzPu;D?pj^*<=H zpTk>_%;|b}+d?R_0jG^f+nuC`b`!-_E=YCT$x;?dRw?}uBn}r8c}vK8NG=2!$E8uK zn~=pI3bUnTPo@>k6nH`s@9yQ0Ur#v?5!ohVjqPB${`YS4YRre_&Hu-C(~7Y0 z>$D~$=TcMUPSYmb%rLlMZ2i~T=~sY1I=`{-rKs%Yzs@D^R0G=fr7ZfsrB_&98`#u0 zTo|@sF&>!l-}{f@%r4(zbe+X11BI6>*-)s^wPW5TuY0T#zHhFodUY$sY$p}77Lj}9 zy-bR-e0BRlLWA2mtFZla9N;;wP?<}jZ#?N6QVDDUvV^F83=y-R#)^FG4*PqNMoynV zbHGF6*M0(Ya3b)tsOi3r{vz4@e+B~k>Lz8yn~nT`F}E$zi8^j5Tb;h}JvYa@v)y&2 z`p2aGiO^Jk?2_T;TzR;A@n$QY5UmNvo4?{&IFu6p=?L(llsNEgV+bmowkUZTUg#hBfRN=g(7wekZ=Crr2H1R+7uT0Nk}00I1|Fv+Cl{Neu7wt% zEuX^4a0Ny$ydKS=1DH&`5avtfoA8>;Y2qH?Yy3uvM3)<0FO$=2A2WRwS}7(Ud4NDto7jZq^pEP z_RYC4^-#&LHzr4#I)-%M>de{He_Bj!Lg2FXAdG#5Z^qi6#$I@B6mXlcnT~+> z_&yNaF;YGqk8nyXv)ic4mbX;h+BDUIAJ_R6WLvQ#vaZg>|9W@g7{M#yX_%}HT>X|q zeQe+c$!0;dZc`3P&N!?W*Hzk&V@p$1oG>=8{PGwf3gLgP4%y*kF_2M zNCe8)7eCXHABHHX{olkUjMH}$`w%+nRGg3E`Kj0Uv(vXx6LvCh$%iCoFWO38okwar z2BD8`be!vEFMIzjq?)Aa`g?pFrlP0*zl{nV9@3=OS%^ycB{1KJc^N@|bd?*}{LfXJ zvyog+<0-`E4i~B!N??<+Bump7(c}1b6CJirYP;+@>_dOwR zun;aQ(92YDpKu8;>a4S@WNE!l_0)%f64%j(8>7gT4Pm+6!K6!mfb&9!*V&t1`WI@| zeWE=QuKRg*lMcaT3o~{?jn1oAp(ooa7wr0Qb6@V*X@Lt9k9t=Mnji48?oA|M#qsSN z0F{mGXFXc<1q|dkfj`}uITr+IKqyU3n*sl|&vr-D33k005Nfby^)f>GfN45Bjrgi} z-}~a5+FT&8gv-fOw;Q4i=*~PrI?^f7e7&lR<(1y0iaG`CPbdF-A{KnUMGlWS8CfJa zqc^x>Mtv6K}ieV|~lqqg>I;G}X00(nu+lvr)&)khq%KzZ|rpQrzAci+f z;w)T?(R$;PCa1D(;<}mAp(Z?i=Z}XPs6)+*^+fVpVjMq+${tpqY1E)hBG9-|HnX)E zxJlDG$U-^91f441k{!MzopfiS=)UsTuxBnE!lSCLm$>gqd|C$(AoB-uvVLn%4eGq( zd?CK|LX&J%fT728lM5kqj*!ip#6QbizBq?z48Jh#0Q7SWdtAxi%PpL9OPZw4T*K+t zkg(yqul%g7C$AKhfJItix|y4^u`O={csPohAT;&k2C zB}($tSB>DqOSpPU!*<77iq(g=*C2iiE&VAT`F?psN1rZ}xP)kBecp%e82mL+&UIKl zNt5!6J@Z=~%=AaRw1+aeW-=lUBQG_XT#fnfMudw7fnoIN9wo1)K>Zg5E$Kf{&Kvvi zi5bcI6SAMnTm!*mL!?v?Wy6}CANEh;m36TIz006{(_^1yJjkFXzobdPh%7+Tgi9?s zY%QXi!-~s+bY;l*gFqH%jSD41wlf1`+MZA3z}W<+DnLD-NOISL#)OTjTL{Swa$b}= z^S?@6Ldn+SNB=2xQs5Wb(_17Yet&*|og+;8v$Uq~mtLzbikogkvQQ?Y%d-Ql)AInX zXKXFs^0%JpX3=e2$$M@f=zYp;;cGt9bnQ)DVhGq5e*}DXN0RC;3?vB1^m|jen?z>+ z|3)TYY8oIQ#s7?oL&SPSO+?7)M+ne0g^)22_K{SGPJUP*09hLH=n6Hv1LTw9Y%dBu zEkGU+Ui7G-MS$ON^N8f_MrzOw;5c%lb^E%rG!UhYfX-d|oGLH7YaqhW)AG(bQVB4_ zl&hEqcpnpV`YTyC+eF$n~e`@)59aa^`D`38Fc!lI`WvbHA% zf4!0tm6@jfI<;sB5ZUkpCQfO#+PrLLfd;Ia6bEZ^sK^Flh{P30IYzCcD@ z)6a6H_Ht+HhT=m&B+NOxX8RG0hsJq+Cz0_lg_S}Y8>nN`1kbz&xD@)=#;4G^iF%W* z70FUD+IQQKsSXUIfOSJys5J7l-mz6`1$kcnP13`2ovW~7znz_zp8ur$DF#d$)3+5` zMw-ri5xt9WisO{CZgrm6cJaBUQ#oCONQNEr92ptbze1NFOPdbiR5*HZgX=p=vsj-E z#hf4U0lRR3V#lqMVC(ia@5p)VF63Ry5>)NHZiA-ZRE75?4!uVX7JX}F% zl5X^tTaG?+7#>qG#=4_^>JZiFq0jh#vASs{E|_&xTP|qrSrrm*#_rJ5;BKOY_t}<1 zae#CIFj+D?>!`YKl=dlI#z!5Pw|@lM%9H>Nrlt#Rst~nnG^?lzu-rR-b$j%6y=#Gm z5<)BM+Y>l_(LV~oI00uZ#8Nib3P&N}6yrnX;WG3MRL?B#9g?LI$yxMrFtzeG;7LN- zCO*|C>IR6ua;NSm`aHifAl}%cGpRzk#SyeS6COqiM6}mihoP-upW6H({}-$-k2P-t z#sG<~XWiW5{7#4~LT|K#)@<)!db;bP)1GKt?W|jR0!sgQKPu%pEC$f1O)69Xuit`b zD6*-6bcB8BPwNM&DH(t4XZ6U_Z0lvG33m1<3F>nmDRYSuf9D_XFGITjOB}~HF-QjsX2X)B!>@&$5~m(O#`(U z)D=cjCj0(?*r4V;uk6nV*&p`-diRR?AwjH?4KOb|WGsE%^*Ct7?YHP%v~;OyUd5U5 zR~^=wfL1!2)AXPU`83Iy4?WnM^UZ|kpUYyp;Z7V%H*x7%$*}CWroXB)6i3Y@u83zv zWO!51M%4)0&ossX3>!X4d=%4a5nrLh6F{`-MFh*ueP#SAG=_xWusm6N!>`{~HXOb$ zJ5mOfQq;~sTGY>yLSw45Y^ux__5A7n=to-hjPEJL$CP)5^>kseg}Xv6 zIMRKkH}=P4V;CnMoMsj2Mxj;nm~X}WnC-Di3l*U3{c4{uUFols)68#Kj#Dl%-$7=! zaVgQp#5%hx?Bl+x_*dSS3KCQ@w1p_?~k zV(z&iv}tQ#d`J7byUpa5a3!;Jj95YTnt z%A3+Pzk7N3g++BU&Fr^j>82M`Vy*>C|I7mXPW%Pg_bLXE-j@#_z38KD z^e&R((mq+|oP5k|>~S2x#!Uxo2px{PBL6Q-iAzKtH^@+P6_RNUyfGZ#$kZB!??#kL zLHDL7@@i>7aF|MV*I*{V&Ay>$JgLF0q_lh04V?KD&N$v&EWLJ4^V{@aFMz$3iknQ& zI9AN>zvBKhk+mO@cil86Q{ujqY2k-^_HX^)t>j)Q1Mee*lZD*wv532eKzhT2Dwu88 z4sYFh(sPj!aw!-w$+_x=3O)o$9?-~sr?}8Uy^^tjkZbi~+6LaPZ1^=_uP9T(BSU_L zLoOx7dAB-y_kLc5d>wzZyg`A*v22>O9-hp(<1np(s(VocBxuqocCkUbEp~Er=T;VR z(+t0!O0s~DIE$3)o2CbCMa&Y&%<^NM`Eg=qZ-^lHrajiYq4-Zn8NcxpgQAtP_{!7K z8p5r&CC$LG!lzMoHeSFw2l_~l?ky+rM(8tA5?FaJ!(3hVJACR`hRMy|c;O&}u@x@T zAg@F#8AbrvK-}rIc}f6GM()?L7?neKPhCi_sM5tW?#*JFH@ag-D`v#`+vHLINGN-H z5%Cj-wIBFO3~+hdwZ9L&T!S~Wh`~E|ZWhFyw!8-7jcLGOuilr{$SswNm8F&4hZ8+D z0#;}MLf(6UaAE)RNvV0b-_T?Ad{)JE;;dSKulp9(pP(UD`nKV%d)3k^8mEyaA+Ce3 zdzBALm2|$CmDkKiHJBggPj(wd)3kmeV8}6;)iLwk{MNoh)ONTzMl45 zCMA8%d3B1E9=c1%Vt-oB%S;-AuD1eI=4+cQ?*|Ng-{gD_*`96Y_rS3_s7OO2OqUeuWsZG=$i@1 z4ff&Km4l3aorz9ora+2NCpY^Np56}rf-DH1eVW^Ebe~+_=-a&pKmwZhnK0&j;(u^D z%*p57>z>AA##G`)q@cPrLp~G=1hu{FeW=#P<)ck(G45z{DD1-I%Bh-tC#2ELy8lbH z&TRdz(Y(3^?NxpSVBMP7h^6G4|KLr%rA0SZMDxQyTbLmW@)yhgowo_pKkB8u?XB6; zx-S@?Hmutr(pUBuAS|Eh`@6U!f27%<#%n-aH#;&pH4Go}3_vEMgLwyQ?2QKze!>8U z)m91MaAikdll|}W%HNI8?t?vU=e}K6e5nKjU{~?dzn3Bw^u(ynJLqxv%NbzDKtH}d z`u4h#fn*1uj~e~LD@JIkc4KA4X1{Oc@Njrr zoreQF@5;5{z*`Qp!!PD(Rxh39rJpJ9m~d z!&^brl?d=+wIMfCB+-5*r%6j9@2yoFmUTBG|J{<}*ZVq!^h6uNRdU3EuZgdHzVyNp z=JNPYg@wD7Xr;Wf*Y0UtTHWcKhkaNW2o z7a)fLjoAo%oT9nGLEk;D&HKX^1IqVOosu-ZFPG8OG6;6_KQ}IK_0C?#ZI#TuZ)RDg zO-z%W?B9iJtafamdjb@-ptI>%7OjZ^jiWxIZQ6pb@*adzZUS1AbO@;mcG%e-Y#~I( z`f?E#s!Ra!7Fa_Eg>|HET^XYJ(?9P^QI zY=GR6$l5{D3%TtG{M z$>I>Ze|$Rqf!xQ+anj{2Q=D(gd4D8r^m!|{(_x86p6$VG7t&+Cyx$2#M&pShm%{y_ zaGJZ8*A*&L>+WlY%AcFol477g=Wd+PqoXX<@;^RC%n6M?qz~`gFcI`P68Z! z&bJO>ngWh;Ncl710hN1V`bJdw7*rpZKmYTbVC>i~(9E6g>~i$p^aVvW5h4Zf`iMk!=q@iO*fHcx-4mSQ|S~^bXPS>w{hwXz@iK6j_6`?j*2fsq)|NfI){5F9YV&}eN zWAA#s09c;c&P+ zk|_TtyDteTGB~LIeVrr8-E~|fmu@4k!;Biu-91^xb(;Vf!=v5J&Qmx_ko#7Xww@Z^ zs_QZAsFOa7l_tfZLcIockJQD5qbdgc@o;Ke@p#Y&8=kk^#g(2EU6wLqKe1!ioWf+{ zGQZM75KY5N98A%$`1V@ftnXSxrUZx$v|yj8&@h) z5Re2DHpuxO6$Eap%p|62>a?r!akL@c$8-#qA}$ABDbKq}gvq9wEt(zom&65lv=R|v zJX-J8275qT;xwco45Ko)G}L|NSJ58F&+Ekhew8yg9S7Neh;8ekU^ITPX6B#p4?8dc zOINtQd$^a`*^sE-Z1b73Fe^m=izEO~Y&k&2?}CuyP+`kJ0HK2!fKCjR;X zJk;eJ>O25fj1*TP+LSBXOB(>=;mT<0rNBDf#f5X$XgctIXyVyXr9I{=n@#h8K~ZNQ zsc)TUyI)Gs0`R2M8S;aZ8Vm!0hmA+AS#qnacZsCdo#eTrPJEZ?8C z+9ufJsb#w5Xvxk_I=b{|-;abcaPFjRL&K?Y3KHcCyfue{vXqE!b1+@Du7SwOERxQx zLDanSkC+%AaT2I|QS9Ise@#`-Igr(^-x_MRfX`tS0{k6VrBBuWNey@9GGKD0&%nQL z3nGBrgP~ljXv$VT2@g71FFU{*i8weU{GCJoO(x%!fJcUoE!O6_CkOwT{dXn-TaFwG zSoHQO(O8}Bp?y57*MN6DvEhnke_{LRpcE6`n@js03Avq5*%P8x6AXE-Qr;2saBH8x zad$78Z0z?RY04pF;W!1K*eT9KN8@s@7mY0u2J2nG!5E3!Ce*FZ*4XFNR$N_of%y0o z_17Iw8cMtS@XEn4f{$U_owa8pO!dWQ@OoUTr*zGgbr-k>cGYyb+)1O;NoAK#F_dbf z#i`4fx&t*JCi`!WkznTUqawmoME&&tuSB{2(6Lt>*xmD5x=TG_+(ECzfWkEKV>AP&w!{k&e(98sr}aYH}wWSdIGHG&L(wgIu)s7Vvy-R z0wMfjkCY!bc>*~$MBsztEXk8R!v62|gu+Y|rl$n)tq&AcPW>fD&%|F?`BAy!$D005 z?v*BM(lH}@%$gx8@|@N45vR7{|TL}NeF{e*L{L$&No<6~?m2gC&?GS}$HWi#LsQ6=;lrc2hq(eE%aQks9#&`1csa*5c}iI>aqNX;hu z-*It><{H_rYqPc88g_5}##haYsGDUE<{E**G+a-NE2)`h6P@=3k)MG6sy``x^GOPu zlN@m@qhc136Napz4ZB{owPi_yRyW~Wz`M<-oaaAQZMlY26NPKdp&m=x(*h~medimW zEZ7Aji`YFvtFU5LMO<(iVAuo8pXjrWd3S4@6jRqzNl(1eWXESN$QQrU8F7QbW?$Kw zg%ddeHeI9l1@U&Wr&!hfgi8LHFAE_6TVt&ilAQKw6C#hXy%JVgAsSA1mX`68JEM60)M#6MY{1+nfBIS2!5I8t$eM zF=T*7hM#@BF|_edtOee#^2qNTwj(clCK_c#4C4<0wXpOQ`7I41F5o8wE1M? zR{WCOUrnB3ELE|2R%Y3DqR!LuiG{(i^2<7h+b1PP1vZO{3@2W{l&no7) zpl=f#8{1YKm+mJMTqaAyXzYw*zBU9fOogMxPR2apce2d}`F*R7ciLAN^E#JQAa~3c zL?uq<%)8>v837yZ+DF0FNT#O`;|(2p5`}C4=E&R%;>8_P_-UNYk{mp~TH5JMk31LI zvV)_R(Y>->DZe07e#lThq+qN!Qbw{)Eqz8|lRCiD$sN-}-q*}Rwfjg8qBtp@FNJEv zjnK)*KVMq06|fW>{Sz+s7(e*G4FmJw0|yZe5=9VHf8D|$#=V16v0!ITuS!!BL#iS6@*fl4BVWG zpUtxc8L4y|T7B#9F-A_|NK;SlXsMGb`V7-@eeJy&CeTlD znB&K4_GoD{l*oC*IZNZVDIuJKfJT|gKuv`9 zM&s~rwA(?=54rg3&t}E-+VxKH&x)UVPa_0PeK%H*(lA<$sSKCC7}@UM`p(d^VvF%= z9W=3duV(UO*t-GW*?=e`czEsmJeD=i`<7lG*G!t?`>x~+gc-QbBm%kQXZNJ++J9=( z_t%T#llL8JU3BNruQ^!LUWZ$mr5BUoCy8#ZKo0QTn>K=CsI5%2wJiy6 z$j6Zpi(UD04|y<0#Wc@tq?lB=>2+63R+@>Je#hFcjlny3-r__i2vsAq(ndx1Ul zlAk}Kr3QwdMsO3Mrzl0|(|9~gb%kav^7;)GCeaeI*d7R?gIjC4OZH6pNJE38+t9@I zt74C$Rt7GBK7SyR_8=a$kK`fgmt8PlNf8RjqC~L48Yj-^jN$c5c7RSn!V z8kYfi3H0&%`?;_9bQ^Aw9|2vM#;b8O*cXvhfFU$GE#e`d+XOumFR1>L!;$X^%ZY8L z4wYh-?rT=C!5QMDY^wR9eni+z>dbMRVV5#fX;Mn{$77&_MpLbA;<$dIeyh|FUVA5Z zU^?7f-VriTxC%#BDeHI4`%Th@GW@dQ%jw$E_|Ptt-k)(J96nT5T=2_IWGoo+sAfAw zBe+{<9r!A5H#X?Yes;(;)JO@u$9}d#CgFbu<|H|) z9^}_E3A>VSg)t!bNP~eR_MF={EvOY*qB}0FmnCy1*)ZwerSWE6NUuhgQzv;~X?tRp zkmh4ybdH+!F$#no3mY^KETJ#v9E(Y?L!IaVwvS`KW8NbQ+7;z64Y^#w|FaO$#RAn( zokIUKO=DTsnvyv!0uw~r7NK;`Z0SiyzS#A%vPpO7qX+AyiZV{_#Jwe#kI;9ZB-c=; z;4f!$R@FTX5suzes-SoUI2)Mv$e4M3h0O}TI&wD1ciO%bx;=e^rZhOMX6j?pluehK z;lLmH<;zqUFWQ&*RsmC03JL?NoQMTN1Q_n9!kkFl!Jc4JEcTkh8#&~^#e+t_E2;OS z;^c>}WPwcc2a13=x#+BPs%1s1=X`_C)~Qm)#EbSz0efum4Dieb;W@?4^cdU;`a={e z^p#U9;9l8|h@@X4oIu_f=EoKlP&gN265VP4N!I zr;-|9@QyixaYOP4gvt>saL(`pZAkT#@$VNgH`jvKNOOJjz63@_+O= z-^gDjN$_!Mq~93LYi8Bb`YIYasAuRFoaO9W(kCuwshQ(} zwR`pL!2I?GwVwNAime9>)>IWW)d~iCf_*yC(o{pBrqvLZPrc~mpsQ5Re;_9Fjb%*0 ze#$`G+rtfD)7wdfy+}U(>tfh-EwfST++S#QknXL)_j5SdaW=xURC(UN@8%H~K=NZo zH}QA|gyc@2#<6TMj+JP-&@HDw?(wxm(3Wg1i={TP-DtI5@KT-VFhNxwwTW8rc z4R1gWGo{rU)vuv~O%fk9__;UegXeYZYK*W_iw#_zh)6zW_%y-A{>0SRhTO)~T~Tuh z#t<*NTII65aL&f}sS}_T+mGT)eOMneyxPVT*v~|1r6_}%3K%mW@wS6`4oeRj8z+kXaqOR!ZzZ6hAGLoI<$>mJRo zjbsMP6k{-MQC{$M5e5YnPxteehW3Fc41Yi)juCF?AFRqbwdT zYTgo11F?)9?9thxmN-fvJ`$Fb{jc8P|MhMTT|gf!-5+5$fzh@0e~+%r&dnD{PHqb7 z@$c0grA?A`z(fyHm;f&D8>Q08F@63X%N~tZD{eR`EbjskupxiM=wR2rEY>gP@=;x{ zZ>b18jW6^g>gCNW@K>I`K}isyb~BmKS%)-bDJjaBEJTXdFPNCla8DTdb!5Gz8uFOT zbf2HT_OOO}2x-?OwEE-B-?=YyNs$VxuyS6e7l==K!QXB=0Fz38{sW)|r|L9(iH86o zZhD5LDj%5P1yBxt?;9C|KVW%3&$n#1)N`;vy7KK0r-MWuK5nemm-`wtJAGF#0`3~; zX28?vaXby=(h}rQhWusoj+^m3rJ58Ilcib|L!ic`bA%vduCTh{Ox){WObnZ-C7HHd zmxXN&CGd0>i}Rddf2%~g;Lnh%hjmFb*p80Bd>sjmRn~?)MPwazCj1&Dlfooy$j+hb)c9)#uC9 zR(L_afoZ;Y^&jihvYTU5?}En78|+2YBVP@?fDgjiV#2WPqyj{P4)SIjm}+Z{SGeRp1(Fl$>ay>{4}r_W#$`3O7mo6ELFvHgEn$h&*h z0dohl43+0Rj8_0$!?>wtKo9`OTqXW0pa5X>j2MYu-mKl6A#@h<@+W*6EuxnnYYn>k zbI+zZtI$~x@JF8+$eaU!o~JN0RKw%-1tja_T)2(Rq%Jkq#_bMe%tyo1oaE=6Ca2b4 z1o&?&YP4VUA-+zhEap4f2D&e~;$ z?5+G1TjByo^~+W{Y^U;MA$PJ=OJh{|o4H~8;~HHrc^}Uoh(j5@qGj;y?GB{t1h?ao z{TPbU7a9>~p5A8d2OSpb5@=9t5u9-J8T5bJyYhIb*YA(0C`!T=(sIj|Xt7S1D3!`s z#uA~pQrsx}(irL{64fnKVy0zcY{PAlZB*70BYW1ej&&@TsJfG(|=e*B3?{m)c83N8&x1K~F1wJf6#{Z*J5O>p~TE{i&^pAJX>@6;*?!Jn8 zh`@vlV!?|zZp2H3i~+m;KLR7&>b9X)g#}ro&v{)Ki@*fggbV4hkAPZ*uJrlk#8vS# zdxonG&X<4oe(o}b39nlne%!~}YiI6(phi!bWu}?r2qJ97W6F_+fefDu<2fyA)u4WYWfg8T`3bAFgQEAH>rQL@5q|X)BAtTyUN)-WT zn_5ciS6A80;beU9bzO>Pt15R0gOppnD@X2_AQRk{ms&(!tP>m`OapJxllX^$Y0B5e znm=4FC+0(y>`xX|2$oSWBj5<5xvPA}^F2mG&zwIl&i|x#w~nJ%=M55xwUwhy%rwOd zJ=Rs#P!$KagoVX*HPRc$tS+~PUp-)8lIChd6P|KLjE_2o=jp)Qy1ULqW5nF+2TMR_ zpi1C35ubu6&~(VQPpN6f1hY{SWR-m0?CQ_POiEtPvo9?Lu(TyQBX2RK z1}sn3B9sgG`^_9d3kY$4sOoST-!Cr^hMmTeJoT=$?DI90DPFOu>b5iQE6>#LVKhwr z8ew>o7DnetzN&tG`+awt?!U^~_CKGf6px&sNjIl;IXd!T)u-NcHC>H!aNxY1;xN@2 zN65{wjkn=SCfypQ|x@1<5K8kqZP&$x? z@>LTfceu-8ZuJP7oFIaB2(EcR+EFLVc337#yRU9gmY;S*P;y)ng)ln0Vujj7pv<6T zt{Vw;JrAFys;H`WqN~~?Ti!k$HZh8Bw-BnD92-_ZB*w_Er;X%{yd{yYZqeGd32v#` ze`^j2pTm$6*jvKPPVVm4_a$;>T!;lN<$uDYU~gXsA#;7c2+@6|cE#JlFwJ(`iJ`w3 z40pFEmcW5X(GJDC9|^_Vn0wvXy|q5|^lZv?w1pQ+kKemG zY2$Mdf!P87* zw@nU(bv?VF3+jB(?KnR+$!Ys|iik12U#|kUT;bpdy1B^{2h>WOhBD-u#Kkj@U7mX7 z*ds8_rj6_yf9C+a8NE$MxrdVMW$KY!74ByD^mJ3Fy<<>quZJ8*zG6_Te(rGM3y`rg zBtB)O)LULdBq~|dKGBI3xUznz%fvZY5C3o^hJXbIslCPBJH{Z3RyUm>;SGA`V756?(mqKqNA%q4_D(RU0#$Z!5c z>E>lj&QamY9j628svV@8g6Ef)r1W|1{kFd`cgmvx z#%yPmPIVo{>2tEuKR)yx`<1W%>tC$fF4)CLk%~cYmK1osfR~0 zh6oCxSafr+P=7NY>1s5_bGwn5&1Dl$>du>Sn(eywlkd|ho-gxR>Cf}xMV7Rob`>=E zjK84wEftl*AiUh1cz5>JrXYBG>)i?0Q`8e;-e4}}URP7tXk>Xd_m|MvyQDkHyBxBt zf8R4&{0^lP~g8E1{_A?<$%BuZcRl=ooQ3t6WvJ@Oss}3fuN*%^% zX#v$|JSFWnhV}BNUc78s+LaI$FL*s#-$Ttf-tzPVj;6qV1nDLhh(`7mr0`>2`{G~J z4D9eIdF4U=+<(SG^*FL{s;x@R9LXu`ka!DSzM@2((Tex+l6sSIrdvJf!<`nTO->$a z%Th4t&$-p!r0WN|PM|UmlK=?gk3DT_F(?kaA|{GaQ!nZVvxLJ279r`qUP=}RLp!ow zj)f#wj%htljWjFM@KwJ*N-{a;cXG#8QQ@dJLo{`z?OSy&C}c*duSZ*1MX;bI*SAJ1 zw_Fza=vwb;bjYx?F+kWMO`4ij2$1AB<9x9s+hY!{J151`k*cK=mQFvD;QrO zROvK6knJUEMtI+g9Q{aV^L+gZ6nrWZy)nC2-l_rxft(kDcxm+M;4ML)Fad#<1lQ21 zapG{g44Q&aa>)7xw16_wZ3=@_eFoE=tw+YQt%~H0ujUGv%b}_;G6Fo@LVM(hnN#gS zx;{OBWW=|Hb>3^8Co%N z^?beVq%P%lb5X@cF9cUh@xj+^0nhW}*Q9r6c#7PYdO`@33Z#_9HVt*N=YxMJYKnC6 zInn*{VbcX3xMT81uMTIe{PW`DM1aM_5ys$m|G{)rgxEy)`%SwiFW0*TxK^5`PJC`c zCHkX#N2?wu(fIn`v`FR>k5_mVB9C3T6`cP}+15?O>4v)TQ?%81j+NgV_pD6sZJ_=? zn^-$}^brfn!7|RbK?RPXsqdJ)JJNhiF#oZwWr1Umb~~fS@)+-rZU#9i%9@paymil& z6pD7x<|u8yz6^=Y#=VUm**lW!6@=a6=suY&s9sGTsi~oEX)6uW@*C|AiR@9*X!NF{ zD*iC=nPMGI5qw|*=tsyL)@tGEw9Z%KB_Vw9F(bt8orl*3{aR^eTaiX{sULFRml!)$ zo^$A}#MKkyiI|48q;xQL0X^bTHsw8Ny4dz@8V#wGk1k`^FC_J;(#GRp?Bqe^)SZ(( z?jbUD14{2PQ5i|E>GqFvH;9pw0#1V7*5tLyTFK~0VbDcB-97%H$ZGIt)mcw7S8A{pD9`DDM!x1D~z@ij$DJ7QRI8 zyNU}_bP13!y=^xwFH!6`y-9(S?DA#g2voUdr?#iePG*i=*Sm&%r{wRFFBnJtVxjV+~*sU6P+7x6JKEj>+OWr!@UnUYnet%l{rBoH0J|tZA%7WxT#3 zFm)X&F(d2K#rmoBnfKb@3ii~TOXH~&>UeiN!Fd2yJ-N$yXiTuoU2V$Y9e*B zlF_At2+h;wmFH(ir(Y_KIgXT3#nBQLfniO3b)N-wD`czHE#I##yE&ZV2MWYK@U3&w zeCQy*8cPu{Xb(P;Q+!rr<3gRAIcET+G}fJ={(L=O;-Le4$%o+4e2d$A_DLnWpz_|R zm$D9gl0*=GP;0AIyF$o(CHex#DuIEVmf0-v9j*R>+_QVnKJv80hLpM+F()tCJzvL0 z<-VKdaAK2NPqW1QivQu^idGcJC_0+pk?iCM8*qby-$f1L6M}&*g*ja*FS)4o&YjOf z1FI#2mn>36u;V4V@(tMSx}l!5{2&sn2#xG&sEy& ze)FpXJ_t-wBn(dB_{&x+*$rvz5LICgj^X~cEa6h9_I?h!!y(rX1^c?$@;5H*6yF`j zi*Z52Q;VM*p@{S&3a&K2xL7^R@FBlM4t8?-a7VEoKRNwTIW{=3nx)_*#6#Q@0B!br zNiSdR!LLL;ci%qLka0C|q(Q_zbLJ}5SLM%=u=#(|rvsEi3wiM`{oSA2smGI*?tjEw zQI0o#`21~%DrsW`9>w>@-{tJZnt1nGppS#)2}{|i^;Vr3Hv_9vgE!AF@~n$~hc;>m zfcap^G&)WR9nCq#5s82Z(aoR>t)&4jn8X>f(({g(r~E5z+!4o-<1(G`v^K*dIkdKy zUGj@n$24gD-1Pxc-Ji|gzWTetv{<3IfmMXpxW@Uhpi=IrIR3WD&7pZYq$9AhWo`z6 z5EcS%MXKBjILf9H2@x6o!0EXI(<Dd+!y_>2a|OsXMSAOFX{g!%u5 zw3fXzRC^0MS$L;w{i}W5HTil_BL}z%;?N*xx%a=GUW;HxQv4u{{*NTK3UCk0+Q>9e zZYt^ZhZKZ^0wVgX=yxvuT`>PPI>Hegrwn6v*mTB866(ZT!no2Q>p%eXH}2>)S$+a6xI1-E9?M6rkEW6+TVUfgHF3k1mPB9H>AN~Z=Yv(Sx5viB!%+?aDb z#&hFE7L@EjrPK#n(-!lqbJzYbsLw<~T9WU(!A#f)8#S{_XqT-~(~!_E>r=5>>e30i zNxTqYf)!^&jZp)A@SWqnlM@duv(!|T4QrRO0iNe80xkW5WBa9APV=IPI`t5*g~gZ; zY~1W17O*HEfe02>w${}#NGYk3aBGPnhy(^4BW;bYA5mH~|6BK2gi)}&*}$HsBwQiJ zaIoh(&iA+8l^6@lJKbNzMsxJ>z6Y4cd2D$a8XD|@Z=II7VNY67qWD|soM$cq-tRVS zfLr?Ol`msrSJ2YGac~Lbg?DN>q(ZfqmymiMktb(|0gGlr*az_Err^KU#yn=74{ZxR z=e7o%gRZ~wk~UmmASsi< z@V{Zx1S3sfB6Btkh2!*ju@tU?9gwvoaov}T+A4Hd6*_>oGXVVRd;nwszuTxgEv$$& z{wLSg=5ha$%f2iqK_woj^uQPH$u1QNKDDP+NQVhwi`kJ_%8@)D=n4)63dXI|iG;4; zME15rHsm;S`E$_yX8G;C0RAf<#jJwt=_NRLqN*&sam&q1kk{%8fGF|p%O&&Ja6Uc- z4+m7hd_d_Skb-<>~iD^3%`C(lrM3&CLU^+Z1skcyC4gIL2t23_um(K7wLN}e){0N;dV-{{*cY2!UyVPCIcf2 z3h!@V`z`5Q!~w9o03eHhV?xZ*<;b`Sh69~r#(}m1-o;LaWitWhcU!P*sMI_I@DlN2 zZSn;=SUw=E&WUd573{zlVM!jHoRD$ovI#^B&TIA1qs4YVZQMg3tUr>2HB{Q z14>YZWo5Hj13+AMx^o3|yGjAOLZ3CQ-k>W0?7D`HY9n-X0wRP#v7^HgTM^5GidNxS ztY-g?18_W`Ua}SEI#)s$b}JC}?zIW%AeI77r_UW-4E?mWAhSolt%f+F0Mg>k|ztP?@Q_>+dW0}-1*!U6?8^03=iFGs&dHtvQoC_Fi2*9uC+H~j( zkF!xHh=Dg+(5oDq;0=7Qy?)+*;;jU^OX zi9=p^`_N2qxvPb=gbu~T>Ao;Q+M0=tbr{tvH=c=3iYmyCUQ)x*TQD5}{D&1EtL*!! zKIg{aA%@%Fs}De4h+~+v{zm6&$d-8~IGt7-EpnN18y1x06~k!gCd~w4$(xt*wRoMY zitk}N{S&Oqm$a%F|Nr{^ao)l*t>4>>OwLp!90n_U_GdsZ%S$ec!rX7LL))?;F0 zCoWJ<6`!w=hMX`?iv!NhlVb*Xp#%oRGHzD-Kyci8=#d2mLXz8t2F6F5{n+;N{0goN z=5ma#u!w0U^b}VK#-=HiegF6zkVQrrZD~MT&Rj8KV&arJbGd9n2YQI`g@0s}s|pY4 z(0Pj}`}AEho^5W6j7MLU4Hp7e>k5@(>CnTzC^#?dMm6;6+U845^g^#f3^EkS8vvW- zAj4vq*ci7K%;0Zl#~S<~On+6&T%49zfC42mfChP?t~R4u<%!dQ?l#_F61bVRsy2#y;mtxq<2J`^e&wMQdB@%0I5Nd-g^fTX+c0h2)&15 zfI#S>{RZ{i`>pS{zI)C+e;?M$WXR0>PG-NmJp0*u@>)af(KW)mgcukY*OV0HG%+xU zpcoj~Z}6`GpB(QgQe$9Tm9mwU)lia^rPFY8wzhS!!oW~`ov4SWuhn}i(NzIP z$Iw}vxVuuy_*_AI46l?Gu|lsuqst#3lE;N{Gdz{mlfNlSck5qjC8XwjVP&OV&O|s3t{^a z3z~h2dP9i!Eqnk}=OvgWSY33WSpqt^&>NZG*=@j}dqSGGgKB6XrNzN0TY2*Z7lSmX zdEz@(+|7wCkA3gRFFZWEfZ4;nf16bRGfWxGO0_ruh|w_IAgnKU@5X#OcC}0vQ*b9ibo}Z|9=wGhTr3P~#iuIRK6FI*BIvs( z^NGzY_%1=WEioj@_3q0uUbhmL@s7fkpI3i%Le-J|o&)j6Ly(Usbmc6^EZKJksius9R?KFwvW62dc<&9?seh^F`3jH2;R zQ23R!6X?~r!rH>p4)$Tg3w>IjQrnJw>uZOnRFHkyeV=WrgDRF5<_m~q4t50*zPHW(l0D2@>b)#{C=;I(Sd>dFOXkXPUQ{CphJ_&E{A z$@Ib!=t$J2KL|o>g)uu{tjHdR$Z}@LR66UYg<8!}6%o7`ni_hb( z;UPcS;7BXtlfS3;ef8j3@Ho91KK70@R-DVdD@rn&aaZMDDaNMs_-0w=aYjAZA1QpI{be3#?REz`%aToBJ~5>A`Jm3-dUA-lVs$D<<^Wbl;9X-Ph-99@MLFDkeF3 zb;I?pTKDDxA#wYXE4KtLB$}t4V~5%sdp6vxlXm{>NDwRWsZ=?m_x176ozSbFwPgt2 zry>#Ne~*4;!X0`P|d_mb{1`?g68*{1xebHcDyw~jbK9+arqYYvn*vTPYtUg zl=f=AZh=6)>63s01>GtQi$YaR4owa{(X1CrCF&W)P6Y#+tNDYvWtx)3vpEu3(j&LC z$qM3%D&#Ekx_qK-Qtzp%^h>E`u3+_ZrRF`P9lD=-Ct7}Kcx9w^SZ&0&`jw%sp+gC0 z32(`aA+_PzWa=dMB*ElJby0PUtry~{NRo&{233ZY$cd-Zn*UvMp%CE^$!9yS&}4cF z%`oZ$L|z|^Yjh^t&*U(H#)Lx zwCsre{nHp-*VFL!TQ6U{#FS<1cq$vWAkv`~9-tti5U60FP!#=^a{ul~R6rDNS5dT4 z6lA1k{jo1`OUSGOQt-ijf(LQ$90bWOwS8B~iG1Zl_^n)h#4f3Fi$i3PS-yiK^k6XGY`(qXsiIxrQf(>J_CGt=6*D z=Hr%A#dQr1k&}&+)|0vurj@dr(;GN15St>8$P|2{uD>n3Gip`#Y_OWAx~vK`pS47~ zrLpmCZQHH-cx`!zLjgj4);~1*pxd=*DdRz^g-rL&7+ad%$=wsR$uhSZPVA+069J7pHxvmaUbog00alldD_`H!TR3((&3m<}BWJ zKZ%LSbjrldJQ2S@RUSeQCfD~JibwU&$4e||ebRj0n+5&6PQC?b1_&H`oTMJP`P=)` zqEn7{PHT_FttRhRy=!{Mb4GpEc^+{(S0!dprO$#@9yA{`9Q0PI|I^VY=%*9uTY=1EpJjAIJu0qE7{B0ZlKd|2q5ItEowB}zzSVe#%an_&_pXqK@mjsk z(w2h096sY+M(KN^ZaT{?tVQ{3Pab`EJ@jNqXGr~7*O#wR!jvkJ8B|St2PWyD>B@T1 zow1$xqcNPCP;lsE=;3S3*Bm#Rx?^Z0?N2-Jo!yhx)Z%3mruQ*IeG2_VV9&hwu|604 zar)hJe%Hw_y9s+N@W&zo29CTos9!pE1!>eAomj22YH+MbglNR(bh>e2L$>d%I!tPvBl8_$STIFIvbLedn+5gI#AVq zanA2It%;^kQK($F=bH^VrVm?enOb9y*C`@i*TET&Z|tTKR?o-yH+?ZgMJ`LfS2x#L zh$tY?B6&RWjyZiyV&(;Uaa}z!*V zGaK67y}o9D?aMs$tFYLCF4pbdSQX^CZ+zdYJ=-hX zchNJlEfJ;60~St7Ob#&kY~r>6d(ftPDpLP2z_y#W&WbYWMlwp$x3nahODwlrH^xvWYo9lhkevXhwDaU_b3}ZG&x!=s@{EVlKH6*>zriR)TjM z?+1w?Rk4JesP<&g!^h5R&R-oioRsZ;h*A00*Gv>0eJCS%o|@^kdf%11CzG8BGMK3Im$~|h z#Np9^1h3tRl60doCyLo~f153n&oje*KMtWt%IUJ>j+Gek8K;?U8XU3bpxY z7}!5Q$HKsfu*JaneU2LNe)$&*ye`N5ddH3r$G`*ryAHg(v#|a+n+TeP{l`A`8{im* zw3e)r67a5N;bvv!i16@ud3kYr@o_u5+3-9N z78d5Y&&$Kh%LSalYkElhd%b=S{+|bb4;16M zy!HPfieGa6`6(c12|_WRe=V8>;ammP1h9@&wsPv)z&oI2mw%X@z=rkLJFt&QPZ!P? zrjCIjg`p%Tt?iAuF+-593a9PfncL_X_nJ6VhPK|T9#6h0Q|Szce2~k(Nl5mjnuDFd zQ6^3~p2Vs|Zd2e+A;C3F z98xKazp~q3(=yK^R#0|NZ6&j3MmQ&y1cbgW3NHI&k>~HRhqx4rrT_oAt(t? zVc|P}(@;WC)7XD=wIrCNG-mU-Sy*2FJ;6z7WcvL*9hLf&2bkx{clfg9-&7aCxJmxz zYW-u}e@}4#825kcnf@{EzvmVIG4B5scKj2${~qM|CvyL{u;ZV|{r4cxKd}72MXCS5 z@_%6Yf1@-1}iB8zmS?$?kBmsHG?8uif6sg`%|M4^xbyZb*O1#?nqw zr)H5p{@ze=>o0-KdyFoO49ah*#4Vy&bt*~ek1dP!Lw`G_It8f+I0>z=<3_XP>yUV^ zy)j*f^FyihtLdaZ_V>p*0AaU$+FPL4Y$$Gn(dG$K(@Fa{H{PWp`YTtKV0c=<4B>Gm zX49vui%BQX3;uo8R%Vx#4JKjGLZO~^VqR)<*^Eg#305X~R$=o=CJuZ?(Bj%3itry* zNKtxz{=L?9a%x8H1a-_eoxgpJiwZ8M4*caytenT|pX>JY8(Xf^cdK>I4O={21=O|$ ztCQ%Ym%>7}8zqDiDFp6E3H}FFId@h4zt` ztXo?pKbv;rFj~SCyeDv=OM`i$fPv|J3m>2Kc>l~{*8i2Mmje#GWh>rA>aVy)%fMjq zlh4r!`PvI(R|a_7?%DhSlh?WCxdypN_S)iR^PmT0QgjJK#YeBQnnjaifsJ95{C^bP zAGVT=)6C?uGThFK|65lptApyq>HrHKuA^s(2~q(VL6c|7RB{>;aUleMX;rqtL3KC- zVxAHXc)#cL*ZX9YX#~(kTjE_Q^z)a5*_P6Eu-9PZ&|i@O-F(R9jK)IR;lFtgsaq7= zNvpR)PzI+8%X?%l(g5>Fq^K*44>dBs|N1Wl-AuCWq)#a}1K}mV=M3T@^6qmdlJ+rc z?GqBj5n}|XHStHlH}!dN_dnV3ACkl|CcT`IC<03QTTDHRShJ{U84ZcZxmW2DSlsxe zU@y#GJA7#$j;qXMF7or=3*6&*Ku!dNS3RtREdEpjgE`sexq_=WUk@rV{?dXVqhD8; zE$Qoeic|R!V66|iMS)H8?Tj$oBrY>X*>KgQ8!Us$E*e>Th!InTmc5TSSFTu^ldDnx z=}p}Sg#0PxcxWi{4~gC*_$i{}kM^H$V&T6dA_WV2xsIu5%%((9o}FEZiktBxPA%O* z+hgZE>A0KQr#W&b@U&WN*0KIeceiNq7IKw^19bBJJ>+dQ(Z;O1BF*zjy$>HgI0^`$ zIwg25UA)pHtp8LDm^gBP&UV%OOYoZ4e<=f-30o2%7~uA|E;Y<2O~kY@JtRg!z8pVjgO2s)|}bv($mWpbf1O z5h(JfUnaPi`*KZ+1F3~Tzn5Ln;Fq@N`Ip=dmeQpFiUG6Km&(L5GSrI;$HqFfn(D&U z{HTaI;yJS(6&;;mS0nnml-+p@ADUL+or|ogpzUcw_Ir-&?>q~$LUbJypLzT_;b&k% zmyKm}azLBNq@qVT?K?Tl4(6dp>vf`-qSaL-A%9p}P>Ym;c-=S>7MPjU+=9Q0Pxq7u z_;#lEj(tKIso$}1LfA!gWqvx-PkFe*h=xv+hk$myc|a3f%mN6m#a`{#+Opxo_my{79)r6` z#vYi=B@QgH3@DBoQZoq%46M6^pww)|YUjVE5TTF*7atYlu-yD|hH0j_DSyrVpS-od zDxEl%O|MQ|nMP}4$ZUODc=;0a#y;k;gACRPY13DI8wQM?+T zMuPcl5|_0IThqc2T81pxDdXh7m(M#mC=X(!>8Ct<7mS=>R`jhVc&LVG=#4`S(yZcw zwEVV;Bc$B08a|&cqiT+p!!1*+fPmlh9oX#hQg142NZh|KRqOQ5S(`y{Mv*te)pbXK z|9E>TFX0Xo;7JW=ZZZ530RK?vKb+IQO~f)QC=c64og~xJeXr5Yzi4H@Q&VZy`u$9l zU^twSF&nT zo(4C&84ZQF4bCLW;hl=lJhNDe3fP+Vlv2wSW9f{fh>vG_QwVBiWuvEW&z#M$+&iBZ z4wj9G>C0@1kZZ#sqrAb9$exrm#gP~%6NYN2x)V`>PA8!fV~&VPzaI$4?_*9xaceRjiLpY0ko8ChJV>n^vj=a2NpWNt-|$5F1d~T7S=OlVe?V7PeilUgUn2Xe*pK=L_gu-h#gPI-y#Ndc0FLv?bXd51Pk8V&c1Tn zxa-M}-=DObgnTrQ#%OR;{n(w4fB3?K=#iwhsMKD?qwY6U;&*snGB+H=%gj9r`DpbL zgMfH1!3@^j^IdqTZkuzs7GaPro1^_i(t^>%>}~A!h=C~E<+`1`{=IJ3pvkPJ`T`f? z>NSXF;gddjUXP=j5x7g;5*z`(;&yvxZ8Y?NUjVDy@Z6*>u66bW`4-Qb z1)uh|iDwR-7*#nHi4B{VpV6xzGh=!}VR#dJO>Pbxx=yiP)?X7P^&Be=V7%Fbpri8H z;UYgHm1Gr&ppzUly+LKUg=Ccy)8`~{FOsCh@F8h{2_eORGv~Q|zvOV~lKX*dwEg>T zCfJ_%-oz@A)#wkdT$pwlVs({;-+r1crpBH@yiq)zo5$>)R}|+jr}BS$q+lb)p9{`^ z{Qb(bI9a`V$;v(=uF`Viig4g!`i{G{iM;7WV{Twl;MOVm>$h*?=I7~bXX_imJMDDB zK;|+lTpV#}wXtManf^{neLDaaR7WBR-fIe(${dyoDo3>jR)A(tvgs$nuJ@y8jW?zFP5zJxa z5S>9Aqb@UO{q(NizLNL$JU+B3Lg|;Yww6AA5hHfbUZ)=YrMF4|@%6$kUTjawF|Bpk zS}k3OSwh+%kjL z7gPj0XC$esy7mRpG1h+mddUHMkBxfD$azo~w!pW)Ps`Rex;KAT1J7XNQ6Bn$y8))M z@!FJNrEa>abCK`X<@(-4z0}y8_h2+H$39sXl}y-B$L~WRWhNMK_BA!IeQ{!S4x9)| z#XIXC8w&86HtiCE{21MG5eN%)?j~l;U)@M+Hw73yy}@Re{z<`(Uqew)UzQ3A*ecx z43nRJyPk8tVD(nA*P11eNV42lYb<$*Vy9snY+e_W+v1QuhUj%ezfAP5N_vu`lTVn# z5PW_bv%T=a%9+b3vG*%VINkyy$6E`)>^j=asws|DYJDr$mLmsE>(*7A6e0?{)la`$ zD^@Y@FSnvc;fXNo@jVs_aLf}>L7?3{0(JIz&T-7uCfEGsU0&w_IfAh=%88og&kNCa z$G~{02MLsd#vmeWiX@rRZeZX~6l@1*ScMBm&+!&518Z?X0r%a5qme`iEEU zLoodR4qm^)SnO+DF>;|Q5@=p+YIE4I2y5AihlVNM%1G6^j2$hgR@+HVPO1CFwU5u^ z{BxVq_?*Mi#k~wtCA3Yp^1-d$mcAJ4<4PJ5)UFc`FC(*5Dz4c6bo>}LJu5OZ%TvR& z>`tJFDLOhDOd0o9-XVaAwaorr9f)40R9+}ETi*Ex5xtvw=f`GxX`jd_XMeyxks_A~ zTc1aDRo1BrBU-s;GJ}a*t)l6NRYn+zD{c=yO|G)agy+YXYE#Q45vEW7JA- zoX`O84r~$xNAD{Z=&cg(JMIrv+8`eYzc?*k?oX3VmC&Ez{dy$kwimTA=`P1@+L$}g zYeq-`WvnYm#(*X_^;@TBRuDrG6u2)6exMh+2k-EZ+|=ndYxE#vd%_8KHu4(3PyI{j zyn&k=(3U}1Sl&ko-X3Ncqv>8%r` z-+gYULmaE7dV`QyJ)N8>k7qo5totf{(#HG1$^cOMS5wP0iee)sDUpY2`d%B|Pu$iE zHyaPIxPIXEl+!4UF6^TU%;ft%OFr9(xVy{r=BRhoLdG#kmjkZ)R9tJIHsl!wS|DZ z%bIud*Apf~fh`X)ngF#+INEB5saaInHmx&YrUr>gmK5xU*0psiwlraX+&n8aV~KpC zaA^nXDZfxc1}=OKavuK#?l*y|5kRy&Y%UX%%uiE=OngPnjVY~`@=S8Fzc8Yos0_^X zKk60a#)Fek6DIp!Ybuh=r@naleH7}6(WKcq9M7Vz#yH*V)8}+Nzl7_y|HCsa0C9(U zZ?4*@^d^t)xOGa^d?T@pS+fU|tHT6uXU;;vX!O21M7#_O))aru1XiY}6L{)mxQI@A z9W@JK2|*=Uz#wQ^{H;Rc*>ZehV$F+k7sYeKs!m(^Bdp`yo^XD%JD47b&9!wK2uN$? z>sfEBsB7!9FwGy7_=R^?RtHSL{YEc(C)?_nxMA-P`jX3-28@`$hM=quKhl&TBPq<* zm`rG$nZgK}v?X5Y%vtS@4D0Z&M8_ZlgLq2(bvbN~Lx5SF0HMAQ(l_ULV9QkcqE!Lxw3 z=7mr%aC{euw&%EYJz@PtvwwndQ_}XeZIQ=iMN^1d*RS7mH2j|QtZpKF#Afh#6u-63 z*5FZ~$xaOV;7HM;nYa#Nca&87;>^jQ%{9hqY^5p$2=0YPXq(<7YXWH9b4{&UhZA+R z%*LmoCtTgxF(n2|KQs$uT>IGlf8`*t=2)4&PD%(&AURe4b{%Y1!=yV}`~+anDU0ax^BMBfPEOXjD%DsIt#&VRE05=BvAN^P2T>Q3 z3GKuA3PI^26g+$@kNVc~LPmGfH-DgwAF0Lg9yqt$<3hY$BL|p%mmTG1F_C+{8*zA8 zR^OJSyPU$+qQQD-T*?J6#MzJaUNeQhMM=lqDztp~I#2j*9)j_hxn|J;p+Lt1qizbu z<*1oH(gTF$vKYY0R0H|>s+EXHL)K}f*_dK74Wq*thrx$eglVA7y=$(0^QA4O@sQ+m zs}z2T2$D@MSqPFI86Y$V&pI97q3!$b)mlCAHgg@8mk~vKQoL>i&r^paN2DGm18`cX zSP&qO?i@d(O$)SX_w1viz5+R2Azh!YXz1`kkovY^S}X%(Thf961Oh@gR@=qxB|Em< z&pur3%{qN~2uq5Y1Ak1)HB66)Jg90fKD5Ra_4yYY{rCaXTKiM`qv`Ic}N~^ zrX7*oNvc3=MeNu#^U2WI!@exsEt@NsZTa#*Mu*77G;EfW_2R4hjpd>;Q0;8=196K< z{G~||P7P{wb859ebis5u7;R$ICTJ8U@ux5h^A`*Q!>ZRS`oY{2F_I+-FC)~HG&F)9 z)*o_{R-Ngt#OSKgVLtJsY_J?PdYASMK#Y?W|YDU%BXDg>IHfpdITOl(`55^q7v=YdPK>ea?rF@CJe>5xcXqV=4-spQuOKA~Ji1O6Y+3D8dcc;E$R?n-DJD^lZd@)+D zkxh6KQ+VN66lk(=nlhl26ri1T7DQNUG+8|KUb8SC!l~K5$;SREL$it)TIWYE(@H~I znAt9OB`O9ygO^ZSRF_TDznrG@UP1pf=gt#_QNOAz|AxhLRBwLh{kGEc^Xx)3+S0;R zJvNAjxhXBg=>XGJW!yv$riTPUhZ0;1(f-9`=rW(YwudE@tn`IPXEl@z>d}$07J2cf zBbB897Dlj3w(Ux#qpt+re*FZ=^{^Wso~1L4o<0BL;B+??Qo?pf9L%2$9-O@ws?&X+%5m7G&r_jblAF2 z0RIJvu=_#$!(vdfc2iz@zYz5Y$YBZbP`Bb-X8*m7mBDNtvj*-dFDhR4ZdktVEHiCZ z)m7R-Lpv(1RpRK&vghlmY8<%AO`hl4ZHI^I`1l4_jP=M@BvWd>vaXFa`Z%)b)#h8p z?f4u_TOFg*61zN*TdGWcwV|X*0FNhW#=SoM{=I6AkGS_%NTM71tNea6W=&4>j6ihs z4&^VZZk-iK#geLN7E1t-4P6wU%nz->n{rQJWNNtIlJ~-j8cdtR-m1sC&V!7`Cp*g# z5IGfdFtmKe?`0!>yjUo5N+DR(0cvAVm`$;#G(`@JX`pLV@LLhvXYJde%`@)mIK3T( zA!nHUbC33oCMmIB!cED`CH)y@@xQdy(HY+2RL{50=oF*%Nztb+m%l^#yoe!zcemQ1i5){y-rGj>xr`*t&?&R|Xob()$<%@39t! zerQXY+-4MHNWj|k+#-x67%Z%AvRl%rIW;RTgd2U{@=YnVyQn5a6g`^$a`3bSBfGF^ z>&QZ@IO_cV`qA)DYg27nT$cB2@eG<9-t!!Rsn@kT%fAVHEnD}a?xb&d^+x6sm{TPA znP#x(=*5Z7=;@QQghKcYu;4iFrZWy)++{r;Fspv`bTO4#e*|BecuH7*3EtyObVHP% zd#-14_47c8|M3K+0z{M?-gb5_`1+M1`lY_}{M)I%SHzAiuz}1b*2FD4#Ql#@6F87u z)^;ZuyR>-4)biSX-X)%@K)w@3;N1~ebUbnDP2_ldaDI~QJH@sR>blb+sg48RpW450 zIu_`BdK5*n(wjeo6c*asI4FOdDfA_`&9q~y(reBmnytV{5Ex>Q9S!x7N^rn(C{Ah)kwuge_bkt#N=>TK+L*IE|H9|1)Zzg+uMn|aIz z*v!QDb+bs~I-|*`0$Hwv0<>|ZN6l%qhw5UZh<6$G(Vd|WAD&q@6?V1SA3hnv^g<*V zojIHyyy?u*jehe%b}#8x3E@V|#m;p`eTgh*m9$SyR$mt(us#r;dQS%zLNR4no^z%* zklUnH>0m>YnPdhO^Tc(QclK04oUqtQsCZJlzez#4i=N(# z#5_i=fHicaO$AjnOd*icH_mgqCC7RK7gcjYpep#mQp&Hcg-;2;u-${1H(AZ4x5}_b zGaafZIxQ7-d`_~OB_g_Y?l)faKRt;$9zyk(5zu=AM$zSowVWeCFvt-@{5m#LFJ5NJ z*RRp{WDsesHRqpQnZ^FD6#GXbfBr2xiz_&kn1~2SWNZ;^NnY~vnGk;(St#f%fz?M= zhs*53StiJ+OiLYit-FA(rPQ$q*6^a^g_&ruvJJw;^e{PZJS%*y19t`=F-eI2L*v_kuxl-!%W`lhlui%PlAl_xr<`WbwRwA zedAYTpCwD#zf11Kv+o909;(-*1e#@fQyMVGV;8JI_}HniC6%xY0s zDDAQ=H8h9ybndP|KKh|R`60DH1`2f4J(o#~|z|(XpNmn&u zT5&EBxiTXHaw+GL!csz(0?quwbvRM$Mc+H8vHHdx+l#5jeZS>lxV>hcE>nRK;>Ag) zf~hnT`J)D(@e>U>ITxsO);!8DYhlLi(8TIGtO5t#)Ut2sCz^3;)jcKjsDHWf~3pM%6K}mcWTVLM6Cei2gnBRYLtz-gLf5RGQN1-z19#RyBk*Y+ zo$ZB&4A~q{(mk;l14vQk))>3_@#n+`yq;<@E@GT%0HS)4PxhAfTn&8M!l=uhtku3j zA!`|3s41bKqXm2KV^Yw(KTml*Tfnivr4)NbQ|`!3g(6VGb@ zL%)#GBK0egrFTKchRxMFJe==pT4Qi}Z*bk90;;eCR+$nZD4KfR%bFf{=9;i(61S0K zRb6t#VZ!Pa&zkiSzP9u8IuGAx?^N4}Q=QNKGJQFe&e%!~6>#CZ6poheRK8sqS^k;R z!tl14Nb1^!;-%o+Gs~%i7UIaf$G+0O9*zm)NKRIW>B+8~hG|4Ez$Iv2>hL!nUG0L| zcJqq!D?xC{fY|Xi>lxk4TI=iGq}S!;4sPCagSk35oEF8BQ=Y!2y5|kOfPWSsf?l8y zhCaP3_{=dAxgif}?wt!d+( zCr(XmN1Frf1mHuS&vXoiHbseh3;9L0!-l*IbWC(i%F;AE0}uz;sP4i|?#;4h!mK(? zX%7`qzpcvCR=1*b3HPDgdWcoSxrZQYn|DE>DQG@amdO|4n5qio7mnJaCzZ@PNKbwr z6CI!$okA1vlP~~UTYf^5)e=Hzp2u{OGTb+vxK~neq9)c$c}f-GRs~e3t=~5X^6rk3 zlA{k2uoqlWV8T9g-Kitt~%%&@J#G!b;hdBS~c$lcq6d+yGkwCZgc(gLA-^hjWU6mOh;&tw97k@}NHhh-z46MeR+K z=Z70YDRoa%I<}L;4-;4MJXJQlZh_Uy&U_eHC09l-dPmefmBsLEZUBWQ<(*1Z>RVHI za0+g;tnVRc)ZDoLt{1ej6DhhUinz^>7Ejq}7mMfwFh!AGnMy~5Z_&w0XoolAEkHae z_NOL}>MiOdP1bD1r~cp*VqMr|N4P%z-OKX-mvR4S%s~=*^SW4@=}6RI9_HbxS7Ns5 zj4nG8f3{m$H4}i&o-F_+Q-9QW_O&RclM7L9l_baefh&`RK8{60V+n=6x$KZsu7^Su zgr~h)6w6JtdMZGge96ixC$n?nqTundv2;r?Xj?5M`R2?uC_;J9sP>%2)2{HxehqaI z%!oE|9|&>w*K&UvQM2l&1b{si7Q8G?0`w)KL`_I$B1jJS&P!6bE z6=Ll*wmf8{f9mvA|11|lS>$yG{-#i>H2@^DZNyWHv*d|y8nM8Ix#7g~sHb9NXShNs z>#8?r5B@Mh`9vkxN^8)AL0$b7I0G-f)}n?ZLJ7z))ySPLte@pqlwd9~Mt^F~94r}l z0_jLCA!tzV1AY(VX9aA1+PChSa&bK9zSwMjIOs?&J>NUaxPgX8%MAa)+YSQ_Q@tO~ z65HXv?IQ~=IZcJFb1IHzb;Poa%hOD_d8t7Dkm@N;4TfQQQ-{L3=QQ=Y1buAG^<$n6 z9W;`G1#kZWc#VM)hhQs^N8aoHtUj^f+CHs>nmV-1i?|y}UHx2x+y`!ig z7HpdX9XNk{lev$2*rt|y@Y`@mqI+Ru6LB%ZY+y3@C5zS2AV_7)*nGIk-oj!WFf(`+ zPm)S0P{`M-V;<1;Tr=BQ)t$&K{H|B1Z=5Pvx=`*vqz>u}mSveKWo@&WdtlJ$p8)32 z(l)G9go+And@2PDpBlgFrx!G3n(qY?wDj8mdA4_%U2qvh%ySvF7JuGygs2oUI2BN3 z8b6<`EIk9tQK#@0GJ1t?=m+G47fx>Z=?$bjCJM|BZF`RAs0n-eO2pIjukR?hMj|5e z?>A0f?2_fuyPs?#d;n2x(H3BxH_Du=gF2yICKbHOEjL{bo;7>i&8&6=P%SRIwi#Uv zgbWRO@k}$!zh%aOKCsf;FdusKS_t@3uHt6VH>peOoXZYKl1}We^n`Kj3_B^tSN%(m zcof$BWa}zuAN3+B9f*`ywddrr+TyaZ(AHQp_)yBLDF=Wp(bRhY(R$yBS^dnot3`Ok zI;O-(06f9h&3vGmauC-1U?Jg)kN8lbJofSF2+R>ZeGLlQohjp8gxk8A>bzCAcV}Uh zT-dkCF@qd%Bi)AL6NjsitPwjIH1^EM7CzpJIRg!emV?!30QljW>bK0GaQHzLPK>&>Y{tI=W_8a2`dJ?cd7pUizAXMs*vd9Zic-h1L&shGP&UVMjBu?it zXfzBEJ-JKCqW2kPP4CyIaD`-plN_2{{xx@MRYHgSoJEJcRqEUrC6|YnzO`CbBWg90 z6rh>oX6sWvB>s9y0=;L`0CZ}bh|EItA4s^qPpx-(0`fb()|(;vIBcVeGIAy0ByX({ z)t~k~R+;<_ZGzSEAHM})M3StZh;#CMW$=2AvTvi&6H_E&w=6K>sSfczfu~r5)7D@m z_F4aaWS}Vztn86;pEW;|b0$?6LkQ{?y~HmU_vF*aAXmZ9=EvTgn_v>6{RDOG`3A-F z&`(vfjR6|x1C{5zvbf`(e(t(pP7@2tR9&-4#{M6;iW*rEDlr-s(PDNe;{Gv-mW(`J zk)#<_Hv3mRXbgwN@}{s76V#Jc+>Bc?rRkwU=JPwO9D>J0K#Hylf&~dEhzb+>EVnSqm*d?FTGr* zvBqqxa*Ju5!%ip#-gk=Iyd<}{HaE<2g`BMf! zAGNK!_JPjozKmB0YPaoJ{xX2RhFy?1eLMXQ*${TK)C2hpENEbwm2IhMoc9J&TTZ{T zF&?-79J`JLah1LGnKN$=$ngeDYi|-Fcm=-iNxdCq!Q@>MsYM8A!L!=G ztintmtH7I(pc`k=xTOMTTm%sR?ZRr?(VkJA+do?<{!=ql%Hzwnu>+k2u6rW)%Zx4? z0q2{DyOA>>xxKveMB~0!<;}#oAYS_vx%_fJxTvzyOFs^kS8AjNH5pAYJ+wu&mxS_@ z0uw!ly6Sz(L+Ipw)4fOf`CJ}twGIS6|K;~~%a_}~(?_prmytbj7MLYRlRGc8!}i9pIjA-O`JP2%0{I0AOgwiia} z#xbvw#e~n6fjY|YsVTo=%_{RFsHC4mQ9eSWfjGJ75$Dj<-Tgpt@nrnXTG}zj@q9vO z1Bv6v=LXHnn?0Q?fIjL$az4-IykQnwTK9f#qoaCWUHIJD7D%O9HX>oNIo|Y=9nX5e ztP`Mz140LlI@j4t5Eud{8NI6^?~;UTh` zn-IQ0+5gb&Q3j$u@8u0-2~J#(Ijd#9^-ff4SYN6Zw;OCbW@h6M1~@ z0Mn4PDK9VIM+0G;iEy+h&}C6)$j=UK@!YzfyYHN*W(IbqIJd$`p`UETY9(bB@$>W)>~kZY)}o`c^QIrPwX^3P96W+ zwWQjTA9u}t#7*nIUx6P2bd`#ZhN)mcAX6Bn!0tY!{nC5ubIHPkY7MX63Vxa-YZUi}rI^K*l4v9yW4L zuNo!_F!Gy_M&{PLa%9caGpl8fDdl~@6~`3ppL@BB2T+OJE4}uev5*tZr_genG@pG< zlmv=cy6_Ar78_z{|9)=Vs(+mk!d+dW?Mwj8v!2-lIAx159w`r}Ti~P0;H{BvLHPhi zDWJa3TdxwrCGEqN;6r)I8;Jr=w5>#+hq~!q#Dd?Rk9^Xp1LX&hm7L_AQwP0>Y!80G z=T{-vHxEhzTMAL5t4q<)orAvO)yO0}P7xf(nXe(^10e_>w^i`P3!Yk2@rm`zCLYJB zLy@Qy-gVsdp&Hd^AfVVl`4T01KEo4z_fY9!#p5-0j7JANi5p3Fj>V8Rt(Tb6e?8qDc>+p;cd=wRjb@AfkXkvZgoo8Cxtz!ZC=pQnMYdW zVAvFFbmzjjMOJ5vL|yFG8J5%#gAcr2;V_>eV1g^c+&@=<6}0Ia`t`yok!%3;(NjG8 zO^a1WFV~2LN6wkWg3YM#Y&QFGa&>VR%P(w9jJ19|y;xplDS{7Wd1+DEGYaI4lwxO{ zqzx@mZL;z{eb%0=rV-tgx0$h?UX{vk4w8BNKWgW{Vrf*28>yeYZ8g7>AHpE!ky2psli@eGkb(kqqk*GO(h#-XDDrWy82ofU4Kx%lcNcs)5r`Eqi3Bn z*AGqC>TAv^IbvO>OlpR|Yd#hN9t@iQQGWvr1G$zwsjEWUl_d!HWj=5Wy?U2-=qNJ7 zN;=k;$>y?^AAkocdW(5LQj%M8r6;#v^aiZz@y7UR$xSZ9PrUZ%26q^y?ei~=)4b;#q|?+S`gHN0}X4}^;~a(Vc5eKpxN7C*u`@)UAINB8 zFgK@HI5LX(YT}4qMKodsaO;pu=qH~%elK5CJ($x6GogWeUU9gEfS8!+@?abl?dfez zn+x=b@!tTR5(q8v*!Mk20%Eu>tyz#-_t3A%t*Ai92>ejQl_q;%m9 z%eevC(F^bRb2o^whJ^UfbmZFpUe*q3|1^i#+Dos1_5ZQ==J8PPegAlMk|K1HR6r5qd5-MAkF}BDIGxlYMnWD&^bugGLW2|F07{mADEZ22E z?)$oa=iJwSzsKYLr-yo=&+>k4&)4($9I_ne+uAGj@K6=?WfiUx7j^xz&0?z8%V2#3 zZR<29>C^7;!j-9k(_Fmc-V^0alM>qx%QNbY00@XPBfgR~y)u}N=Km{V!MDvl$3?GD z%eOybToGTMVokv50Tul9R25LGsflGY#oGVGAM-IF$9N6MF|w!gHT{FDK-9er8i6)+ zH0VhyKN=w}e1Vrp3}|#TrE~{ZsOcdCKT$@nN4oL%R;lZS=|<`V-MPlSJ(oM7Fv=bF z65;r$!K!evhhczoRl8mXY^0CsBOMcsPH2`;W{&gmKz#7sOTbOI{3i7P$t@Pd;`HuY1VU32cM^b0sGg^S+lj07|@6nV4qxwvz3sjc9Xa7(ig5M*$=j(qFQcZ#QCAZ2Q@_30^my`03LwQx-$Gjx$#9=C2dP@}8l?SMKrO52q){TF7k_ zKi}wE|M3hJBhq^5kK{6Mu-nbw72p$Rs=SX*G0x4{dZ!-#GV0V6&kVB!ILxhx0a1~o zQ<7(2ZQN=21@X>8SNzIR$!*by1ZR~hg;Q=j2$(n&4^&$qH*A^@BQ%(f+mES}JYIa8q2L3ngouzrA#n+%*P z;9=4&D}`M9b|9BhKm?{))z=i!4Ut1UN1J6-Jzq4mXG(T$AF|P@pKJwBosIl;bf3CK z>z=<%umd~KuW0}fqx_jjU;Lq~eTi)WANn=`=xPUvh~MiD3TW_$zIXXDzV$v4S9Mu> z8!rAPQJggX-ED9f80qj!g979`0EaCP26;jVC{?#zV9nj`qnh2jaU-k659pxXNEdHU zbysWe5X>Aa`t3(m9K1>wd~^5{qGpqm@e65 zwf#I$Zrju|xah7ZUId`?nx1&LelIhdc*M15x07g>!u_nLM`Sv?tVMl8773Tu709?aMmXs# zFnN`xJnwA#{{2wm`e$rMm1%H}4S<;D)B`Y;zNHO(kOUh_+=`QZP;~#1O$)g{s}~+R z7MB1>Jheqcgnpn<$)-R%%Vk=QAU*-HW$!QLzWDW8G-u9o$OSQwOrJe~Vp$oM;p-peUuF~FvpO_t^r=De*KEV6sm zw9##KV)ytLy_f^Q-3174i(Zj-(_J@@m$f)c!410iVun}%{i&fge-2_ko(r6qv>`^a zTktt_&}y}#_d3vCWWiYB^jt*r4!=n-`m@U~AJVFFSPWU6p&Ux)r6&UqldpTxdtHnR zk}IE_zW*x0J1+~5-Bj3~{E65;Uc9p{DxEHC1mf=|gwYUVC~Yidw~4V_@o9hNeUI(m zXLT#ouc?ae`QvHprGTzoO?kCB{3C6N>=@a#RbhZct6dZ~b1z=%mzJaY`3e*B6FjG*B$_M%qItlUM4poP3ECogZARKAXO z>96Xvo_JmvGxnM7to}FZ~%yW5C{Z+Q=aF z-sS<4_^Bt7*Bm!LSFrmpmC~o0c!6d}w#jP$u0I~(shhtS5cJ50N4xfzTJAiT@}1;R zb!_&=?-!#XnG@VZ+`;6#r@Y=xOdJchadfxxKCYS<-GwpjlemB!o49j)sV;m+)g#)| zDOwx091HN%?Fg^+{whUZ`y{m6?LbPUN8al{d|IF7{c-Y&SA)Oxo&NC(xEL5fF+UUw zDS9Z)2ei!QZ4;ai&(00PP=B=hIqdUBQs~(8P@P3a+i5@o^fn~Ch7KsocBIh+y>*YX z^aS)!!a$|Rd-)u}e;ks3hiAFp-05j>CuROL0|11*zbo$Zg2g>nfmaGBd3O-bz4RE_ z_jg0C-QuPIG8xCTJ1pqv$jFE7?Yb-Z{By0l2aHS7Hme?o?Fa}^-N*hR;Q#N@_Ye5^ z%5Sae@TY$gyk_?Pc37$gL#>bQ-g^>o`&55(hN}6S2A3fHrv38@pf8Ot5;F*b1zZDJh-#;_SeO)U)tL2e^&gn z?R!eu|C^&m1{${P*_7`R$vyC7Y+9k=AeGEQoJMthx8?yS-EMfC(8W6PzRUivR9i{FCYC4*kt$ z3x%f$%F4bGwBX7Zj8+ z+v=0UQe58J4Cl~mzBbk2UHY_k^uhPju8HLu6_#A~|A-rFKq+PlL~|tm@gD#63%+*r z&=v2E3}9f=U8J|9BlHs0c~dUty!@j=CmQ@{?z;z|4A8hto|u}@#eojP_ltHV0Ngho zFZPosyAK85o`1D#kHKzCgSJx9 zHlSQx%|G_n;lFd_Jf!9U-DYo_2x7$$nx|h^M#aU#i@gu9Y1@8Re#hoqa_B(P0Re`xPNA#VU=_l~m8C^|2_=e{XPpLx`n z=NZ!C>D@*D(~?qX6^(4b_2#dS$1|7xn~T$PtF;0mF12B_ndnFnT_Fp{KV$0?`FxsW zf2@?{z}>k1y2f}pJ8Hb_fKU=FXgNVHa1|1`Qmru?f!{9EIDcu|O-x>v_t~DGrHq?h z67FsnpI()*XQb*k^Y;g0_n1a!6zM--ylDq1`pb^w-^3D7pRRK6`Jad5-+cR@_wZYY zU3&{yf?H+zNQ(UDM$I;V=Yjrqh%Tn>pSARV`}_b8+k^k%WgpqGIJ)WNTl8n^ z^}o62o&R$$U3K5zNUs0tTV4Uq_v^ous`nlH>-hT@$7L6Alkhs>wr>$;=*@LcF zL7s+QH*#^ukl%DLdp;Ao%0MGcYXgK$yQ^h{-<8@Z9lCZ(We+WQJF~@`CFNA=oZ_rL zS9RUhKE|!{3~^OBZplgQM?7e`1hhF(?DM%Yr++dBPGITO2Pp{*)`C~RER}T|o0%r} z@O3Cr_awJ9HPMO~R(>rQaqpL+zRlKLWnz^U?gm$x4222`$#grvo4ol8mGo$RpyPt* z-)d^J?f|tt>6DTPmmE4^+)n(Y<>a1muD5E}=WuKQ&Iy?3{Ad1=9LM zdX7&p+F-R4BJv39o5<@??rPeGWPV@270BX5bJ%Zd3Djq7SY%{<@(k}m(I*k0t+5E7 zFV@_>kw2-~BWtuSXYYAX&5m4gz6?0yVNKG_B_607pC#|jU~|6J3Y2Ja)W;|pi*ORp zqbN}g>X8oK{I(VN%-U$we(`NV{03)hg<|E?YAV^En{zTIAD-$tJ-Eswiub1mGVOtF zQKYV-bL%6@IwPi+ky53~N{QhpEjHv>mDve^<6`dEj2e5Q%9Ab=WLHh8*)~w!ddCuY zwf6xka=Uu=$4}VxD6zA5k3=I-IV^>$H3C_{WUHU5>|@*J;(f+{=2u~t#xAbxH@=$$ zC%Yr7;I*`1&bGP{=Dj-y>@5nrEKu4br%>J)IFsaFCFhuiK!=3uF0hQJ@+hT-5wfuD zr8aWOQ5b7+H1cGB3;)%JXxW@~746$TvkD)Vrj`>Uf*jI=SNn?fy%3xJwF<`DucEfZ z0;uqN{m&~iB|HEIPaT{;vv zLn@|~T~ukg6sjX+o&*YhAE!`m(FosCK;-fZ&XHJe=Z-w_pXCKS9eA70o~(Ss|9W3a zhiI%-!918f9FBI`=B$>*K=Leab8RJKS3dAkl{^^-xbhT;W3tYJBa3o8TGpRs%vR?m z)`9uBuk|YDiuxz-wOn(57~pI)bF@^>-=dFK!FiUInR-wkuQ%ce-MqBHchZd~MCNJU zDUZkP4+D%KGonUbXCISLq# zA_Xjq+2O0VqOAJ;aX(#Smqo_NuA@I=u3ZfrdWYPX<>#9;{XK2|gY+ZqWNABJCb&zW zQCG68#;-NfHAdMbipcnAl&j@ctXNIEAF{~hZOK>fY(2T0)%x?)M1g&anlHX8JW{+< zvJ>3e^wbO3HhM-UBzQM7OVnUfDSZ{gcDR7`P*c65ptc#pbd)l@BTY7^VS2wQ3dS>4 z(KhY#A<43S-Wz9Fs1`*ZH&1aI3i?Yv>2H&rD&S{{_AJ&h%;PLNPj}e759X|tZ>e(y zLZ4Z5``n9_vKA*yExJ|iqH+YTT8nINb{aL5)t17NYFtC}&%Y1y&(!Ts7eYYyE0c0P zwiaQq-l4!*YpR^U;^1jT>0MTJ)EZI#cWHKds_ z;z`mz$5c;9x9MIfzL4r!TYA~Wrn62d-*tAWw*Cd)4A=pR7#?DD*Bp&as14&I_fNZ3 z*=SctYR1Y|M(+EN|KYThcvO=S%g@nl_>AJlfcKdS4BW~Wx85|~a?+Y!)b3ci4rP)W zb%pyUhCx9NU*=UcEQ>uY&%Yc6Ym_OewS|lM_uPs^S+kAuT}E%M^p7xOGN?6ye<#|@ zymo@UHw46fT}H=O&oW}AzkJyBAWIwLMu*RSNw$a52!t z`d}l2p)4Gi7F5xehsX+i7dAZ>1MQ@p5+(94Adw$yvHhV8v=bcf8rz-azp+IQP{?T& zTft2{1d3?;#)_*$y;$($)RT$F{#JwQ0hqReSw4tHNi?D_lqSh$VSb?z?5bluHzzW? zd&+8eS;1Goj7FDOf^d4OTVxKMSApcp*%!r%u(;q`0+i`-nq}xOg;j?h-i5+r(}Jcf zI97bH55~h(ul)m;I6g$rhU;YxbPIULnn=gRCOIFmz5_A!ZYj8*3C15cHom0~j*wfI zD=%=VKeB6#Em~kU2{=|o$8A*M;Q0+~?<)Xan z4w$z3Y<{UMTxvJX5f^8}2i2Uj0yny|J#WV=HhkT`O%JTx9pYBzfDVk4JWU^|us-~E z&V0vt;MqqfRl6N?Rv<6N3*_mN>9=GooT##lEAI0*0>>-qWi85P)S7i08;SCX7dr)P z&~tk7*i(OCXo&IW?`V13tz|=m7or8o?%tAWyqloUf%e3fQ^`!b1s^g3_ zRZB{p$we1O9RPP21m;x@23$?V{*nhk-En!frMjE!2@T+<^BgU}oMlh5a;As|DgMdW z&)oeDlE%?dN%^dW`gVNluq7kyTK+2BPPhPE&xvYPXN>i3E)QmWZJLRJfK{O2Atbqa z_9f88MkrhbDeG;D(=6*oT=^&^-)j=inKRgj9lTft zH2Hl@=AA>rDZUs~z~V(xfXk+bTWS!NCR{J-`QBnY%CoYq8tym~lu7$!9X>OMG$YPb zUEdtr@@ykz>OvizEq%&F4LRt$xdK<$Vl^y%2GTRUU1(iy)YH*m2RFj#wcR5YKDaS0 zT%hS_Si*zQz4iA@-eYc0`>wy>ZF1t2`7oNKTRBDd+7_E4)Rt#_;xzCt9Am1b4`FCc z!b}rOR(F8RWGj{prOGI8c+V#Fwlc3`kGf@f4&75AI|9DjBmtp1SO#pR7pOYt%1958 zs>aluSL%!udo}bqr-deiD{FlWt6~bxuO3g^&26Lv%C!x@E5sQ~nuC|qobiO5_a7fs zB1F`BEhIm+teOmLlKD84?nm4fM^wPxpmBZPN{$<3!IAT2=bDw^$mvR=x7mk({mB2%9I){S$ge)d~2C+b{g6CS6mhO9dLrq~#y87U9#=yWp=2~3yXN}>l zyNte7xQH3c^7P=`hy_v)-bv8xP_+ZL98pX6T#-u)l&y)dGwS%TCmxK=`4 zYXaGMnI^RjvaZ_CRS`RAg05?Hn6EsoWwqbg7YiLV?=1a=q?=s%JvwmBn%ksWP529P z7GFqE{-{=kYXG)7M5I>dd8XLnaPDP ztMOXE2Q0p1+Q1NNxxpjMZfUsH5N4*5NEQIIo5xT`yl7VtBUiB|g()qlivw07Ba9Y@ zzmtOxeM16`hyR7Guc5(H$}>MgF7S+6((=8_#CtYM4v3n0h9x{iv@>Jbft=dx}%=)=-g;vWtrpF2H=0S>IaXYjK;t=?N)x z##jELjMKUzXz|h#wLgB~qJ;9*EnSLOZScJDZlTa8*9~*HLZ`d3btc?`_YI6)FB@j} z$jP%l|Cm=b;^ISR;(1i0^Y9lCK4z$Wv%!bX_pOz;9Jix4!WrbKFgngX-8ytvslaIR z^Umws-i7x++^s{>HF5$)YP62zO$Bh=#b5E%X5e`gQvGV)-U(Ucc?q1dZ@xkLS5yrQ z_v3t{l?&m9535>A8)SlDLpHGFtHbCy3bCN;TYD$Gl9x}?+1n}AK{vUp+2GpwfRnmt zk4!#y(NkL7?WUnT8_R{T)>_h#Z5R^VK zoaeogn-uu!ayo)-1zDs5oT?a|;kmW!3wW(ZJe}f!&FR^#>ix6@_|DAw{%26ou8Uj5 z2&WQ2)WSimsPn@KREF=s`cvNNITubqX=#*2c&~uQ))7)vHRf(fnZgMp0V|A+7K2%9 z&Okw}^}{F;@>g2&S=M)=s}G*m2B#qJG=0lyc9V>n7UsQmE3)hJZMO7f@0Sn!s1@_= z-cjq_9ODua)~0rZX6^~S-WgC|KHpKKVy{re6*F?CZyPiRBG`ih3&jf(GuF%j zX;up0`<`6lm4fkXmEeXds*Y#pcGh+Tibu3uXH=hSAyQ#h`11IcsSUle4dcl%X`8@w zW75_l@k1g+tzPR><$*@Vatd~(Z5DL52oAYyuGxD_m$>oJx%Za0@o~@2Jl(iuhv?hK zUUyd&0lo*Lo9_~6LCgKf(WgZDi0>FUj6QZSCVjjUmmf zO_ob_Chz;esWO+mA9o6hb*;~o7)BMkG7-w8$m9$4;bWuW)5SH^5Z8*g~|1uxYX;r_aH4CW|0|2>s9j6{XP#Q5xNhxcG0l9HMRVUSF8Rm_4Z)D%@T;l z(kq$(p*(etdA)nxXYHfo>cnUp+c_84otu=(b17)~GOb;<-H#B3J^grMAOT1nm{H3n z5s+)V`W9NRHsz2j^%a<|_<9hG7e%IdsLphgm@Y%t}nw%2Ps&>vh)=FV`O! zY^9=wSi%ATomtqe>M&X4_*;df|0678H{!poDJ z+vxG}XsWc-_Nux}@DH$DEQ`EeV?^Vjc&cOltcA&j3e^GKNa`Th85~-DTc5i0 z`ATGv*UI(Ht(R7|2$$<7w=TcWn#u$wkoUanGmicBm>N7MH;stkc3KdkLrXn@CVER9 z>JMV})>@P{bghyZGs!I_v>ABWzZ)fye z_zru)3OvE)!7vk?n(2pzb?!Le! z1NFD4Z+C*V7%_RS<>nTLVJe-~Td$7#k%K_94@uMd8Bem3?Go4=IkNQ%?<8K+rxqQwF?mA9D&56JECBQ69=^(vr;f9{w2$gd5rq$YOEvE2 zI*}=7S^zLwcg7aqr&4p6$Jh{iovaKmN5 zjAjZgh?0u%soZXPY-ZGMO#bkgx2X@?$Rzy~*ZOOc@2`iya!A$QpFv>RJbp!j{KNzI zN;c@^l=RkgMQmuQZCbXCck|2X%;L61kmkDX4c!M`EJ)^?V7wU2Ve+WP^Qe$8UBa54 z1Te}T;WZD_yBtWI>JzM6jYP|?s!D45quc;2VK^t!hxrX?rg9hqRRft{l$Ax?nC6Rb zChw^547Da+Y)11M@evWDdf%pzOm>R^iplww8Bu)|pjU zwjhY>Q4+7o^Z+hCCa`M2m1w1Zbo+(>wAy>xoHdWi$Ttp3C_EyVK*{+$aez-*uM|>2rp6WITl%gq9AMg zsjO#(1>|_)+1M<}<*xkTRC0YMO^3ir@|?Cn^bs_=7H$ZhN%+$XK$NyzuHQm{S6dXH zE6vl(UmDRK{(FgYlNX>MEImD$pOPwF5;u4=h-8l{CF01Ok(y|pwy0wrE#YS~J7t#B zA4b$zE?gYuxOg=65Z@zd+x!CWAmWn=+rX*B1e=gdYdcXi<{){s z2_O84WX3ppyykn-V_;yWj^*+O?V62RPp)}Tm{_UOV#Zq5%+oIgZJ>s*f;W<#*_DSD zXxY2&2OTpXUG|Opf%Z&CfP@}iBd?x_%|FTqJ3oKb$xlH1J+I)jN z?B>F)5P5aGZOzIiXMeJtx{=v>IX(BMXKFT&hiYAC-sK*i)W%&}S7Mr{W&iLjnF{b4 zTn>)8m0(&;5T1hPap-E!Qkx%hZcMyC0ovR+NDevF+OwCZdWIFi&OlT_HTfcoCvucM1(W2wsVP(34=R(+~mW;7|*jtk*n(uoV&B5HF`#o*gKN1 z*uZBYSe61v&no3te_Vg1+N+N@kxf9#TKGIrafef%vX@?4dc8gd*QqAozKpCM}Q@XggYU90i}0U0?&n?4cz?Q{2~AaQ2PyTMVq9aT|Q zsv-P)p`qhm4&3jh&|ki-i_izw61tS8$4ygJ8BbycAvaj`55j0iSZSUxsuZc=x%$Wq*syGa z5$o;jv))&`XwU#@SV^v-b%I#!W}1u$#a*<0tJ3%dCy#&6X#H}O-Z*W#Dwv(Yw$QGD z+o1N2X!9_NY^TLF!07);-TW6Y=PAxk+IdJ=!-cyvmQXn-vx%ox3@S+ova*4(yF$@gPE+ra<+aA;I zmhcpbg?)Gu+SDD!KQ$vA#7wXr8m?7rlPd=td^V!jkH@;Tmy~s579jJ|vR3%?2e~~4 z(@7uCchMTTP~At~80eoP%Dr%Y7y9us`cQl)yHe5IuZt^wG+8=ECM!$X)d+vknz1>s zj|(icnMYuWDc32YPp>aHihysNC#~&? zzSYv>fxP74m6d=90f;t57iF=m9=&h5c2P*HYXK|Wya1_s8CI-KNZWXZ>krIO2G*R! z*(i2UIO=OTM6CF%+A%3vaaxx_j%%$hBS(*-R9f76MMC-Ra)sEX0>c`( z;iox5YlsUy9J}eI3R=}FxC)%^jt^y}R5#I>`QCQ7G|NnW(&GGCVU#tj93xJRnh+r? z;C$FM-iKb{14LFsG3VRR#ghllwmWt&d<4*$;0u>cOFg|`PV{)bK+CqfomV5Tu_ScF zG_IT`0AxEE>4j~>4%EwKPqU8;iii-2?iV4R_ zyy8V7vB(Z6q^DE4Yk6-(D@BR7_!}!N2#DH8GD%;PUsI}6kE?~fn58J4@0XBJYckSY zuS&J*SV$J2YylykNllmuE^@wAv`{<0(_eT(j`QhbufJ<8?}J-wFqhn$7Oe%(Gc zJw!*_s7fw9{F^)7WPnw8b#1V4V)qW_i>}QtzGaKKo!DtwK7HX6w}yawIuvTE*OT#V znJItG3&VRj_h!gqE=Fglbou8UcmRCFZ|+^g@#i1?4>X4J4D)QzCNU@KVe1E}nT<lTaH|=2@%y-S|gOUsf0$nD}8J?m=YF;^hqD?Ur~Yj!%97% za?xcoFR&S-k^y+9MV&;)PLUUUM*_J9d_31SDJMzhz4&pk6_>2qU6tZ^Uc;QLGG!UaXq!N+%nF7HE$YP zTze2&4I9OLRX_7v>3yE(I|K%I8eXias&$ju5Hb3pyE}k0em}JTa`boW+jE`)GxRf3 z_#6=6Fq3f_J5D9Iy%dm^C|P-1{#r&GR5FZ1S$RNW+f{XSQSbK& zOvFk^rO<@vO99b`2eXalYUeyD7K4JO=j?)hiC}tmsoo@q+e!@EYOZ^w{1Ihd-1Ha= z#rvky#NPufmj(@{G-%Jh3Bi~$_*-1GDVmDvaw!U5n+(~ ze9>@lp)^^&^>FE-cgEWC-V?9N+~JU(L#!9(PUCy=)=>dIIxXlGXuazmqVECsUrGRfV?l1Rf2(0z zKWf`5oVpb`CtXi|Z$A>yc+YUuA8i2bjvu;I7;E4Y=AjPC4A&2=2gJg(VL5!TRk zBl_wFK)FyHgdk}ahL`pRWl9uqd1{;W71?e2wIj7oeR%ZML)mToWiJd^f|k~cAwR?3 z7@wUqk~4B^ZhN)Zpr(*#$qCJ^!6#u>#XXnP@4%pO%H8r;x4U$pmpHQ&gvlBY<Y##0?pXB=P9AZnpvJ}E=Yr=8gD2uMY2P6loJS(cE(JMg3zEN_2jGtDb5ia>RdaT$ z$wUaIyp4L~TZEj;QgX6us`JiX>nv~L`CY4%7^UoM1nC*O+s3+J31l-u~AkJ(x4H>MIF*Q7ekDu%QP%cDSUUzu?c$a63@bqTP-sNg(y3E1EJVzS;iK5AdBMnj2ww+<8Tz#Y)t=xxl zdvLmSJeAfY9#h)Yb>nRVlttI%S<~dJ-p_Is-%2kHmAV@;_##DCZ(`_O?wadXgCza0 z0Z?4D8?gPaR(cHl#$!Ki5YjdcR0SGUT>VTtoQMleBJQJm1BXATxZKN?5+`phpoQL1 zp5!^ZxjwiefQjjaGjn&H9Tb$!kP9$p&3WdFT5#S>P_}|EOQ9#5Dt7;>wRqwzIb_kl zTKiY(>lflHB`;-?d@h1QHBr4?Z_knV#Fbjaf;atl)}SKOseXrPz&M-9mMCW=cx{f? zmTIT~{inI&Nbrb;1F)f(vOLudqT5o=d;U6|lABHId&X_#{cQLrb9aQ5`q&T7yRfJj zF1kpi&2`a`qNy)A>|LUGrv>Z99s1DJSPs9;lx$L7sQ35kk}{3{B7k8+g-6RvwzDTX z{feg2K1fdzXvT)S%r)m9cP?~g`TK4!C-p0}t)L1sXbvnDan!l3U{^q?t3m+i2pUAA zdh{(nW++7mCDoMyf&RLWZfKFYQl7Gvt==n|P|NMRved2-P!yZmli{5AK$SI?kQuG^ zMU=?y9}X9Ntj^SL7l5p^y|}Y9lgbt=-+{~o-KG+pj7Wb9ZvQ{`2G4>34F;OKH^CCo zxv?zHV0_2;TVS6|_En}P*GOY#u#}^^&Sv>17}+Ta7%$8tyUV?Y`5LulTI$=RpdZgG zXs#oEs!z^_06>vd_zoVeK8JX}Q?R&FXhGA#(*eOFJj{jZ<6!KGse;cIHTAMq#ex}k zh2kURPwjmN#5vF+&I-?pmp;i1=qIs_7Ul#w#haz&`3~szE$mvsqBzoJSz;ty+`k9* zK<{$!v3P3QCdCTrd|i8Je?Nvkq?2d3bk(pv<$KMOL|G|uD^-w=u%#du z9fqiAH2Q1|AN%eKekocPjkMUB;+gLAHRKLmvr#|{thG(@G`1y^yT)6|RPIb+;?#O> zlG@-$wfqMe!3N(o*LV1h0p7nrDTXdOS14|GG}ql{!dvb`f6SKSA9fF{&+ei8JavtA zCSjm#6}7LAEgm!?2{A5QTTvNWp`kq%+j}zaVRa&2?W2!Upr;egTQvIg=e|RE)x5<` zaT<&@FK$O-gq(EZr$OfskA}CgghuTdY{gxyR0g&w_YF3vW0L?3~ig!{)SZgGd=c`2n-$ zk`-3@cQTvuEC+cNbp$zSY-{fe9WfC=fO+#*I6T<`a3gSK-|B?VnE?E}4_3LF1N*gR zuH8|~L6uLvD|Ac{w0>?gwX5A3SbG%aXwsKe#4TKxcLJcDJ&?z|nTgWQM7_<>T(@O; zJfPSDek!a!hBLfp;Oy!qFCIWaM3la%n2LG0D-qY8cg|)BM)QOyR)_Hm5@*X|bWv9> zbg~ZqExP!#%^i*w_b8rZ=@yynz2td?ktdiBaInU$UF{`yWqqoC&T2^7^DUvfvX1+y z5m&_)J-J4UOEgws_a$gLOliYb_w$D&+}#y7GRN|i=K5n3J<-Gb9zuFCrDXH902$%1 zK3C!;QipBP!bmv7S0AiVt~tCUlLW_n?8{*&`D_-3*SlHHEM1r1tKl?ra9j0+aZlmL z*8P}R945bB%=7)MnKuM$l>3}F$kq9S#e|_m=67oe6#zoY4Eg|p`TOlGg@Ao}d1IV! zA+V|4SeG%`*unaq#uyh|;G#?FCA#_2mOlDYckqlj3J1ZR}Ky^#gBk=gK)r)UKM6 zzTn7xmx~p30Vozun*MPZnFoBda#Zw(2uV8!4$a9EI>@v zo7WxD{8c(a5->IZmP1jrolEwwv_BKic6f~7rq{mfIxq*NR5J60#4DVa*oFLF!0JB) ziD`{ecNM=?3Y<8LB>?mWiR&+t zw!0_Fll8Wt-x*J~QH$!%fb`!1cw4fD5cz=N4;0P<8)G&^@TR@M%WjmLxcnGb33#5M zCgo6WW4gH<^!Fr#Rlui?w`C5OigNb@WELeTPt{kbvaV77Ma0iM#knVnlC&(-16-Q0 zf$YXmQ>g7Wz=rZ^@#b)rDW%RMn5NV*ny{BX_`w06x>ym5d0%d_<-+#2d#+9lbl|Jp zU%Ve<-Ulp=nd!!X6NXgJ=Q5yhc7G1Gr?<}`^&#+C0emrLK3W&2$(*4R%9ArWm4rCn zZOdiInu>DfRZ_!TS`fmmmL91FEGsu-?YfOaUkIHviU^CdG9>|4XH=tEGqyJSJn3fn z&T)s@kb{Rg;FlWS9oGzdbKHC=TVO4BH#_I*3-{GloYu-~vwaTl&uwUuFLHXiMr5iO z+WMAF2f8cUu5$dQ2htPwops>=n`bR&x3#&9ddr%(qx-UDq_$tElfqoUB%pOT>d4{N zEnryswfG)QR17wmnJ!S+-&lY9FzI|Akl@8S?oOM-s{9IHOasm&U6a1RuYqtMIPG=- z7_WyiU%+)&HFvI7$_fiNFPkE&$fN9E5Tl;$XQse8upy5fKgu*7t>_Xm-) zMpe+Az|f9Ae&=Tuya}B8z`_E6LZTix-C$78lygBLh15DC-yfE@L6YDCXyy=7@@cqhl51>!A z>)$Jy$6{)FFuwT$o%C~3cp)bQ6k=9vkFpc0YbjV%T|4xAai_VmuRLUx5icz(EUK~h z-Dos^b091=_!iXzw!Shk6>hQ(rrd%_u3EAyZ4y4O;;<+1M+dDWu34pPsV0MhKjJe) zliin+AHM_v_LiFNTr~hb7Ks^|xFdPe5k!>a7vEV!Gp$y$&?N1gDFH_`fsA6XA* z;T)i=19FJYpf|YoxMYk&4o_qKHX=juzS7#!{J{PM+?3-EUl*8n>q-2>E};h*&ByGi zFj;Z7{Koh*ZuBM5rW0=M&y!uK@2Fo${PiEy2#-NpP4{m4w~UTAEWszMqc`j@uVxCh z#ZTCa1_Fu?hoAzvgD=GbtxYf#FD|-}UsZ-9tkW(1X0e*_bkUd3ma`G|a(ER`=-6vu zrzS6&TyLx}!~1;k;=31aJU054?CK{=uGu;6DZZ@@TVkh%8{Nc??P(x@F;h=UgtF6u zihf6qsmT+;%R!m*ff?T&-^)J$S+NWVXdXGJJ{bR7yKZQ~7DU080$TRVH(1s_@gE!J z?oZoFmX32C@ER~YXJ&tFs2ESA_^rSrkbCYFrEPY$$(L(hKey2^ig&h76-O>665CEX zO+8H8Ss?@TU+ds^)#s?IwxinNDpdeX28?Y=aPv;zib#a;kj&;*ub@INj>vr6d5(`K zM35A=6urf)XaOx~K_(4&A(y0}m@Hy~Nc`lTW7hU~@&b-1ZZ?}rGEy_F{|0zq_*k}I zJuJ#PA*RNd0H;~a`J9L?;1dIXO%0klOHF^rtPKC6rhj8QyTZF?e<#Q>BOZwA_u9)1 zT!ZT6C58~yb3sCZvuW%x7PyGFO{2Tta!^V+MdiQBh5xPAa()ibFt=rvKEIJ~@s$oR z^cFuK4t*s6eoTAe3H|6gp7NE%Q+DgvcYHNeWAR6Cg(=ph?MZMqd*0S=0b*YD(&|3Y>1eChjnpxwC4C9!w2Hks;5rr5VwJQ9+LFZNf| ze(`xr=|T4bASx-iCx3M?bey%)UA$96%}V?ds~OL`&zASqA=VahbcE=cLT7-jh%HZa zol1+%)ay`$dzGQj^^2Yi8hmM7VWs;Uup~cceT+q&Llo>*8FC?WR+GE)y%9CLbT$d0 zZ4y$rHctnB$gvxGLh-yy?auoTedVSD<9SV0=_WtL(vgwkoiSwp*jLsAb;BM$btXe0 z!=ffx*%B`s{DmCN;v04e&Ryz$^9;o?Jh}NTdE1mtr}W@zcd;jP_{v~$gR=md zmT6TV)dYY*D`$SnrwJ#w<;o@Xlw}V1dq~1G{Z^(Fg6w({i-pZ97paLgolfmG3bl97 zt-rygRoRP2)xN_Cem>?49x7hMCB|cNY$qI#J1sCcJH^Q1QPYLA3;XC+!5mS;G#LC_ zTB}d51l!Jpu_n+Y7SLZeaJfk!%EzPg=^-OI%e?n;7FW+BI$VOI!s@m8r(L<3R!U}_ zp>K=S7~?BqXJsY(ur)1!JnNEKH`ZIj+b)7x#>B29s#X1S%Y$)7Rt#ykVg0M^&n)rR zF3Cud9}Wj^o!1~l&-54GoSD31T^Ya!>3=Dp1vF^RWC1VDb%0jf-F6FNr$*13Dq~p& zzGwDXdW&w_x0pUcayYP=jW^<&>v_zD#iCgQwCx<;5g8J^yxNbx{A(GbmbJCjSwqv4>it7&**W7Ald4YMPACV!m+w{NyFv1S!+;s}kvE@f z&$0b2f<8~~FyrgTMTTym=aqon#tSHW`tswsxy-|TFV=TVE&fKpuFC-YXg(58(~3{J z6*PiopPZj>9O*gR5z+cGv>C~s^|e|L=x+{{-@BS_H3DD~rEjkj9UcViZ<>q%_{XzY z0oY)m0PI(eaNx>{FPxe0+Xu8@YnYdr;jH=L_6spyM%&H66g+*&y5lO5L8`BHN|ZL* z`hV=bcU05a_C7oo#1Rok1r!7Kkjn zctbPOrz@IQ{c?dfOHgrUTtWtu4F_c7?AyaT$RGA|AYukq-}d|Wsv5Xp(r5YkYpPwr zuWCsl8ab?o6CKh`&E{isUU7|}tr?)t!XYw6YT<*K{>SIwiqhB7Cv5};{9fs%m1a3@ z+ux3M&%?%{Z{;uzwRmGFhh3PWn|}i_ms-HB6tia>&bqHdXF50MhLf%y5D9vj2xICK zr)+?h6zxU~cM500(9{vj%U zB|_XQra$AVWK#*~Oi3n2sUVAvFFVc$=wCE6(%L|8mVUgB!H5aQTsOK$KJm6UvjkCi zPpRm3KTj7zgkV0sHRtx?{k+*1DSZ>xNF{<9G}*j8JJF{}y?HQJT-rInw9sk19WX88 zg-)q#XroG9(o*xqERIOTIU8+taQ4?PGiX{E=4!k%bG==P;=`{1t!gtq7wyOUgUIPz zB+ntI9zZPYzipeknp#{Xi(9WnYwGkfW;c*+6ssdDoV=4}^x$rm@HLYG|rM=)M8` z0-SJhn-_ZHo!lT87(|4AN`-;0iwMx8ChRwR8Zpouxv#W9mC^$dAm_{s8W7w?X(JI~ z9huCEj<-zpq4qm-G9Qzm1`}qk8b&%LjZ>;2$yYjFp6$0y7#&XGo)AcQ<>n=nUAkN5 z2FI9u1Sl1e*O6>S!PBCCM*i@C6w?FFF=pwLaJXo-uk9ImbT`JdcH9eE0g4p)%}Acb-A!TiU-U>cbt9~&t2r+y4&@n zX6~l6#OE(qm^sr5g?BWJqM1X*>3p|B!=@5^;^r4%{A_K5-;ri_tlwl8NpbLKfFIQ~ zE8x27)a{7`ajNsYgxi`_tJ~_Tp9$%#qG#r=BTT=i`b+R*io9b*g(FuHnA^Sn1)}^@ z)x1_rrN-@o^6f-XQZ{8ra)ZvIl)r_Z2K|E0$A_o~jsJ!(*m~eGoZTUG0%k|uCOC>V zd!Ub9GI>*G1e}Otwg|g|`X4Zcy=@k!$ ztH9v^7CPGz&^s{R>d8Goe9O!A)0=Iz8Yw?+c)12d6xEHcy2o+mRe{OktQV;#(!|N= zW25Hz4IKDGX=<0sYLo_oBjWAZ9T<4BD{ZcpHe&R_jYE)EVB5jM3umcg*o@3XSk8tPoq7FS-p?DNc|+P33Q76ugPEl{BUJ(>MPp04MP{wFZSo*&zHBS zPxl_l*lhp}ReNZ2#&Y%b)6F`2e?uLG;uo?zn9$DA5CMZmMq*CuQrk~nXr+Z;U{KMJ zv}C{8MSf_K?#PjV(u)QZF&Ds5%m}_~Dr#_$mr?HZGDt1KrT8LUZ4#;WcWjY_dHGa8D1+&w$+0AdDufxS9%m2i0_u9x@tF_Zt zee3nPPne~!oq?P=%b`H@r0V(_1wZoe0k~qRPd3=t!v~dmO^e^GNAo^x;;Pqct~sWi zPS3j^J)jf00elejUSWJF{(;viMw?B#a|&NGmQKzotg4;Mb1>3<%F|dxA#u;Eq`Bff zK4>!&#g&{oXUyOCdhNZLl8wB$8V-+MVmvJp$*R_aP$)MibmuTlFL{^bC7GmMUNYghRl27U|I1@Dyu?bK>yv=`MJxu}LzahzG|D!RCHW6B17EN8hS1?u}VLjzp8t z$F7<+a@ab9CL*qn;dLIm7L=RsJ?H6f)Lh=Yx4At%c&B5ZXxErmLxlbrZlc}lGUz+Y z+m}N+$-%-w+W6{(gaTU5pfk-p_Z>VFB_@VlBzp*|QAa(H13XYmuDs7qq3_;Uy0mRK&Iw+ie$=TGLgEw!m&S8(%t4A6YBXrQ ziKX#Lygz#5O~rndDhvN9ZCbUyvq3BAf{<8-=LgH6=XQ?Yufunm7NlHxTQZ)w z<;5>4@#rgtVwN3*#s>AN9W~C+MBuqK;{_hoTrwp;&D?%9|1A*7id zWi2L9jX_di^!BU9N~NJkg6*w7np6kZNJ2mh;~FPV@16!BwRadHXcHbjS_&jwA+}x( z?WYP#E;Z*qjGyO?#}y8!TMfre2lsHpdX5N44P|z8F5&bson356_4zH{=sTqvw28;=@&qA&=?`S|hU_xW4OF6au1&eO9*&JNfHKW1^-FF3*M;t_pD}Q}l zxN#o66_qx%p6}ML$W(gkY_Rpv%wB!b12|!GlkQ`pB0@+FrF-OfV}n&+0a3-?jHzs= z=_Z5xAur~@-OQP~RLzMOuql?3i}HBkdr}itoWToCN*y#f)L`?%?DAFE88MZGhEH z=PoOAwg6p55lY3{c)P$U(o>RxkA2%6FQy96cBV!5dV6JSw;jFqj8q@)C3I?i*$H`j z&x3z8&hHZle@{37P`1cpUi8{htGwD0&VA&fCF~AczOYfH+x+#tV`%F&(2oqmUDo%x zDNlXbG;P`3%z172eBNSj^3FEUH#(2Dh|L!2UkQHfLihD!q>X(vJ{Tti+VnJg4Hp7u ziW?NKVr^btc(^Ms9rHTTQc694C1=QUWd8$%1{j40Pi(ecV0`1R6Z=k1Q z_r%QEs)pp9VWTbSJbCaXMZNzM?0( zBe&nX_ZWe1Yyt^XI&hZ&!UjcZxbefpx+qIQK}P)y+zy~~kKDJj&kb+X>mu}0H)SM> z>1ND&=Z);(-94~7IsTFbUhftnJwP*V-md-10sY8!UeLsmVs&I@GTzDm-z-Hg0Xjnm zHHLs++vemmCtC;i{y;oz=2eR^ZP&R?Zj+Pg4Lh%>-sT)>m3uczvTqX2lOrNdAcuu`?XUIF=`7Ot2g68 z!IRby?2p!bDH`K4)%)%UmNf&xPb9+SOGzll$Sq^&$jO*uMw;@!lN1KA=Z9GJ2x{Ci z2fBdUp?oqF)4Nj@4xcJLFtou+`;xvs{X=kKRxf`)giwgC{leAYx4Ot9e|b+3)or^^ zMtAkR^HbCdf(GqJDr7je_Z6HY$qyN6zZ2-O>i4cHPI?XuJ zB+D_h2Wi2m?2@Q8G$IMR&i*^2 zm%>r}AK3kw=&kh78Qt9`)lYlZb|^GAnk$_Y-M{yYuf`97E^pOtJ*vv3NRxY3fBox@C&2;xNEm$zR>;0h>`(+2`bnPN|9;HFKt9+61R^0OP z3N{hilu>qub>aDtIxVt^sA;a69Q2T)Q-7iWnwgVm!TQ&M4BfXerK9;*Y ztK4G%YSRsBBb)U!21>g?EDHl8H$Dy^ST?Nz35IP`_7VL)S?Kv=yf|s)sugs0fR&k7 z$B!E}Zz}+nehz;>+elS4`Zk~rdL;njZd3!w#;D@@v8B-`pdyjis-xV&u5U?>-#Cfy z@VeW5UWZmgok)b;XzqF|1(n#s{p>cRcp1Mu4aW)Hy@Qj2Ivc_Mops2Af@Lses!1-H zE`S*iRIffbjT{6wH$J<0rxwDmUwAki1mQ3~{5KPAz`jF&#Dc*Z z5{7w?qNUB9Y6tdq2>-ss|DyPNU=9e6TCde?|F@*Je;$Fi?FKlYXQy*q{+;*y^W?$6 zTu_+PQ9dU3uWsx52d^V`nQcI+joJU<*KYv_OKt9T-OhjT`~Su2B^}@Zqbgsk)&5&m z$UlF^ZvVU6 z|4)L>58q?{_n7}3@cm~;=R4s0j`sfv+Gk&EA)@OMH75KXwWsC$u8mIy-fVun<51Es zVjB+~IHdphXqU7?#xEx~@K#8K@VXqh_uHPc{!hZi%>5y|oDTfB`RU`k6A78Mv-Sj; zoRQK?rKIJ!1TtPOhrnpCYN$gb9z65Q4;waa-n#R^*FSigfkEmcuN5x;qyO;dN51@v z>ahc2#K`p(?Qeckh<|4k=~OEBu0MU7fB0dazxo-SZCh(rU*loBzxl~3j?H7r*PQPE z)f)WMPi>0ac#o`_3L$>`lkOYNQo|#A4*d1X|C3K$dJU3uo#|f1Z+X)67a#cVvj9GA z_V=y*7hCrKnyvl5onO1HzdAhMxAR}E(tpkIUQqIyUW%iyx5cfm=f;5>O@s5CB=S@M55a zW1b;)GC}+GL8-gn2oo z{_4kk;akVPB?z!RMd44Akw?b$ZZV@DM%t_|O^Mg~*tGYHpQX-w78)zEH)5g2*)PH` zct@Rj3RktyVSC-+{=r?w7(<=yZ!0y2`vl$=O5%jS(dcszH(?A7 zt~0^VWbZmB7{{3NE?0QRJ@WZ2Jhwew&wt}@+bJfxP*Z-z?-K7=tzWzUk2Re?_t5u5 zL3UsD`NmD^;oBJnK}w1M8oM6M#*!%A_l+xd#u2Pf%S~<}(2;torg3XcY<^4Rr#SbI zE#oWr8t4R$O?%(wF-$?Km}PVQw;Eav7yDDiSN257IOWQwzk~`J6@IHpT>{_?JklZ`_b5fP`fr`m@KxEZc6|m}pQHGChxc?fCxrf+Rf!r|yUX?-(X4D1@v( z^yu(6KA#JocSJu37q3yg6NS2d9bX)s_>He|b2spt<41ulXlqbI+#dY&Z7x{X0<2=O zepX5n^!lqXN8YjC_bt)iXbYOa7NWb(>Eh#&A!OeE?ccfz#b6cuFxEO}sV^@Iwu;x} z2fmT`Mz0vX861QxV2WW0rI9QJ?X^KU?kqNOMAdGk6x@D=@02ze}h>F00U%y{q` z@}Mo;$xXb*&{OWwH?ATXtm0UDh$_cesDSHLj2LlCOvbm`!Y*J7<$Uau307g!e(yJ~ z!WdYET2o#S)%oRn;ta0ixh2hi{O3pD>u~(`XW*6|0#kHy0j-|;r$)YV9RKPYiAjOy zWv`m`?d>88OF~|cc0BkTRD5SPAJs|R#qygjm~2h)kt|+# zJE^Ec%y)C}=#D`lhTiN|_J%$ZkhiQ;v>qs!?WHPx?H!6hw3!R3pOpazbj}qk#$t#h z?#J2=r3P+VuZksPp5HFiv#i~?8}8u^Z@G;}ZF4Jv}Su63c zMk0G%z<5yU6(JTyy>p@nX#~w$EmsS0>ow<}`RpkJPhU;)&S-70LfkHEw`tYxs1NS* zq^P}w6*l4~)%NE6zH*2W!fW_!>$fl%!$XPTcMb^Xs8Fw-XL$-|kM82C zh(SVj9**Cr&nl$Ouk~_tDlEy!d6XYS)t0%YLKe+lVmy-DNK8)Q#zwDs#9&sO>|rUt z9I4zvde#R{gRoUB4L{khto);6vlDG<375%Nl>OUh6Pe6>|7cd78EfWk)8|ivEuQmc zrFcs>0j=$Er@)^UnO+7D!_;!^%Pdd`wIZFR(7US-LpC9?0c{%8(6~@4c`mRsLd~EFp(JR44PKH9e?>~r(I{%4ccV#Oyz?a>_FS$ z;VB1;-#i*hP9)MBbEx+p<91B>H}C2`J>cEz^77+3?uxGhx^FDoL()EQ0N+qDcb0md zz`(3)xAGbqiL2!scAi}nVT`uXH=3+F1tXkMmtUl3fGJ~rKRG0NXu!N!l56m`AzFn> z|IMXS)QE|yIUf~Wk(`+Z)AD!>Ru=`4Uu;Cq*FfkU9dDB84a)E|1*Bz~%6M1gG^Jnr zHL`?;a7>vmH2M-A>#R0bcqC*8;~n{a*4dERmchE@ea&M9IdRh5^)N?P9&!F~H+Ofm z!_*Cx2Zwhs%(f%*7p=-VEs%Re6Yer4Kdg*%bMNm`_wIJ57&$Jr)MLn0&zvE%(oj0>6?U#wCqwD2BTV&F8E8^mhu*X>&Q|l7zlp%kmW@W6LhtkOyv)2jabiCSc++xZVx%?y{Nw76EmlXX9dXL{=$1n9X5XSR`xoc9+4|van zjocTkGjTkW?kp;Xpf~D7ToMtCe9+$O*3DhhZfK5IBdRp-uhZn!B)lW8)b|UFBUf9^ zb=88F4UPS}A1qcp;}{niIC0!y)+YY*+s5T=Zcv&a$sP;f^~q9QYuYUfr%O;@dg7bu z3zpknrXbO&yyq>s9P~>KB>N<UyWFBP2pSL`=5H0>hl{~43 z(;n5IHZ*acic?os^jml#nuAV_XeYKrqH{=jGgUKHh9XhgX1s%@u~ zXwq6z1(%tbHcB1VxOHx|OcR&d6BPHhgFwt|VojrI-`33y}f9FyT- z5Qb01(sKW9 zut;{JB+qQSvhD7vA<)>N=R9R*JJwt~3i)+kr2c^tN&_dQ$0FLe8w9d zJy5Rag0+VTUY+|veXTm`B0fag?XrSvO0icy;KmL5bWA!^ovrF=vO1r!jHkh1ZmUc<((RcaUe>qi zeb=cX=_lfaI<*5WtF|jgpJOucM~)JH+N^VSanD{ISNgAp*`*uhBy#v8#7ZAs~m?~`MvZ<=5&+ilDQKj4BGay8~aWe*Hb7qClDeSX#{DHQ8SGTggRXW>SE&J-K znQx}`ux9sjNiEq=rmpDMY#FP<$C-Q52I@lHUgZeJ;E*qmdFHJO_qHi0);h?>MH?g^ z==wnHlN%Q~4UNG&p2gG%^>d8z$007{m8hDy)t>tu92{Oi5*hMbH&mY@hE#K$-uA0r zHr!r=&7T)voYH~4-r&^oy4ro7nDJ1M<>dg9_yd@|l}x?TlUdEo7~qK}7O4GUU!A-F&H21GwWe5jAuRdQu=FDJMuj#w$d6|A$pUJc{=&h_2 zb<3xarIK3d7tLD$;xj;O2Ej)zRRIgW|ucb`%)BV--8 z;I5vkBbpKPX72W9Z1dh!^f+w&(QILv%t*VT=onA8(A~jAS?ls*Zsn`1kHQ(v$Edg` zH}@PY*;i2HJ(v$S;psrEew49?ynF^bMSn|T9<_ivo_kHx9;qbkpQ4Ketq@>cc;hDc zco`z0$06k&+0Zh;nZ8_%A(u^0`!|cQJg@iNohk7{8E70Rq+RRy8curP0V9AT>Vo{o zG=g)i)heYX$+8y_tD>S$7qA0EJD)nDZ^xVX%a6%-_6w}q>X)==lpf~kmD$1_zl`fl zg#cq2*X#9+^s=t4cQ9bY6^zy+8X3Lq?(OpV#RUhDyFhAo{QT$Rle=>gY?rH=zJ&7R zW0c*8?0tUAStOz5iU*og6~_%cbeSJ#x6EjDb9c0v==(Mr+Ol2?eo$W{sE_J5wPee{ zn5|iLEukF-m$J}3)}eS&=0vD+!(C~^8R#&i@nHb*?fiOH1pI&k?IX<@BhXN#Bm^|b zRDf72iP*wpMB*hyb43NB3u7Ix{e>||_-SqIp+n^+9?s?n!Rkk1K6YC44Jj5d z)5RYh{lef*Y9_UwrS5sm>KGz?+;rO!#R;90%UU?c)#hWl-G=u*8C>z@NncAr)X?5c z&l8oWwag#%>ZRP=H`nc8Sx1WykUxZYCtLrT^74H6n!Z6Q>@Ggz^aYfRB%Pw^&0Jb2 zV^zm)7gjld-C}BLt|Ag30gi=(qB$#GbvCYtW?-SP@=<)<`SX!HGqL&T)wsQv_QR~1 zKM*w~>>(??9>@or(>s&~b7Y;`px|TJc($})>14?)-SK4LX{&zGR7}7$Pk%bD zax%sWb21P3Y)|ME6z!c68FGRRlFWrHu2zc|B?s?K(Lp7yQk_=D%PaUzGY1I1ZU&Zd z+H}Rv(vaRiFuBEGP}T@JnAH+Pt8Z1@Q8OT{0_|#IIbE9jwWBq>L4_7V$Lq&mJInCo znVqz;$D8{tx5q^Edv~8mpU%VOG+yHv)2T;S5a}0jYdmh5{w_scBP9eko-WPLp8Ahm ze9-(LAUx(A_yF(I0R|Di3SWa-q%MucijH4m6_n(K@f!N(WM6oeMAy?%M*g5$96aBZf70pa>*2g8xZB^#i^eBdK60WKvi#%y3@Su-L;v62;YiLBr zF4thdZNqd&Zd#fbe5HW@FvqH%7PeI7RFN0UaTn1b>W^AZ;gvFzrRWjrB_I zQfYXr-M_nZ@jGkRMKAb^9ml;m&skL|Vj>r?l~rPn@3;5nY`u0H){{HszV<})LLpK9 zP=HN6xK1i-Jh&=hmrj_U8Y1VG5_XbUAqa7*YWaM0tHM~}at(#W-dnS##YtgaoyMmJ zie`uV`CQ)e96$TVK7Rh8Zkb)o1o1X-~lgdxh_YYY<~`^%KYEwx&?>*{QplZTZ3rccT@B zM0C2Zn!;VYm8|c=`xs=rOwqAonuFRvW(J1zOzBNc2CG5XQ)PK6bjC)FKuWPLm`zUm zQdRQ2mgGHmwB#A-W7%rhhx=PDqCX}Mz~zo$_M(_H_{XyW^0S$~(y}Vbv6mq$GZ$uV z>f(pivTL$}MNZI0Xd{mNl~Vcrv4}8j^>9d89 zs0P;%*RITiS#7(xs?a1;>5CB-O4w7DX2f<+NbS(X; z>LV|;G8$8S1{Q6os%U6(D59sE9jdD(3XTx0XIfKqBtZ_FRZ7;ni2jW*7;ur#5P9^g z>|#LU(?+{|+Gyb@onS^MB_jlbEs0$a^v|Fc=9Si+TT;%NQeuE$; zI@t+=U;Cq1IZo(f&lCShO4Uln#s$lhk!g`S{H$YJa&G7{GXjLemoz^Plmv_gVy!4U zs*4CqEx(?c4j|N99!}h7QY&3@8ypUI%k*TQUawjsSo@f1diIwRLR{!(G#KGpk?FZ9 ztD`bp$P#-qK8Cyc+}KpH<6;G0npd@Ys8t%3kr!#Z+fxL8mCFjP!LZJFdzI zTPks`55vPIl+t&QhqYKg#hR@|K-)P7Sokh@k@ie~$b{rEF_cNWv(<7~{1-evz!yjp z@l|O6sEE7MCPaBYR^QVSQKCPxTZDDX-Mx0o``irT)bhP|b1O8;-0S?KDd&DnRi(^! ztuc9Y8dCJEQWz`U(x~}ql=n(E*a4*&PuKCZw5GE3d}8MvShDYPE~!%pi#VsDQXF>J zzxDHb{*e;A?~`DA{Cr;E@mIoupX9Qy5<-}~HZ)B!2+&xby+`IzTe77O|4JCOF);Ni z=z?`BVjd-TS_!)^{pj~*-7_nF@5dTWTh^ZY#^Bvb^@D||m`@;SY<$LHX#LqxR;WzL z!J=+I8;hZ(-e9=2CCcq?a)((M&gi;Yi2@zgEpepCX=>QfBQqU?kNG0b^T;^Uo&@zF zo=P}Bn?*B_Rl(ft=?h`o2s2xPxsTsMC1<*8%M6yU*EQ!#SyRzG{1kSrJ#!)KS+j&a zkKFueid7{@r*~Jez_dth3?=PKxFMg8rW;kgb;JO@=x`r=#aX`cMDc*5iv@C*LCu90jFt0V5oG#LFp2DB~*(|8&Vz{ zx#r~eyCdjB5&WY$^%Fv?1FN@Jygzu5z0$=SI`f+6*=M<8L<@pDy);NWKc2*0e0My_J0om z-e#sMxX>4cGT2TH}OY$aXkv!&S1=pUsPFP9} z=9tj{nzziTA_m+!bLBm!dj-B8%JrK#wyqPc84{CxC7 zY{iRi?%uZe`y@x>ZE$lR#+>5`NNWxym0*5HTP?wDLD;Vg4@q-`-f{0t$p1~=(DDV| z&3ktR>6wMkfDFa}Wuk;lOE@2szEQadX8eT;s1sjEuz~YW(GTJ@`1bLZWwRPOdtT3S z%T001q`t`?gerpzq)7uM6e>$)+02`JGJ@(^^Hj)VDVE|90{wtk)B#olAV9{@+$o&% z#eSilEPx4)or&$qGllFI>ASV;zY2nolo-mupn%VS`1W^_q-t}ES46Nd`~(x;uKi@2 zQhUz^%li5AUV1_$F1H!uvqMFCIW!wwM}G-+oD$v>*W=I)OJ+hebn)K%agCnyz5y#| z#&`_}_Cy}luI9&Ple4oX=236G7Qe376mzj_l#Gw;ip+p4z_)A1k`nJt;}i~IdX`(X zc9Xlulc0q=pShh(4tZnOb5t;0$kesK>U^gGxJJ9aX{lymsx`UlN5W}k5ud>gsIb*X z@jANrv(4K-pS0u3f#|c;BYK+u~HbunvX~S~BnLcSuc?{iFo9_fNLRsK$OpldE z_Y9uhG|~i_6Jq3SBbnpaG)sdjYZ|&dj!YL3>GvG(^=`R$pNHnhj7d0I!ix2-+sNQb zsg6nCYhvowU2!affyfTZ!S>TRz9 z>AUvT^!pJ62wyp2r&=)Q;BE1I*K`sZ({(2m=4k zM$Jrv`tqgY=X~Ur_r`>6H9B#}WeFQ-{(J+Pt|Zm`htURR{xSXh;C%n!hrWpLG@#;E z;%6ctSyoWr5uC$5OVb66C5m@deZf}^DIV}5X-@-x&Z_$@^|Z$qB5IN$(BJ%n8MQ zs1IP83MxagX09PSClCQG1@4{wazxvlz5xCRb|ChDLncd^pw&?5rj(TmMqb2HWt>4e zNC0!^h6@^Ybqm7rbgIxx9n>@4MdT_Be7OCDQ2tnGaJ}-+EmXrSkU_))V#TuC*{Z@d z{tM6>FbPCvqvs>knV$GaHs)`^1p#xqmfL-)BQyf$Sz^#nwzE4oGsSEjx|Fc9HKp-m z)oVr4@_cKGJF*)|YgueJ@y~Jhm$1SZ*rRan;6CRIbaJ^IrF#P?mia``&&5tST-xtt z{Rp+7IpBkBbQ6-m=3Z4(U2N|hei;h+n9^#>p$Lc*%G5aG2H|`*r>Ndcf05ySS_v3@ zC*m~k{Dp7-gJX=NeR2=UpWK5xa1TE%aH_ALF9!Yn+{Cx1#Zc$S$0Sib4a!i-4hv_` z^Q@k$i}p_F!gw^c!(=hpK~@Y=rau20;W?X4N6pBr;%BriRTHsXsw_a2H6={n8C8nYG zhDJvej5Z86M@4vnsZtG{;p+ns3M1L32i6%;<%E&$g!+zu)))kC+X%3G<3=;laY&z5 z8IP(jDNZIp;+99ia{Co(?+u6~FWx4HW-L>D zT-vg@SK9QV`1>|}iQOiImG$03K_op>QHh$X1N;DWvMp?;zXvcMxG$tkgAOjJ95Ke#X9-0RSL zsc&|6KM9^QB|I}#5JO3C$0HK-r)kcKd!O`Q7`Ve|kLO2zsospA2n29RuOj_b&JSy^ zujt)JnvMa^_@%9F$cU!u!s%? z{-U|~{z-GM4#AR&Cirx5Uv_AfrZGpB2A{=JJW>MLDw@2DLChe|?Ja6D=GPA;r! zo=*fIk90U7=6oC9KEdhdK$ATR_B_Vmx?zo6*&gp}b38t@jiV60``5x6y^Vj&%hUdH z9Ny1zgdAMe;NQm!FjAMp) zTUY^YR#tZ37n#8IT5(c!m99ly+%BXfwnNz$HQAe=x*jleyY|-(1ie+gVnjzJA)+TB zVpjW}REXf~=m`5xvv3x5%8zhUTTMS2(q1#0b85Z@0|}=zps0_nP4L6pwCq@xCvIdt zaLA$LERBCqCi%Zrd#%sQ0M$#qm821zA8K^*1$Sp%11fvw8ihM_>F8ttDL@h-cU}BO zbdLh6OKc|RqS~Cu*UVV|CuYp&GXw?(h`kGZw;eVek7K5XoTY*ah9R9Q6FWW=W9jyg zzTCGQuDyGzv|qL=F-k`0=qNLW*D(^E0W8{ZYp-iO zPNn)pE@|4Hx&Nv}d}R&6^x$XO!>OS`ecuWx+gQ5ST~f1HmkS zg)m9W-qc_LTrNE_T@~BDW2iBo-!?ME(#J2$|_2Vp4d0+~pq@7oy zuR#jO5)FdeGhIN!|43Dx_7G^OA3qp#O!jSP0duaGXXZ_eOt4?5KM3}W_@O(~DCzK< zxk*Ja!VSck9Mh_Mq^b2G)=9Yci{+con94+!IUaNK{nX@PHR7F;6yNQ~Y~kh2q8AG* zBTf8`WD+7y=6BEK6d>XWdP8E%J%_dUfjJlAO#aF>P-Yi;89L`c!yR z(LbWyex=A6q{161sdEK1QS0dF*!mQZ@c@*B-n!CiNk2{Mga(3v%MOb?pO1;|4L0Nb z$)vIUZ~L8UxoslDIxpbl^1(*JvL{?QqK+JMz1`iUDqh~w_>SaW$)BaZQIw}AUuv*~){CZ~%Q zj*Q-JLE3}u!bYUT7)xYO){O(sE(TV)T{k#dH28#hO(DxKjGU^wQIVcXVwTD=NH@G_ zMuYHns8bzK}dP-~b^| ztLpNJug`Jzx|K9bG92<7jkgqM9SG{fYEGzkBRNBf%DgW%A-k^f9QXE0PsyuadO!N6 z8_BGUfE3S1ZIi20zk9(Yi@KiGLyN(9t^O(T3H=nAx;{mw70|O#cJdFQ?4Z;xU%O#v z*`r+WH-fRCjNLR4seeZBR3@S~0Qr<-yyblO)P{^j$@ zk0RDrdF1k1*+MORSgeKrX+EP{zLL338$Fc zV{4ra*$K@-G0UGCzE%GJyQEP}jQIXK{31}Gf7iW#*S&w&y?@ue1EBC-_x``u5c6I4 z{{Ou0-OFqX<%b^*6koY;_U0dTqR&5kZjSl?tOow8xBW-pVKbU7_w`_B1OMgb7=T^= z+g)>@Ppgs-H0cD%h5x(D_eCM!0!ZaIsRByq&lpMrw5j-iYYU||fP(SJ|9*1}7aK|b zcf00*Daz-)HH<>3P?yoj|H^ODo}4=l#800u(NM7Nh=; zF%P=`_OOfbJ%L#x4&_`U0|^JIJ&=>Eg#lwPKPzf{@MlFv({8pfp^e?i0=nh@HnN~e zb1fpabQj}U>P7sFqH^xcemvW~{tZUi^Wc@TzzAzJ#F+Q?}ob%Y|GhaGjz|PtF z{zR7E=DU25`U+2Dj8{Nv=`T1DdPYpwCwaTSsxg{_zg?=TGZ}RJ_`cKT z7T;48ve((zh#B2E{%lM_8g~aZsW>xiyl(u3s`X?~!-xkmK=vGm|1nG>o+DgkJ? zb!s7f?IA-z;W%l~BCCm>V}OKA+Wy|!tHmbBv$lQCkp4EqA<6jGMC0tf*5u`@?O|%L z^>W7)dIt4z-9H(}R~*V=q92J+y!jNutTxq;G1SK!SF3z7Q{PVo;?rDz@hQOxJ`jtg zyapB+vQF$^bnpAe-0*v4(_6D^`xZ;zO)cMlp3=CqSIt%v#_T^SJ0A^ST+da+d~8%N z_Ib3wW2XPYV9}@SB+%zqb~6MD08%!l{2#Ls>VYxVANo@N|H}{czcENnEHuZ$rvH9P`M5_|!T$PZK#_228brfgYez2SfM8AGhAp{cC{D)*=lu7#_W5VtoF z3hd`m@d_n|#cOw2>-=-QqSnteau6p!+a9R7fJqOPQlDoX{B06Vpgpi;`=2Nth3~JNjarQM~V1 zi{~`e1aseKUa<>qh-M^;s3#2tND%;)zv;JqpT5k30=qlyJiE>cX2Se!FwdEs_kFvf zSe1dq2w9s%XQqEn9VC-!vKR#OiMONny&DXrA(Sor9nYD9{sr~ZlH-E1Y3Z`0+y=s_ zAsu&Skl{t3w;M@ojfh|}XkPT46MVfu6L!51UIlaS%E#{|Svs_bD|a9G%YECr^X(xp zu=4FuG2*1v=gew}Z3XgPfAW(jx$30OQX64InQM)DjTf*MC1jQ&qOpe#wEv2DX0)nP zjz{^#!Atx3Bh(a*;_)m8o3M66aadi^+;Y9|V#Oji!=Wzjrzw{C=>$5`#(MPQ5Vy^E z?lVpie@XaysGc=W|58u*hu1r{0h3-}{E{>jaq(P1yH z9{-;g_e{}QsuiU{P$DhUOfvi9Az5fwF?GB$Ohkl5ZH#*dI=HP%e_aueV;?FcPihMk z-1C%hm>__`7Fxe?E!N|NQ8AY)$|6*{pP-2jjOCWKIa1>z?oLa&9qU9GG1by9TqWal zvw^mSPwoTmdJqWVRvBL^!bjsE|!MMRO||s0jr;9otCw( zDQmq}r%79G=q`T~Yl%|5a0lU%-CUSO)~u~K5^E0BuZ%N~{MHMMd|zD8V){Fmb1Iq@ zo%-2{hM$U227PLxm1vA4|KUpwv8&XU37>~R6{ZN<_~nX@uQGU41Q11oHF1d1-_~Z` zdh_~5M|2)NBs}+WU%43gB5O6VcLFwFLK*`4I*eS^krRzPRrh&Rg(ngb8YxHDiWqAGW z`~kR*Sz=g#60LW-H(zH3DY;J~{hf=;;}VUe0x!esYNyTP7|E2nRz+`CT^^OxuQKpC z2>qEL^pyYxE2t0VlBw2x(lP`l?gXwiS^CeeHSh#*6LTe(o-YOK+0;ZGt1mNcSe@yV z;W8%e5@n9BN_Fz{uh{A`eMC{b4vDZUP-tk_Fc)p!OeGEKZ^qX*u$;qr0i{+l(iREd z%kJTc)k#p0+MzmJia3_0boTC97R( z^Mw;1-Yuf?CtgerpXWr{ZJ1;ba!p}fOiOhouIK94Q8L%))QGAIASwtA)zog3u1nZB ztxRHu#VL82JO|$CrG6&EN7T-3!fY36ZS80lQB8TARzjXeRA#BKyA}gwl})<5VK|C4 zo!j^NHt424KP<{xO=qi`a`w+~$rSIgR2>YEU8#5mIVKiv>Yu7H+-0-lQQ#4g?e7*X zeafE@seWmB)7uvN4-+~vv3nNOsS${Jk(J9AFOC?LOZ_-C{oOb>wXTb6YKUo$k*NjR7Awm>ggj~T!&~}eTRgqO9 z>rC-_k8{1bgEBGlELAkyX@Ulu`fabQwGn-BRsCbx$BIq(g<;Hy13^W;gY{luF* zXzA6rC|YG_XeJ^dnQuFr-P&Osw6;1PJ){@Cw&#v;G{=Vs<&~rdHDuf`p4&nj)$bb3 z=5&T<4U@I1MyvIPhifzHg)f{E<%wYp7IBXDYAGX6I^M<4{&F8L!d83%u^G&I4rfpu zaacc6XK2dX^x5&%RrsBAW&sST#ex#G1j9hcKvg12`BY*xdRBz>>il%{nltF-OcROK zzoc_;JuGLM8Y)$&OQ&VfM$#mWP{NXzU#zld%(L89bDh~FzxRPvqeS<}FrtX5YnHnt zZuI37bT0~CNpOL&1@c_7B z6Ydq?|Do)igCqT-uF-H}+qN?k+nU&(Xky#8lg`ApHLn5dc78Gf7h7UBN>AvrD;efR?m zJqHAmS`ZXg!SDa|ryUstHh_cnGqvsQ7Rujm%HjWWsdyr%or~kszHF;K?tdSy!LXyC zzC1n-H!#ROdfD6Mw7>Rzbt%~pgQy~N|0;e;U18aW=xbxtZ*!T7`WlIHrhlc z`veiRA#Rll^`x+~=?D~p%{+YRz#B^*#1X!AP;juIynY};=>%_xtLIld6CEJW+tNYV z>GvLvIA5I2fN}Koe1t$nP0mm3BEk%pzF3eA9@lQN2!EJCyH%#8X5#sT1TU`A-?gcG zpY$WilH@KD%XesLIv1Pm+I+dPp#lT%xBCX-?HNkgvaK8&JqR^ZSA_beq}cW(8ysZ7 zi<9~+zRkR?v9_X~TEgbl2qrHUZh#b;1oi<|#tWq9JwY!x|AT?xuu+KP1R09Jw*%wu*M9O`RJ1b5!qbKaUrGuX=x-x#`ns zn-KTlU@T;YEazo4lj1z{#I~Q_cTwf0r?;uX8ap#TrC;hSys181Ryf~t|38-)xbSO| zpr7`mSKvqS_}oPQ-UlT}z)Rz$z=fZP7IIIt$q@fG5KaT0Cfb4SUhcZr&t zmu@RX<8che6+?y7F2sKOewH5M*g!DntkBswnQ-`{(@5yWrSi_eJ>8Y$GaZzOD8@|~ zP5$jWo%;J=3YL-mgKl)~bAGVafUP^L=YFvvOE){iFGi8`#`Co&(y!_9)U=f^5fP{L zceAv_1g{#dzalaV9?COiwOz<|-<*#az$SiZDyud%c1#OBjgHbrr9W~TKYHwk(!{Cm zs48#z_C7MhBjFXa<_28b*w{RNF-^@iY{&g+`5;6uJ+?rbIn>1`>l}G#LMWHX*q0UC8TL)t#kdT6A>P?U{WG06@R<7v#CKG$LL-%w1?msz$^kBQGT)ijdGeQu~J`SZ}idE^mqrD;V zCKCJR*R@gYLQ6|qL++jAlF8(-8QkV6i>(d0PZfm*dUN=JkW%jc1QkQfMS+IodV@u> zk3C;$ZR@0<=TlO4&Hq%0g8gh2<|BYstf8Ru3Z+&liIMb@e)2|3{oxnOQOA04^0vTp z2GR zn|YhaH_u*xa23HwOg*rT$YU@JnCms&wq-TP7 zS~n$g3V=f)67~hS*B;TAMUQ)iywp57#=hPQN* z@rByp{Wnon!7u|8nxVqRQ4iVQSx?X#8hAm-s_TNn6H_@Ns}_!k$1!qB+FsL;p(ZEY{x_%6+DZIG@_SL)732H(A@U{!A7YZo~9 z+IZ%x^?(njh2dO|?w&og6;17j*v|3BO?T7sp0XGcn-XvnDUe)!_B^UcU|MEqfK+`Tcg$hZ% zaW+pRwTca}&)*qBH>ELy_&ZiK={H(lh?{-LkPp5R!2(ar2535}_ts&g=M-DYP^%ZE z6rIKBLiPCW!QLg4gbwfUl(hXSTleYv zOlz3N;mUr_h9&`pmmpnYfT1gim+4eo*nmAXv?l=9l})A>9RzcGii(UgiLVeNPNLz*AEK2L<^!enxC%7rSI(N28r+1wDKxO)Ii-|A}q31c+* zXA9xP@V|@qKbI2u3Ax#a13F~<9U|EVQmk|0_(*ZVNwFuth0NG4qAdRlmH`AdsJI`> zHwbKhA_V_PjxMv-4Ei3=@!!=hS4U!39*Ov_jknW#jJ7!cybV;GI0O0HMjd}nKC_}8 zksa^$?e<{dzyIXVo0vrfnH2fkWYn&%Ït_k4}nRHkyR*H6q1pyzg`*2@uE)Zi7 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 {% endif %} {% endif %} + + From 72fd27646d0420890fd5ae014955e2e1e476fc51 Mon Sep 17 00:00:00 2001 From: Thomas Gilbert Date: Wed, 7 Aug 2024 13:55:13 -0400 Subject: [PATCH 44/76] remove beta tags from connections --- scripts/catalog/updateSources.js | 62 ++++++++++--------- scripts/catalog/utilities.js | 8 +-- src/_includes/content/cloud-app-note.md | 8 ++- .../catalog/ab-tasty-client-side/index.md | 1 - .../catalog/actions-1flow/index.md | 3 +- .../catalog/actions-aggregations-io/index.md | 3 +- .../catalog/actions-amazon-amc/index.md | 1 - .../catalog/actions-angler-ai/index.md | 1 - .../catalog/actions-app-fit/index.md | 1 - .../catalog/actions-attio/index.md | 1 - .../catalog/actions-cdpresolution/index.md | 6 ++ .../catalog/actions-chartmogul/index.md | 3 +- .../catalog/actions-equals/index.md | 3 +- .../actions-google-campaign-manager/index.md | 1 - .../catalog/actions-kafka/index.md | 3 +- .../catalog/actions-kameleoon/index.md | 1 - .../catalog/actions-koala-cloud/index.md | 6 ++ .../actions-liveramp-audiences/index.md | 1 - .../catalog/actions-magellan-ai/index.md | 1 - .../catalog/actions-movable-ink/index.md | 3 +- .../actions-optimizely-data-platform/index.md | 1 - .../catalog/actions-pendo-web/index.md | 1 - .../catalog/actions-pushwoosh/index.md | 1 - .../catalog/actions-revx/index.md | 1 - .../catalog/actions-rupt/index.md | 1 - .../catalog/actions-screeb-web/index.md | 1 - .../catalog/actions-stackadapt-cloud/index.md | 1 - .../catalog/actions-surveysparrow/index.md | 3 +- .../catalog/actions-taboola-actions/index.md | 1 - .../catalog/actions-toplyne-cloud/index.md | 1 - .../catalog/actions-usermaven/index.md | 1 - .../catalog/actions-usermotion/index.md | 1 - .../catalog/actions-userpilot-web/index.md | 1 - .../catalog/actions-xtremepush/index.md | 1 - .../catalog/actions-yahoo-audiences/index.md | 1 - .../catalog/adobe-target/index.md | 1 - .../destinations/catalog/all-aboard/index.md | 1 - .../destinations/catalog/appfit/index.md | 1 - .../catalog/autopilotapp/index.md | 1 - .../catalog/azure-function/index.md | 1 - .../destinations/catalog/boomtrain/index.md | 1 - .../destinations/catalog/byteplus/index.md | 1 - .../destinations/catalog/callexa/index.md | 1 - .../catalog/clevertap-actions/index.md | 1 - .../destinations/catalog/close/index.md | 1 - .../destinations/catalog/cordialio/index.md | 1 - .../destinations/catalog/datarangers/index.md | 1 - .../catalog/extole-platform/index.md | 1 - .../facebook-pixel-server-side/index.md | 1 - .../destinations/catalog/framed-io/index.md | 1 - .../catalog/freshsales-suite---crm/index.md | 1 - .../destinations/catalog/frontleaf/index.md | 1 - .../catalog/gleap-cloud-actions/index.md | 1 - .../catalog/google-ads-gtag/index.md | 1 - .../catalog/google-cloud-function/index.md | 1 - .../catalog/google-cloud-storage/index.md | 1 - .../destinations/catalog/graphjson/index.md | 1 - .../destinations/catalog/gtag/index.md | 1 - .../destinations/catalog/houseware/index.md | 3 +- .../destinations/catalog/hubble-web/index.md | 3 +- .../hubspot-cloud-mode-actions/index.md | 1 - .../catalog/hubspot-web-actions/index.md | 1 - .../destinations/catalog/ibm-ubx/index.md | 1 - .../destinations/catalog/intellimize/index.md | 1 - .../catalog/iterable-actions/index.md | 1 - .../destinations/catalog/kable/index.md | 3 +- .../destinations/catalog/kana/index.md | 3 +- .../destinations/catalog/leadboxer/index.md | 1 - .../catalog/listrak-actions/index.md | 1 - .../catalog/liveintent-audiences/index.md | 1 - .../destinations/catalog/peaka/index.md | 1 - .../destinations/catalog/plotline/index.md | 1 - .../destinations/catalog/primer/index.md | 1 - .../catalog/prosperstack/index.md | 1 - .../destinations/catalog/qualtrics/index.md | 1 - .../catalog/salesforce-actions/index.md | 1 - .../catalog/segment-connections/index.md | 1 - .../catalog/segment-profiles/index.md | 1 - .../destinations/catalog/segment/index.md | 1 - .../catalog/snapchat-conversions-api/index.md | 1 - .../catalog/startdeliver-v2/index.md | 1 - .../destinations/catalog/swrve/index.md | 1 - .../catalog/tealium-audience-stream/index.md | 1 - .../destinations/catalog/user-com/index.md | 1 - .../catalog/vwo-cloud-mode-actions/index.md | 1 - .../catalog/vwo-web-mode-actions/index.md | 1 - .../catalog/webhooks-actions/index.md | 1 - .../destinations/catalog/wishpond/index.md | 1 - .../destinations/catalog/zapier/index.md | 1 - .../catalog/cloud-apps/aircall/index.md | 1 - .../catalog/cloud-apps/airship/index.md | 1 - .../catalog/cloud-apps/alloyflow/index.md | 3 +- .../catalog/cloud-apps/beamer/index.md | 1 - .../sources/catalog/cloud-apps/blip/index.md | 1 - .../sources/catalog/cloud-apps/candu/index.md | 1 - .../cdp-resolution-enrichment/index.md | 3 +- .../catalog/cloud-apps/chatlio/index.md | 1 - .../catalog/cloud-apps/commandbar/index.md | 1 - .../catalog/cloud-apps/configcat/index.md | 1 - .../elastic-path-cx-studio/index.md | 1 - .../cloud-apps/facebook-lead-ads/index.md | 1 - .../cloud-apps/factual-engine/index.md | 1 - .../cloud-apps/foursquare-movement/index.md | 1 - .../catalog/cloud-apps/freshchat/index.md | 1 - .../sources/catalog/cloud-apps/herow/index.md | 1 - .../catalog/cloud-apps/klenty/index.md | 1 - .../catalog/cloud-apps/leanplum/index.md | 1 - .../cloud-apps/livelike-source/index.md | 1 - .../catalog/cloud-apps/onesignal/index.md | 3 +- .../catalog/cloud-apps/onetrust/index.md | 1 - .../catalog/cloud-apps/paytronix/index.md | 1 - .../catalog/cloud-apps/provesource/index.md | 1 - .../cloud-apps/pushwoosh-source/index.md | 1 - .../catalog/cloud-apps/qualtrics/index.md | 1 - .../catalog/cloud-apps/ratehighly/index.md | 1 - .../sendgrid-marketing-campaigns/index.md | 1 - .../cloud-apps/shopify-fueled/index.md | 1 - .../catalog/cloud-apps/surveysparrow/index.md | 3 +- .../sources/catalog/cloud-apps/synap/index.md | 1 - .../catalog/cloud-apps/upollo/index.md | 1 - .../catalog/cloud-apps/userguiding/index.md | 1 - .../cloud-apps/white-label-loyalty/index.md | 1 - .../sources/catalog/cloud-apps/yotpo/index.md | 1 - .../catalog/cloud-apps/youbora/index.md | 1 - 124 files changed, 67 insertions(+), 172 deletions(-) create mode 100644 src/connections/destinations/catalog/actions-cdpresolution/index.md create mode 100644 src/connections/destinations/catalog/actions-koala-cloud/index.md diff --git a/scripts/catalog/updateSources.js b/scripts/catalog/updateSources.js index 6f72f202a7..f873d19274 100644 --- a/scripts/catalog/updateSources.js +++ b/scripts/catalog/updateSources.js @@ -14,28 +14,28 @@ const PAPI_URL = "https://api.segmentapis.com"; const regionalSupport = yaml.load(fs.readFileSync(path.resolve(__dirname, `../../src/_data/regional-support.yml`))); -// This file keeps a list of known test sources that show up in the system. +// This file keeps a list of known test sources that show up in the system. // Because we don't have a status value for sources, they end up showing in our catalog. // We use this below to prevent them from being written to yaml. const testSources = yaml.load(fs.readFileSync(path.resolve(__dirname, `../../src/_data/catalog/test_sources.yml`))); const updateSources = async () => { - let sources = []; // Initialize an empty array to hold all sources - let sourcesUpdated = []; // Initialize an empty array to hold all sources that have been updated - let regionalSourcesUpdated = []; // Initialize an empty array to hold updated source regional information - let nextPageToken = "MA=="; // Set the initial page token to the first page - let categories = new Set(); // Initialize an empty set to hold all categories - let sourceCategories = []; // Initialize an empty array to hold all source categories - - + let sources = []; // Initialize an empty array to hold all sources + let sourcesUpdated = []; // Initialize an empty array to hold all sources that have been updated + let regionalSourcesUpdated = []; // Initialize an empty array to hold updated source regional information + let nextPageToken = "MA=="; // Set the initial page token to the first page + let categories = new Set(); // Initialize an empty set to hold all categories + let sourceCategories = []; // Initialize an empty array to hold all source categories + + // Get all sources from the catalog while (nextPageToken !== undefined) { const res = await getCatalog(`${PAPI_URL}/catalog/sources/`, nextPageToken); sources = sources.concat(res.data.sourcesCatalog); nextPageToken = res.data.pagination.next; } - + // Sort the sources alphabetically sources.sort((a, b) => { if (a.name.toLowerCase() < b.name.toLowerCase()) { @@ -46,7 +46,7 @@ const updateSources = async () => { } return 0; }); - + // Set the list of categories for libraries const libraryCategories = [ 'server', @@ -55,7 +55,7 @@ const updateSources = async () => { 'roku', 'website' ]; - + // Here, define some sources that are real, but that we want to hide. const hiddenSources = [ 'amp', @@ -63,12 +63,12 @@ const updateSources = async () => { 'twilio-event-streams-beta', 'ibm-watson-assistant' ]; - + // More regional stuff const regionalSourceEndpoint = regionalSupport.sources.endpoint; const regionalSourceRegion = regionalSupport.sources.region; - - + + // Loop through all sources and create a new object with the data we want sources.forEach(source => { let slug = slugify(source.name, "sources"); @@ -77,14 +77,14 @@ const updateSources = async () => { let regions = ['us']; let endpoints = ['us']; let mainCategory = source.categories[0] ? source.categories[0].toLowerCase() : ''; - + if (libraryCategories.includes(mainCategory)) { url = `connections/sources/catalog/libraries/${mainCategory}/${slug}`; } else { url = `connections/sources/catalog/cloud-apps/${slug}`; mainCategory = 'cloud-app'; } - + // Sort the settings alphabetically settings.sort((a, b) => { if (a.name.toLowerCase() < b.name.toLowerCase()) { @@ -95,19 +95,19 @@ const updateSources = async () => { } return 0; }); - + if (hiddenSources.includes(slug)) { hidden = true; } - + if (regionalSourceEndpoint.includes(slug)) { endpoints.push('eu'); } - + if (regionalSourceRegion.includes(slug)) { regions.push('eu'); } - + // If the source ID is in the list of test sources, skip it. // If it's not, add it to the list of sources to be written to yaml. if (testSources.includes(source.id)) { @@ -128,13 +128,15 @@ const updateSources = async () => { url: source.logos.default }, categories: source.categories, + status: source.status, + partnerOwned: source.partnerOwned }; sourcesUpdated.push(updatedSource); doesCatalogItemExist(updatedSource); } - + source.categories.reduce((s, e) => s.add(e), categories); - + // Sources don't yet have regional information in the Public API, so we write that info here. let updatedRegional = { id: source.id, @@ -147,7 +149,7 @@ const updateSources = async () => { }; regionalSourcesUpdated.push(updatedRegional); }); - + const sourceArray = Array.from(categories); sourceArray.forEach(category => { sourceCategories.push({ @@ -164,12 +166,12 @@ const updateSources = async () => { return 0; }); }); - + const options = { noArrayIndent: false }; const todayDate = new Date().toISOString().slice(0, 10); - + // Create source catalog YAML file let output = "# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT\n"; output += "# sources last updated " + todayDate + " \n"; @@ -177,7 +179,7 @@ const updateSources = async () => { items: sourcesUpdated }, options); fs.writeFileSync(path.resolve(__dirname, `../../src/_data/catalog/sources.yml`), output); - + // Create source-category mapping YAML file output = "# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT\n"; output += "# source categories last updated " + todayDate + " \n"; @@ -185,15 +187,15 @@ const updateSources = async () => { items: sourceCategories }, options); fs.writeFileSync(path.resolve(__dirname, `../../src/_data/catalog/source_categories.yml`), output); - + // Create regional support YAML file output = yaml.dump({ sources: regionalSourcesUpdated }, options); fs.writeFileSync(path.resolve(__dirname, `../../src/_data/catalog/regional-supported.yml`), output); - + console.log("sources done"); }; - exports.updateSources = updateSources; \ No newline at end of file + exports.updateSources = updateSources; diff --git a/scripts/catalog/utilities.js b/scripts/catalog/utilities.js index 7de088ec91..dd24bcd0ff 100644 --- a/scripts/catalog/utilities.js +++ b/scripts/catalog/utilities.js @@ -133,11 +133,7 @@ const doesCatalogItemExist = (item) => { let content = `---\ntitle: '${item.display_name} Source'\nhidden: true\n---`; if (!docsPath.includes('/sources/')) { - let betaFlag = ''; - if (item.status === 'PUBLIC_BETA') { - betaFlag = 'beta: true\n'; - } - content = `---\ntitle: '${item.display_name} Destination'\nhidden: true\nid: ${item.id}\npublished: false\n${betaFlag}---\n`; + content = `---\ntitle: '${item.display_name} Destination'\nhidden: true\nid: ${item.id}\npublished: false\n`; } fs.mkdirSync(docsPath); @@ -172,4 +168,4 @@ exports.getCatalog = getCatalog; exports.getConnectionModes = getConnectionModes; exports.isCatalogItemHidden = isCatalogItemHidden; exports.sanitize = sanitize; -exports.doesCatalogItemExist = doesCatalogItemExist; \ No newline at end of file +exports.doesCatalogItemExist = doesCatalogItemExist; diff --git a/src/_includes/content/cloud-app-note.md b/src/_includes/content/cloud-app-note.md index fa9fe6be81..b78b0d7542 100644 --- a/src/_includes/content/cloud-app-note.md +++ b/src/_includes/content/cloud-app-note.md @@ -8,12 +8,14 @@

    Source Info
    • The {{ page.title }} is an **Event Cloud** source. This means that it sends data as events, which are behaviors or occurrences tied to a user and a point in time. Data from these sources can be loaded into your Segment warehouses, and **also** sent to Segment streaming destinations. [Learn more about cloud sources.](/docs/connections/sources/#cloud-apps)

    • - {% if page.beta %}
    • This source is in Beta
    • {%endif%} + {% if currentIntegration.status == "PUBLIC_BETA" %}
    • This source is in Beta
    • {%endif%}
    + {% if currentIntegration.partnerOwned %}
    Partner Owned
    • This integration is partner owned. Please reach out to the partner's support for any issues.
    + {% endif %}
@@ -23,12 +25,14 @@
Source Info
  • The {{ page.title }} is an **Object Cloud** source. This means that it sends information (traits) about a thing that exists and persists over time, such as a person or company, and which can be updated over time. Data from this source can only be exported directly to a warehouse, but it can then be used for further analysis. [Learn more about cloud sources.](/docs/connections/sources/#cloud-apps)

  • -
  • This source is in Beta
  • + {% if currentIntegration.status == "PUBLIC_BETA" %}
  • This source is in Beta
  • {%endif%}
+ {% if currentIntegration.partnerOwned %}
Partner Owned
  • This integration is partner owned. Please reach out to the partner's support for any issues.
+ {% endif %}
diff --git a/src/connections/destinations/catalog/ab-tasty-client-side/index.md b/src/connections/destinations/catalog/ab-tasty-client-side/index.md index 9e6650338a..37cbff5727 100644 --- a/src/connections/destinations/catalog/ab-tasty-client-side/index.md +++ b/src/connections/destinations/catalog/ab-tasty-client-side/index.md @@ -2,7 +2,6 @@ rewrite: true title: AB Tasty Destination id: 6214f1347a49cda426260372 -beta: true --- # AB Tasty Destination diff --git a/src/connections/destinations/catalog/actions-1flow/index.md b/src/connections/destinations/catalog/actions-1flow/index.md index d28826117d..72fe57e8b1 100644 --- a/src/connections/destinations/catalog/actions-1flow/index.md +++ b/src/connections/destinations/catalog/actions-1flow/index.md @@ -1,7 +1,6 @@ --- title: 1Flow Web (Actions) Destination id: 656773f0bd79a3676ab2733d -beta: true --- {% include content/plan-grid.md name="actions" %} @@ -47,4 +46,4 @@ The 1Flow destination automatically ingests any user actions tracked over your T If you are seeing 404 responses in your browser's network tab, you've likely encountered one of two issues: - You set the wrong App ID on the 1Flow Actions (Web) destination settings page. -- You set the wrong Regional Data Hosting value on the 1Flow Actions (Web) destination settings page. 1Flow gates regional endpoints by plan level, so you may not have access to EU data hosting. \ No newline at end of file +- You set the wrong Regional Data Hosting value on the 1Flow Actions (Web) destination settings page. 1Flow gates regional endpoints by plan level, so you may not have access to EU data hosting. diff --git a/src/connections/destinations/catalog/actions-aggregations-io/index.md b/src/connections/destinations/catalog/actions-aggregations-io/index.md index 320b8797c4..7dc9e66094 100644 --- a/src/connections/destinations/catalog/actions-aggregations-io/index.md +++ b/src/connections/destinations/catalog/actions-aggregations-io/index.md @@ -1,7 +1,6 @@ --- title: Aggregations.io (Actions) Destination id: 659eb601f8f615dac18db564 -beta: true --- {% include content/plan-grid.md name="actions" %} @@ -18,4 +17,4 @@ This destination is maintained by Aggregations.io. For any issues with the desti 4. Select an existing Source to connect to Aggregations.io (Actions). 5. In the destination settings, enter your Aggregations.io API Key and Ingest ID. Your ingestion on the Aggregations.io dashboard should be set up using `Array of JSON Objects` and the API Key requires `Write` permission. For more information, see the [Aggregation.io docs](https://aggregations.io/docs/ingesting-data/create-an-ingest){:target="_blank"}. -{% include components/actions-fields.html %} \ No newline at end of file +{% include components/actions-fields.html %} diff --git a/src/connections/destinations/catalog/actions-amazon-amc/index.md b/src/connections/destinations/catalog/actions-amazon-amc/index.md index 9994573603..1598f78b57 100644 --- a/src/connections/destinations/catalog/actions-amazon-amc/index.md +++ b/src/connections/destinations/catalog/actions-amazon-amc/index.md @@ -1,7 +1,6 @@ --- title: Amazon Ads DSP and AMC Destination id: 66543798b2fb3cb3e9ff992c -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/actions-angler-ai/index.md b/src/connections/destinations/catalog/actions-angler-ai/index.md index 901f8c18f1..5fb98b4935 100644 --- a/src/connections/destinations/catalog/actions-angler-ai/index.md +++ b/src/connections/destinations/catalog/actions-angler-ai/index.md @@ -1,6 +1,5 @@ --- title: Angler AI (Actions) Destination -beta: true id: 668d1cb2a1dcc5ad33228d92 --- diff --git a/src/connections/destinations/catalog/actions-app-fit/index.md b/src/connections/destinations/catalog/actions-app-fit/index.md index 8ee9b0d2e5..b3680c2f8a 100644 --- a/src/connections/destinations/catalog/actions-app-fit/index.md +++ b/src/connections/destinations/catalog/actions-app-fit/index.md @@ -1,7 +1,6 @@ --- title: AppFit (Actions) Destination id: 64b67be0d0dd66094c162ca7 -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/actions-attio/index.md b/src/connections/destinations/catalog/actions-attio/index.md index 7c2e0f94d6..5f492dcc17 100644 --- a/src/connections/destinations/catalog/actions-attio/index.md +++ b/src/connections/destinations/catalog/actions-attio/index.md @@ -2,7 +2,6 @@ title: Attio (Actions) Destination hide-boilerplate: true id: 64c031541451bb784943f809 -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/actions-cdpresolution/index.md b/src/connections/destinations/catalog/actions-cdpresolution/index.md new file mode 100644 index 0000000000..871654bb64 --- /dev/null +++ b/src/connections/destinations/catalog/actions-cdpresolution/index.md @@ -0,0 +1,6 @@ +--- +title: 'Delivr.ai Resolve Destination' +hidden: true +id: 650c69e7f47d84b86c120b4c +published: false +--- diff --git a/src/connections/destinations/catalog/actions-chartmogul/index.md b/src/connections/destinations/catalog/actions-chartmogul/index.md index 4359123138..0c9c9a760f 100644 --- a/src/connections/destinations/catalog/actions-chartmogul/index.md +++ b/src/connections/destinations/catalog/actions-chartmogul/index.md @@ -1,7 +1,6 @@ --- title: ChartMogul (Actions) Destination id: 65f9888628c310646331738a -beta: true --- @@ -33,4 +32,4 @@ ChartMogul (Actions) accepts two types of event calls: - [Track](https://segment.com/docs/connections/spec/track/){:target="_blank"} — used for contact details and custom attributes - [Group](https://segment.com/docs/connections/spec/group/){:target="_blank"} — used for customer details and custom attributes -ChartMogul uses attributes from these calls to create new or update existing [custom attributes](https://help.chartmogul.com/hc/en-us/articles/206120219){:target="_blank"} for contacts or customers, or to update customers' select [standard attributes](https://help.chartmogul.com/hc/en-us/articles/5321255006364#standard-attributes){:target="_blank"}. \ No newline at end of file +ChartMogul uses attributes from these calls to create new or update existing [custom attributes](https://help.chartmogul.com/hc/en-us/articles/206120219){:target="_blank"} for contacts or customers, or to update customers' select [standard attributes](https://help.chartmogul.com/hc/en-us/articles/5321255006364#standard-attributes){:target="_blank"}. diff --git a/src/connections/destinations/catalog/actions-equals/index.md b/src/connections/destinations/catalog/actions-equals/index.md index 4416280fde..e1831dcd05 100644 --- a/src/connections/destinations/catalog/actions-equals/index.md +++ b/src/connections/destinations/catalog/actions-equals/index.md @@ -1,6 +1,5 @@ --- title: Equals Destination -beta: true id: 659eb6903c4d201ebd9e2f5c --- @@ -30,4 +29,4 @@ Note that Segment is an Enterprise Connection; you will be prompted to schedule 11. Click the Save Changes button. 12. Optionally, to configure the data to be sent to Segment, navigate to the Mappings tab and edit the 'Send' Mapping. -{% include components/actions-fields.html %} \ No newline at end of file +{% include components/actions-fields.html %} diff --git a/src/connections/destinations/catalog/actions-google-campaign-manager/index.md b/src/connections/destinations/catalog/actions-google-campaign-manager/index.md index 9e6abaecdf..3236306ef7 100644 --- a/src/connections/destinations/catalog/actions-google-campaign-manager/index.md +++ b/src/connections/destinations/catalog/actions-google-campaign-manager/index.md @@ -6,7 +6,6 @@ hide-dossier: false id: 64f2434e5066280a0e7f1ab3 hidden: true private: true -beta: true versions: - name: "Google Tag for Campaign Manager" link: '/docs/connections/destinations/catalog/actions-google-analytics-4/' diff --git a/src/connections/destinations/catalog/actions-kafka/index.md b/src/connections/destinations/catalog/actions-kafka/index.md index c114335dca..40b380f2f5 100644 --- a/src/connections/destinations/catalog/actions-kafka/index.md +++ b/src/connections/destinations/catalog/actions-kafka/index.md @@ -1,6 +1,5 @@ --- title: Kafka Destination -beta: true id: 65dde5755698cb0dab09b489 --- @@ -98,4 +97,4 @@ The **Send** Action provides multiple ways to specify which Partition an event s ### What is the "SSL - Reject Unauthorized Certificate Authority" field for? -This field specifies if Segment should reject server connections when a certificate is not signed by a trusted Certificate Authority (CA). This can be useful for testing purposes or when using a self-signed certificate. \ No newline at end of file +This field specifies if Segment should reject server connections when a certificate is not signed by a trusted Certificate Authority (CA). This can be useful for testing purposes or when using a self-signed certificate. diff --git a/src/connections/destinations/catalog/actions-kameleoon/index.md b/src/connections/destinations/catalog/actions-kameleoon/index.md index 3b07f639d2..a9aa276a67 100644 --- a/src/connections/destinations/catalog/actions-kameleoon/index.md +++ b/src/connections/destinations/catalog/actions-kameleoon/index.md @@ -1,6 +1,5 @@ --- title: Kameleoon (Actions) Destination -beta: true id: 652ea51a327a62b351aa12c0 --- diff --git a/src/connections/destinations/catalog/actions-koala-cloud/index.md b/src/connections/destinations/catalog/actions-koala-cloud/index.md new file mode 100644 index 0000000000..a75edbd8a2 --- /dev/null +++ b/src/connections/destinations/catalog/actions-koala-cloud/index.md @@ -0,0 +1,6 @@ +--- +title: 'Koala (Cloud) Destination' +hidden: true +id: 6489c893dd5357493f365a96 +published: false +--- diff --git a/src/connections/destinations/catalog/actions-liveramp-audiences/index.md b/src/connections/destinations/catalog/actions-liveramp-audiences/index.md index 2bc37e4b8b..e24c330428 100644 --- a/src/connections/destinations/catalog/actions-liveramp-audiences/index.md +++ b/src/connections/destinations/catalog/actions-liveramp-audiences/index.md @@ -3,7 +3,6 @@ title: LiveRamp Audiences Destination hide-boilerplate: true hide-dossier: false id: 644ad6c6c4a87a3290450602 -beta: true --- [LiveRamp](https://liveramp.com/){:target="_blank"} gives companies and their partners the power to connect, control, and activate data to transform customer experiences and generate more valuable business outcomes. Segment's integration with LiveRamp lets you push user audiences created in [Twilio Engage](https://www.twilio.com/en-us/engage){:target="_blank"} into your LiveRamp account to execute various marketing use cases. diff --git a/src/connections/destinations/catalog/actions-magellan-ai/index.md b/src/connections/destinations/catalog/actions-magellan-ai/index.md index f5fcfe7219..926a2eea73 100644 --- a/src/connections/destinations/catalog/actions-magellan-ai/index.md +++ b/src/connections/destinations/catalog/actions-magellan-ai/index.md @@ -1,7 +1,6 @@ --- title: Magellan AI (Actions) Destination id: 661eca176680eee35d82c955 -beta: true hidden: true --- diff --git a/src/connections/destinations/catalog/actions-movable-ink/index.md b/src/connections/destinations/catalog/actions-movable-ink/index.md index 572052cdc7..0f15e7d7d2 100644 --- a/src/connections/destinations/catalog/actions-movable-ink/index.md +++ b/src/connections/destinations/catalog/actions-movable-ink/index.md @@ -1,7 +1,6 @@ --- title: Movable Ink (Actions) Destination id: 6537b55db9e94b2e110c9cf9 -beta: true --- [Movable Ink](https://movableink.com/){:target="_blank"} lets email marketers deliver jaw-dropping customer experiences. Movable Ink's cloud-based software activates any data to generate intelligent content at the moment of open. @@ -53,4 +52,4 @@ Your client experience manager will then provide you with a Movable Ink endpoint > info "" > For any unexpected errors, contact your Movable Ink client experience team with the full sample payload. -{% include components/actions-fields.html %} \ No newline at end of file +{% include components/actions-fields.html %} diff --git a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md index 36e52dc68e..ac819b0341 100644 --- a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md +++ b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md @@ -1,6 +1,5 @@ --- title: Optimizely Data Platform Destination -beta: true id: 6512d7f86bdccc3829fc4ac3 --- diff --git a/src/connections/destinations/catalog/actions-pendo-web/index.md b/src/connections/destinations/catalog/actions-pendo-web/index.md index 4ae5fd21e8..22b8d70baa 100644 --- a/src/connections/destinations/catalog/actions-pendo-web/index.md +++ b/src/connections/destinations/catalog/actions-pendo-web/index.md @@ -1,7 +1,6 @@ --- title: Pendo Web (Actions) Destination id: 6501a4325a8a629197cdd691 -beta: true hide-boilerplate: true hide-dossier: true --- diff --git a/src/connections/destinations/catalog/actions-pushwoosh/index.md b/src/connections/destinations/catalog/actions-pushwoosh/index.md index 8ea86c48ee..058b9589b7 100644 --- a/src/connections/destinations/catalog/actions-pushwoosh/index.md +++ b/src/connections/destinations/catalog/actions-pushwoosh/index.md @@ -1,7 +1,6 @@ --- title: Pushwoosh (Actions) Destination id: 64e72af1eabf77368b877a51 -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/actions-revx/index.md b/src/connections/destinations/catalog/actions-revx/index.md index 43a60ed476..86f1ac47a3 100644 --- a/src/connections/destinations/catalog/actions-revx/index.md +++ b/src/connections/destinations/catalog/actions-revx/index.md @@ -1,7 +1,6 @@ --- title: RevX Cloud (Actions) Destination id: 6464ef424ac5c5f47f5f3968 -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/actions-rupt/index.md b/src/connections/destinations/catalog/actions-rupt/index.md index bfcde02af8..428a98f759 100644 --- a/src/connections/destinations/catalog/actions-rupt/index.md +++ b/src/connections/destinations/catalog/actions-rupt/index.md @@ -2,7 +2,6 @@ title: Rupt (Actions) Destination hide-boilerplate: true hide-dossier: true -beta: true id: 6501a5225aa338d11164cc0f --- diff --git a/src/connections/destinations/catalog/actions-screeb-web/index.md b/src/connections/destinations/catalog/actions-screeb-web/index.md index e32e60f73c..9c2aa1eb0d 100644 --- a/src/connections/destinations/catalog/actions-screeb-web/index.md +++ b/src/connections/destinations/catalog/actions-screeb-web/index.md @@ -1,7 +1,6 @@ --- title: Screeb Web (Actions) Destination id: 64820d8030d09e775fbac372 -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/actions-stackadapt-cloud/index.md b/src/connections/destinations/catalog/actions-stackadapt-cloud/index.md index d0d132e18e..d95a4ecbeb 100644 --- a/src/connections/destinations/catalog/actions-stackadapt-cloud/index.md +++ b/src/connections/destinations/catalog/actions-stackadapt-cloud/index.md @@ -2,7 +2,6 @@ title: StackAdapt Destination hide-boilerplate: true hide-dossier: true -beta: true id: 61d8859be4f795335d5c677c hidden: true redirect_from: '/connections/destinations/catalog/actions-stackadapt/' diff --git a/src/connections/destinations/catalog/actions-surveysparrow/index.md b/src/connections/destinations/catalog/actions-surveysparrow/index.md index 73f2ca53c4..b1d9342f67 100644 --- a/src/connections/destinations/catalog/actions-surveysparrow/index.md +++ b/src/connections/destinations/catalog/actions-surveysparrow/index.md @@ -1,7 +1,6 @@ --- title: SurveySparrow (Actions) Destination hidden: true -beta: true --- {% include content/plan-grid.md name="actions" %} @@ -19,4 +18,4 @@ This destination is maintained by SurveySparrow. For any issues with the destina 6. Click **Save** and copy the **Access Token**. 7. Enter the **Access Token** in the SurveySparrow destination settings in Segment. -{% include components/actions-fields.html %} \ No newline at end of file +{% include components/actions-fields.html %} diff --git a/src/connections/destinations/catalog/actions-taboola-actions/index.md b/src/connections/destinations/catalog/actions-taboola-actions/index.md index 02b968b929..93ca58ea66 100644 --- a/src/connections/destinations/catalog/actions-taboola-actions/index.md +++ b/src/connections/destinations/catalog/actions-taboola-actions/index.md @@ -1,7 +1,6 @@ --- title: Taboola (Actions) Destination id: 66684ba89c0523461d8bb7f3 -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/actions-toplyne-cloud/index.md b/src/connections/destinations/catalog/actions-toplyne-cloud/index.md index 7082de33e8..231730fa79 100644 --- a/src/connections/destinations/catalog/actions-toplyne-cloud/index.md +++ b/src/connections/destinations/catalog/actions-toplyne-cloud/index.md @@ -1,6 +1,5 @@ --- title: Toplyne Cloud Mode (Actions) Destination -beta: true hide-boilerplate: true hide-dossier: true id: 6408ac6c144a7d5ac55cf414 diff --git a/src/connections/destinations/catalog/actions-usermaven/index.md b/src/connections/destinations/catalog/actions-usermaven/index.md index 9333c30ebf..4e3a43983a 100644 --- a/src/connections/destinations/catalog/actions-usermaven/index.md +++ b/src/connections/destinations/catalog/actions-usermaven/index.md @@ -1,7 +1,6 @@ --- title: Usermaven (Actions) Destination id: 643fdf094cfdbcf1bcccbc42 -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/actions-usermotion/index.md b/src/connections/destinations/catalog/actions-usermotion/index.md index 53d884712a..6afd804c20 100644 --- a/src/connections/destinations/catalog/actions-usermotion/index.md +++ b/src/connections/destinations/catalog/actions-usermotion/index.md @@ -1,7 +1,6 @@ --- title: UserMotion (Actions) Destination id: 6537b5da8f27fd20713a5ba8 -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/actions-userpilot-web/index.md b/src/connections/destinations/catalog/actions-userpilot-web/index.md index 43c6321089..3b09855e11 100644 --- a/src/connections/destinations/catalog/actions-userpilot-web/index.md +++ b/src/connections/destinations/catalog/actions-userpilot-web/index.md @@ -1,7 +1,6 @@ --- title: Userpilot Web (Actions) Destination id: 6480b4eeab29eca5415089d4 -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/actions-xtremepush/index.md b/src/connections/destinations/catalog/actions-xtremepush/index.md index 983c2e7d0d..bfa2b82c1f 100644 --- a/src/connections/destinations/catalog/actions-xtremepush/index.md +++ b/src/connections/destinations/catalog/actions-xtremepush/index.md @@ -1,6 +1,5 @@ --- title: Xtremepush (Actions) Destination -beta: true id: 661e9787658d112ba31b59a7 versions: - name: Xtremepush Destination diff --git a/src/connections/destinations/catalog/actions-yahoo-audiences/index.md b/src/connections/destinations/catalog/actions-yahoo-audiences/index.md index 6dadbf32fe..67c379b041 100644 --- a/src/connections/destinations/catalog/actions-yahoo-audiences/index.md +++ b/src/connections/destinations/catalog/actions-yahoo-audiences/index.md @@ -1,7 +1,6 @@ --- title: Yahoo Audiences Destination id: 6514281004d549fae3fd086a -beta: true --- The Yahoo Audiences integration facilitates seamless connectivity between Engage Audiences and Yahoo DSP, offering users the flexibility to configure their data delivery preferences within the Segment platform. diff --git a/src/connections/destinations/catalog/adobe-target/index.md b/src/connections/destinations/catalog/adobe-target/index.md index f444d81536..f230b18d5c 100644 --- a/src/connections/destinations/catalog/adobe-target/index.md +++ b/src/connections/destinations/catalog/adobe-target/index.md @@ -2,7 +2,6 @@ title: Adobe Target Destination strat: adobe rewrite: true -beta: true hidden: true published: false --- diff --git a/src/connections/destinations/catalog/all-aboard/index.md b/src/connections/destinations/catalog/all-aboard/index.md index 16226b7ebd..b4d7572251 100644 --- a/src/connections/destinations/catalog/all-aboard/index.md +++ b/src/connections/destinations/catalog/all-aboard/index.md @@ -1,5 +1,4 @@ --- -beta: true title: All Aboard Destination --- diff --git a/src/connections/destinations/catalog/appfit/index.md b/src/connections/destinations/catalog/appfit/index.md index f6410ada85..250c029103 100644 --- a/src/connections/destinations/catalog/appfit/index.md +++ b/src/connections/destinations/catalog/appfit/index.md @@ -3,5 +3,4 @@ title: 'AppFit Destination' hidden: true id: 64b67be0d0dd66094c162ca7 published: false -beta: true --- diff --git a/src/connections/destinations/catalog/autopilotapp/index.md b/src/connections/destinations/catalog/autopilotapp/index.md index 0fb28a7334..8ee26c73ab 100644 --- a/src/connections/destinations/catalog/autopilotapp/index.md +++ b/src/connections/destinations/catalog/autopilotapp/index.md @@ -1,7 +1,6 @@ --- title: Ortto Destination rewrite: true -beta: true id: 613ef845b8784e858199fe2d --- [Ortto](https://ortto.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} helps thousands of organizations around the world automate their communications through email notifications, such as regular email newsletters, abandoned cart emails, as well as SMS messages, and more, to help organizations market and grow their businesses faster. diff --git a/src/connections/destinations/catalog/azure-function/index.md b/src/connections/destinations/catalog/azure-function/index.md index 9628d80e7d..6e404da525 100644 --- a/src/connections/destinations/catalog/azure-function/index.md +++ b/src/connections/destinations/catalog/azure-function/index.md @@ -1,6 +1,5 @@ --- rewrite: true -beta: true title: Azure Function Destination id: 5cbf95e258453600011d6d8f --- diff --git a/src/connections/destinations/catalog/boomtrain/index.md b/src/connections/destinations/catalog/boomtrain/index.md index b57ef788bb..069adb6bda 100644 --- a/src/connections/destinations/catalog/boomtrain/index.md +++ b/src/connections/destinations/catalog/boomtrain/index.md @@ -1,6 +1,5 @@ --- title: Boomtrain Destination -beta: true --- Boomtrain is a predictive intelligence platform for marketers that uses machine learning to drive increased clicks, engagement and revenue through customer communications. [Visit Website](http://boomtrain.com){:target="_blank"}. diff --git a/src/connections/destinations/catalog/byteplus/index.md b/src/connections/destinations/catalog/byteplus/index.md index 142a3eb74f..6dfcc3f8cf 100644 --- a/src/connections/destinations/catalog/byteplus/index.md +++ b/src/connections/destinations/catalog/byteplus/index.md @@ -3,7 +3,6 @@ rewrite: true title: BytePlus redirect_from: - '/connections/destinations/catalog/datarangers/' -beta: true id: 60347eb973e8ce37bc360568 --- BytePlus provides product analytics for mobile and web applications, including event/retention/funnel/error analysis, user segmentation, user paths, behavior lookup, A/B testing, and other functions. diff --git a/src/connections/destinations/catalog/callexa/index.md b/src/connections/destinations/catalog/callexa/index.md index e75f5ed3f1..d462fced72 100644 --- a/src/connections/destinations/catalog/callexa/index.md +++ b/src/connections/destinations/catalog/callexa/index.md @@ -1,6 +1,5 @@ --- title: Callexa Destination -beta: true --- > This destination is maintained by Wigzo. diff --git a/src/connections/destinations/catalog/clevertap-actions/index.md b/src/connections/destinations/catalog/clevertap-actions/index.md index 447dd5bce5..340fd09d3c 100644 --- a/src/connections/destinations/catalog/clevertap-actions/index.md +++ b/src/connections/destinations/catalog/clevertap-actions/index.md @@ -3,5 +3,4 @@ title: 'CleverTap (Actions) Destination' hidden: true id: 61d7456b078e79929de4ee8c published: false -beta: true --- diff --git a/src/connections/destinations/catalog/close/index.md b/src/connections/destinations/catalog/close/index.md index 08e48d2959..2974c10457 100644 --- a/src/connections/destinations/catalog/close/index.md +++ b/src/connections/destinations/catalog/close/index.md @@ -1,7 +1,6 @@ --- title: 'Close Destination' id: 61f8296b7d15c30a3bbe2b76 -beta: true hide-boilerplate: true hide-dossier: true redirect_from: diff --git a/src/connections/destinations/catalog/cordialio/index.md b/src/connections/destinations/catalog/cordialio/index.md index 78ae688a10..0fbc5a5387 100644 --- a/src/connections/destinations/catalog/cordialio/index.md +++ b/src/connections/destinations/catalog/cordialio/index.md @@ -1,6 +1,5 @@ --- title: Cordial Destination -beta: true hidden: true --- diff --git a/src/connections/destinations/catalog/datarangers/index.md b/src/connections/destinations/catalog/datarangers/index.md index 0c20e15f8f..589b5fc2c5 100644 --- a/src/connections/destinations/catalog/datarangers/index.md +++ b/src/connections/destinations/catalog/datarangers/index.md @@ -1,7 +1,6 @@ --- rewrite: true title: BytePlus -beta: true --- BytePlus provides product analytics for mobile and web applications, including event/retention/funnel/error analysis, user segmentation, user paths, behavior lookup, A/B testing, and other functions. diff --git a/src/connections/destinations/catalog/extole-platform/index.md b/src/connections/destinations/catalog/extole-platform/index.md index 4670bdf38c..ae882dfb05 100644 --- a/src/connections/destinations/catalog/extole-platform/index.md +++ b/src/connections/destinations/catalog/extole-platform/index.md @@ -1,7 +1,6 @@ --- title: Extole Destination rewrite: true -beta: true redirect_from: '/connections/destinations/catalog/extole/' id: 5e79ef31929aef3bdfbc53a5 --- diff --git a/src/connections/destinations/catalog/facebook-pixel-server-side/index.md b/src/connections/destinations/catalog/facebook-pixel-server-side/index.md index 32dd3072fa..38f324d7e6 100644 --- a/src/connections/destinations/catalog/facebook-pixel-server-side/index.md +++ b/src/connections/destinations/catalog/facebook-pixel-server-side/index.md @@ -3,7 +3,6 @@ title: Facebook Conversions API destination rewrite: true maintenance: true maintenance-content: "A new version of this destination is available. See [Facebook Conversions API (Actions)](/docs/connections/destinations/catalog/actions-facebook-conversions-api/) for more information." -beta: true redirect_from: '/connections/destinations/catalog/facebook-conversions-api/' hide-dossier: true --- diff --git a/src/connections/destinations/catalog/framed-io/index.md b/src/connections/destinations/catalog/framed-io/index.md index 4ed3a5332f..e778d270a2 100644 --- a/src/connections/destinations/catalog/framed-io/index.md +++ b/src/connections/destinations/catalog/framed-io/index.md @@ -1,6 +1,5 @@ --- title: Framed.io Destination -beta: true --- ## Getting Started diff --git a/src/connections/destinations/catalog/freshsales-suite---crm/index.md b/src/connections/destinations/catalog/freshsales-suite---crm/index.md index 92c537864e..20b171c256 100644 --- a/src/connections/destinations/catalog/freshsales-suite---crm/index.md +++ b/src/connections/destinations/catalog/freshsales-suite---crm/index.md @@ -3,5 +3,4 @@ title: 'Freshsales Suite - CRM Destination' hidden: true id: 62945b73b8fbe38be7718039 published: false -beta: true --- diff --git a/src/connections/destinations/catalog/frontleaf/index.md b/src/connections/destinations/catalog/frontleaf/index.md index 1d713d52eb..e5f2541220 100644 --- a/src/connections/destinations/catalog/frontleaf/index.md +++ b/src/connections/destinations/catalog/frontleaf/index.md @@ -1,6 +1,5 @@ --- title: Frontleaf Destination -beta: true --- ### Browser Tracking diff --git a/src/connections/destinations/catalog/gleap-cloud-actions/index.md b/src/connections/destinations/catalog/gleap-cloud-actions/index.md index d7ee167475..9e2c9f7242 100644 --- a/src/connections/destinations/catalog/gleap-cloud-actions/index.md +++ b/src/connections/destinations/catalog/gleap-cloud-actions/index.md @@ -1,7 +1,6 @@ --- title: Gleap (Actions) Destination id: 656f2474a919b7e6e4900265 -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/google-ads-gtag/index.md b/src/connections/destinations/catalog/google-ads-gtag/index.md index b04a2b306c..56b0ed8dd1 100644 --- a/src/connections/destinations/catalog/google-ads-gtag/index.md +++ b/src/connections/destinations/catalog/google-ads-gtag/index.md @@ -1,6 +1,5 @@ --- title: 'Google Ads (Gtag) Destination' -beta: true redirect_from: '/connections/destinations/catalog/google-adwords-new/' strat: google name-override: true diff --git a/src/connections/destinations/catalog/google-cloud-function/index.md b/src/connections/destinations/catalog/google-cloud-function/index.md index 2e2a84870c..a9e4480ad8 100644 --- a/src/connections/destinations/catalog/google-cloud-function/index.md +++ b/src/connections/destinations/catalog/google-cloud-function/index.md @@ -1,7 +1,6 @@ --- title: Google Cloud Function Destination hide-cmodes: true -beta: true strat: google id: 5cbe24b1d07261000146ab55 --- diff --git a/src/connections/destinations/catalog/google-cloud-storage/index.md b/src/connections/destinations/catalog/google-cloud-storage/index.md index 3c3ba68231..adf5221ffb 100644 --- a/src/connections/destinations/catalog/google-cloud-storage/index.md +++ b/src/connections/destinations/catalog/google-cloud-storage/index.md @@ -3,5 +3,4 @@ title: 'Google Cloud Storage Destination' hidden: true id: 5d375a0e6947e700012f1d5b published: false -beta: true --- diff --git a/src/connections/destinations/catalog/graphjson/index.md b/src/connections/destinations/catalog/graphjson/index.md index 4458952c4e..cdde01c3df 100644 --- a/src/connections/destinations/catalog/graphjson/index.md +++ b/src/connections/destinations/catalog/graphjson/index.md @@ -1,7 +1,6 @@ --- rewrite: true title: 'GraphJSON Destination' -beta: true id: 61e8726c123c1a81273d00e4 --- [GraphJSON](https://www.graphjson.com/){:target="_blank"} provides self-serve analytics to better help you understand your business. diff --git a/src/connections/destinations/catalog/gtag/index.md b/src/connections/destinations/catalog/gtag/index.md index 200e1e106a..b14a4a89b3 100644 --- a/src/connections/destinations/catalog/gtag/index.md +++ b/src/connections/destinations/catalog/gtag/index.md @@ -1,6 +1,5 @@ --- title: 'Gtag Destination' -beta: true hidden: true strat: google --- diff --git a/src/connections/destinations/catalog/houseware/index.md b/src/connections/destinations/catalog/houseware/index.md index d3cd009340..85944ecb2a 100644 --- a/src/connections/destinations/catalog/houseware/index.md +++ b/src/connections/destinations/catalog/houseware/index.md @@ -1,7 +1,6 @@ --- title: Houseware Destination rewrite: true -beta: true id: 60a40b2d20a31975d7b14052 --- [Houseware](https://houseware.io/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} helps teams to generate actionable sales/conversion touchpoints in the user journeys to clock more revenue. @@ -60,4 +59,4 @@ Segment sends Track calls to Houseware as a `track` event. ## Support -If you have any trouble with configuring your API Key, or see issues in your event delivery logs on Segment, feel free to reach out to our [Houseware Support team](mailto:support@houseware.io). \ No newline at end of file +If you have any trouble with configuring your API Key, or see issues in your event delivery logs on Segment, feel free to reach out to our [Houseware Support team](mailto:support@houseware.io). diff --git a/src/connections/destinations/catalog/hubble-web/index.md b/src/connections/destinations/catalog/hubble-web/index.md index b6da43766c..b08aa97938 100644 --- a/src/connections/destinations/catalog/hubble-web/index.md +++ b/src/connections/destinations/catalog/hubble-web/index.md @@ -1,7 +1,6 @@ --- title: Hubble (Actions) Destination id: 651aac880f2c3b5a8736e0cc -beta: true --- {% include content/plan-grid.md name="actions" %} @@ -20,4 +19,4 @@ Hubble maintains this destination. For any issues with the destination, view [Hu 4. Find your Hubble ID in [Hubble App](https://app.hubble.team/home){:target="_blank"} by navigating to **Account Settings > Integrations > Segment**. 5. Enter your Hubble ID into the **id** field in the Segment web app. -{% include components/actions-fields.html %} \ No newline at end of file +{% include components/actions-fields.html %} diff --git a/src/connections/destinations/catalog/hubspot-cloud-mode-actions/index.md b/src/connections/destinations/catalog/hubspot-cloud-mode-actions/index.md index cbd16cdab1..0eedd178e0 100644 --- a/src/connections/destinations/catalog/hubspot-cloud-mode-actions/index.md +++ b/src/connections/destinations/catalog/hubspot-cloud-mode-actions/index.md @@ -3,5 +3,4 @@ title: 'HubSpot Cloud Mode (Actions) Destination' hidden: true id: 632b1116e0cb83902f3fd717 published: false -beta: true --- diff --git a/src/connections/destinations/catalog/hubspot-web-actions/index.md b/src/connections/destinations/catalog/hubspot-web-actions/index.md index cbdad33db2..8c33cefe64 100644 --- a/src/connections/destinations/catalog/hubspot-web-actions/index.md +++ b/src/connections/destinations/catalog/hubspot-web-actions/index.md @@ -3,5 +3,4 @@ title: 'HubSpot Web (Actions) Destination' hidden: true id: 631a1c2bfdce36a23f0a14ec published: false -beta: true --- diff --git a/src/connections/destinations/catalog/ibm-ubx/index.md b/src/connections/destinations/catalog/ibm-ubx/index.md index 04bb2ec923..f0c1608f6b 100644 --- a/src/connections/destinations/catalog/ibm-ubx/index.md +++ b/src/connections/destinations/catalog/ibm-ubx/index.md @@ -1,7 +1,6 @@ --- title: IBM Universal Behavior Exchange Destination rewrite: true -beta: true hidden: true id: 5a3ab305a1e66e00017185f9 --- diff --git a/src/connections/destinations/catalog/intellimize/index.md b/src/connections/destinations/catalog/intellimize/index.md index cf37337a46..d8b2621c1e 100644 --- a/src/connections/destinations/catalog/intellimize/index.md +++ b/src/connections/destinations/catalog/intellimize/index.md @@ -1,6 +1,5 @@ --- title: Intellimize Destination -beta: true hidden: true --- diff --git a/src/connections/destinations/catalog/iterable-actions/index.md b/src/connections/destinations/catalog/iterable-actions/index.md index d5949368f5..b0698c7923 100644 --- a/src/connections/destinations/catalog/iterable-actions/index.md +++ b/src/connections/destinations/catalog/iterable-actions/index.md @@ -3,7 +3,6 @@ title: Iterable (Actions) Destination hidden: false id: 645babd9362d97b777391325 published: false -beta: true private: false --- diff --git a/src/connections/destinations/catalog/kable/index.md b/src/connections/destinations/catalog/kable/index.md index b40fcffa53..378f2de825 100644 --- a/src/connections/destinations/catalog/kable/index.md +++ b/src/connections/destinations/catalog/kable/index.md @@ -1,7 +1,6 @@ --- title: Kable Destination id: 622786bfebadaf74178dfebe -beta: true --- [Kable](https://kable.io/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} helps API companies launch and grow their business with easy-to-use billing infrastructure and analytics tools that work at any scale. @@ -75,4 +74,4 @@ curl --request POST \ "bankAccountBalance": 399.99 } } -``` \ No newline at end of file +``` diff --git a/src/connections/destinations/catalog/kana/index.md b/src/connections/destinations/catalog/kana/index.md index 9e36eeceef..db6728bb97 100644 --- a/src/connections/destinations/catalog/kana/index.md +++ b/src/connections/destinations/catalog/kana/index.md @@ -1,7 +1,6 @@ --- title: Kana Destination id: 62d130412ffed8c0b170560f -beta: true --- [Kana](https://www.usekana.com/?utm_source=segment&utm_medium=docs){:target="_blank"} provides pricing infrastructure for internet businesses. This destination allows for a low-code integration of Kana, using Segment events to record the usage of your features in order to measure entitlement, gain insights and ensure customers are charged correctly. @@ -92,4 +91,4 @@ These rules can be created on the [Segment Integration page](https://dashboard.u > All events will be sent from your source to Kana and stored there - no matter whether these will be used to record feature usage or not. Events which could not map to features are exposed within Kana. Any rules created afterwards will retroactively apply to these events, meaning events will reprocess against these new rules in an attempt to map them to features. If there are events you do not want to send to Kana (as they will never be used to record feature usage) then it's recommended that you [filter these events from sending](/docs/guides/filtering-data/). -[See more on how to setup rules in the Kana dashboard](https://kana-1.gitbook.io/kana-docs){:target="_blank"}. \ No newline at end of file +[See more on how to setup rules in the Kana dashboard](https://kana-1.gitbook.io/kana-docs){:target="_blank"}. diff --git a/src/connections/destinations/catalog/leadboxer/index.md b/src/connections/destinations/catalog/leadboxer/index.md index b5e82000a6..62cdf16511 100644 --- a/src/connections/destinations/catalog/leadboxer/index.md +++ b/src/connections/destinations/catalog/leadboxer/index.md @@ -1,6 +1,5 @@ --- title: LeadBoxer Destination -beta: true --- ## Introduction diff --git a/src/connections/destinations/catalog/listrak-actions/index.md b/src/connections/destinations/catalog/listrak-actions/index.md index b2f0f41a74..c1003eb817 100644 --- a/src/connections/destinations/catalog/listrak-actions/index.md +++ b/src/connections/destinations/catalog/listrak-actions/index.md @@ -3,7 +3,6 @@ title: Listrak (Actions) Destination hidden: false id: 64b6a221baf168a989be641a published: false -beta: true private: false --- diff --git a/src/connections/destinations/catalog/liveintent-audiences/index.md b/src/connections/destinations/catalog/liveintent-audiences/index.md index 1f56c0768c..c082e59f20 100644 --- a/src/connections/destinations/catalog/liveintent-audiences/index.md +++ b/src/connections/destinations/catalog/liveintent-audiences/index.md @@ -1,6 +1,5 @@ --- title: LiveIntent Audiences Destination -beta: true hide-device: true hide-settings: true hide-cmodes: true diff --git a/src/connections/destinations/catalog/peaka/index.md b/src/connections/destinations/catalog/peaka/index.md index 6c2b3a0350..f8eaea9651 100644 --- a/src/connections/destinations/catalog/peaka/index.md +++ b/src/connections/destinations/catalog/peaka/index.md @@ -1,7 +1,6 @@ --- title: Peaka Destination id: 651ea97b7982672f1d66b93c -beta: true --- [Peaka](https://peaka.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} is a Zero-ETL platform that connects to any source. With Peak you can ingest high-volume event and streaming data, and replace batch with real-time access. diff --git a/src/connections/destinations/catalog/plotline/index.md b/src/connections/destinations/catalog/plotline/index.md index a97c3f86fe..5eb515e8aa 100644 --- a/src/connections/destinations/catalog/plotline/index.md +++ b/src/connections/destinations/catalog/plotline/index.md @@ -1,7 +1,6 @@ --- title: Plotline Destination id: 669f7b835aae8164929d000e -beta: true --- [Plotline](https://www.plotline.so/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} is a mobile adoption platform that helps product and marketing teams launch experiences like Stories, Videos, Animations, Streaks, Floating buttons and more inside the app - without taking engineering effort. diff --git a/src/connections/destinations/catalog/primer/index.md b/src/connections/destinations/catalog/primer/index.md index 475e92a99d..f1768bba1e 100644 --- a/src/connections/destinations/catalog/primer/index.md +++ b/src/connections/destinations/catalog/primer/index.md @@ -1,5 +1,4 @@ --- -beta: true title: Primer Destination --- diff --git a/src/connections/destinations/catalog/prosperstack/index.md b/src/connections/destinations/catalog/prosperstack/index.md index 7df9c7cbaf..c460defa54 100644 --- a/src/connections/destinations/catalog/prosperstack/index.md +++ b/src/connections/destinations/catalog/prosperstack/index.md @@ -1,7 +1,6 @@ --- title: ProsperStack Destination rewrite: true -beta: true id: 6116daebcc926a434fe41bb3 --- [ProsperStack](https://prosperstack.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} is the hosted cancellation flow for subscription businesses that automatically prevents churn. Retain customers with targeted offers and interventions designed to prevent cancellations and increase customer lifetime value. diff --git a/src/connections/destinations/catalog/qualtrics/index.md b/src/connections/destinations/catalog/qualtrics/index.md index e1b9fc0462..a4d438862d 100644 --- a/src/connections/destinations/catalog/qualtrics/index.md +++ b/src/connections/destinations/catalog/qualtrics/index.md @@ -3,5 +3,4 @@ title: 'Qualtrics Destination' hidden: true id: 62e17e6f687e4a3d32d0f875 published: false -beta: true --- diff --git a/src/connections/destinations/catalog/salesforce-actions/index.md b/src/connections/destinations/catalog/salesforce-actions/index.md index 1d129b55cc..0b945d2a45 100644 --- a/src/connections/destinations/catalog/salesforce-actions/index.md +++ b/src/connections/destinations/catalog/salesforce-actions/index.md @@ -3,5 +3,4 @@ title: 'Salesforce (Actions) Destination' hidden: true id: 61957755c4d820be968457de published: false -beta: true --- diff --git a/src/connections/destinations/catalog/segment-connections/index.md b/src/connections/destinations/catalog/segment-connections/index.md index 1bab0a93fe..8dbd1ab3cb 100644 --- a/src/connections/destinations/catalog/segment-connections/index.md +++ b/src/connections/destinations/catalog/segment-connections/index.md @@ -3,5 +3,4 @@ title: 'Segment Connections Destination' hidden: true id: 6371eee1ae5e324869aa8b1b published: false -beta: true --- diff --git a/src/connections/destinations/catalog/segment-profiles/index.md b/src/connections/destinations/catalog/segment-profiles/index.md index 2fe51a5edc..426858544a 100644 --- a/src/connections/destinations/catalog/segment-profiles/index.md +++ b/src/connections/destinations/catalog/segment-profiles/index.md @@ -3,5 +3,4 @@ title: 'Segment Profiles Destination' hidden: true id: 639c2dbb1309fdcad13951b6 published: false -beta: true --- diff --git a/src/connections/destinations/catalog/segment/index.md b/src/connections/destinations/catalog/segment/index.md index 9ed26b61d8..dfaf3644ba 100644 --- a/src/connections/destinations/catalog/segment/index.md +++ b/src/connections/destinations/catalog/segment/index.md @@ -3,5 +3,4 @@ title: 'Segment Destination' hidden: true id: 6371eee1ae5e324869aa8b1b published: false -beta: true --- diff --git a/src/connections/destinations/catalog/snapchat-conversions-api/index.md b/src/connections/destinations/catalog/snapchat-conversions-api/index.md index 82d9462bcb..2f38e1688d 100644 --- a/src/connections/destinations/catalog/snapchat-conversions-api/index.md +++ b/src/connections/destinations/catalog/snapchat-conversions-api/index.md @@ -3,5 +3,4 @@ title: 'Snapchat Conversions API Destination' hidden: true id: 6261a8b6cb4caa70e19116e8 published: false -beta: true --- diff --git a/src/connections/destinations/catalog/startdeliver-v2/index.md b/src/connections/destinations/catalog/startdeliver-v2/index.md index c2d6421348..8c6e590b76 100644 --- a/src/connections/destinations/catalog/startdeliver-v2/index.md +++ b/src/connections/destinations/catalog/startdeliver-v2/index.md @@ -1,7 +1,6 @@ --- title: Startdeliver-v2 Destination id: 65ccc6147108efc0cf5c6fe1 -beta: true --- [Startdeliver](https://startdeliver.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} connects data from a variety of sources to provide a customer view optimized to Customer Success Managers. diff --git a/src/connections/destinations/catalog/swrve/index.md b/src/connections/destinations/catalog/swrve/index.md index f2fec22107..34f791dcbf 100644 --- a/src/connections/destinations/catalog/swrve/index.md +++ b/src/connections/destinations/catalog/swrve/index.md @@ -1,5 +1,4 @@ --- -beta: true title: Swrve Destination id: 59c467ba9e26eb0001380743 --- diff --git a/src/connections/destinations/catalog/tealium-audience-stream/index.md b/src/connections/destinations/catalog/tealium-audience-stream/index.md index 03ed106af9..2590a70e5a 100644 --- a/src/connections/destinations/catalog/tealium-audience-stream/index.md +++ b/src/connections/destinations/catalog/tealium-audience-stream/index.md @@ -1,5 +1,4 @@ --- -beta: true hidden: true title: Tealium AudienceStream Destination --- diff --git a/src/connections/destinations/catalog/user-com/index.md b/src/connections/destinations/catalog/user-com/index.md index a6b9ed77eb..f5571cedd3 100644 --- a/src/connections/destinations/catalog/user-com/index.md +++ b/src/connections/destinations/catalog/user-com/index.md @@ -1,6 +1,5 @@ --- title: 'User.com Destination' -beta: true redirect_from: '/connections/destinations/catalog/userengage/' id: 59c93d8a3c0414000129bcb5 --- diff --git a/src/connections/destinations/catalog/vwo-cloud-mode-actions/index.md b/src/connections/destinations/catalog/vwo-cloud-mode-actions/index.md index 1f6d03eeae..f8a9ae7414 100644 --- a/src/connections/destinations/catalog/vwo-cloud-mode-actions/index.md +++ b/src/connections/destinations/catalog/vwo-cloud-mode-actions/index.md @@ -3,5 +3,4 @@ title: 'VWO Cloud Mode (Actions) Destination' hidden: true id: 63bedc136a8484a53739e013 published: false -beta: true --- diff --git a/src/connections/destinations/catalog/vwo-web-mode-actions/index.md b/src/connections/destinations/catalog/vwo-web-mode-actions/index.md index cf3814a527..3f82e98eb0 100644 --- a/src/connections/destinations/catalog/vwo-web-mode-actions/index.md +++ b/src/connections/destinations/catalog/vwo-web-mode-actions/index.md @@ -3,5 +3,4 @@ title: 'VWO Web Mode (Actions) Destination' hidden: true id: 637c192eba61b944e08ee158 published: false -beta: true --- diff --git a/src/connections/destinations/catalog/webhooks-actions/index.md b/src/connections/destinations/catalog/webhooks-actions/index.md index cf7589c484..c724463234 100644 --- a/src/connections/destinations/catalog/webhooks-actions/index.md +++ b/src/connections/destinations/catalog/webhooks-actions/index.md @@ -3,5 +3,4 @@ title: 'Webhooks (Actions) Destination' hidden: true id: 614a3c7d791c91c41bae7599 published: false -beta: true --- diff --git a/src/connections/destinations/catalog/wishpond/index.md b/src/connections/destinations/catalog/wishpond/index.md index 35aff96deb..4b1bc160a5 100644 --- a/src/connections/destinations/catalog/wishpond/index.md +++ b/src/connections/destinations/catalog/wishpond/index.md @@ -1,5 +1,4 @@ --- -beta: true title: Wishpond Destination id: 575f018380412f644ff139bf --- diff --git a/src/connections/destinations/catalog/zapier/index.md b/src/connections/destinations/catalog/zapier/index.md index 17da7db3bb..7d52791a0b 100644 --- a/src/connections/destinations/catalog/zapier/index.md +++ b/src/connections/destinations/catalog/zapier/index.md @@ -1,6 +1,5 @@ --- rewrite: true -beta: true title: Zapier Destination id: 57c4996480412f644ff29f78 --- diff --git a/src/connections/sources/catalog/cloud-apps/aircall/index.md b/src/connections/sources/catalog/cloud-apps/aircall/index.md index b22bc2fc5e..5e4df17c25 100644 --- a/src/connections/sources/catalog/cloud-apps/aircall/index.md +++ b/src/connections/sources/catalog/cloud-apps/aircall/index.md @@ -1,6 +1,5 @@ --- title: Aircall Source -beta: true id: p1Kv6YKjE3 --- {% include content/source-region-unsupported.md %} diff --git a/src/connections/sources/catalog/cloud-apps/airship/index.md b/src/connections/sources/catalog/cloud-apps/airship/index.md index 0ddb37c7f6..fe37b1a426 100644 --- a/src/connections/sources/catalog/cloud-apps/airship/index.md +++ b/src/connections/sources/catalog/cloud-apps/airship/index.md @@ -1,6 +1,5 @@ --- title: Airship Source -beta: true id: 85V0O2lkFs --- diff --git a/src/connections/sources/catalog/cloud-apps/alloyflow/index.md b/src/connections/sources/catalog/cloud-apps/alloyflow/index.md index 0812272255..2ef6ae9042 100644 --- a/src/connections/sources/catalog/cloud-apps/alloyflow/index.md +++ b/src/connections/sources/catalog/cloud-apps/alloyflow/index.md @@ -1,7 +1,6 @@ --- title: 'Alloy Flow Source' id: DY0B0Q2Gce -beta: true --- [Alloy](https://runalloy.com/flow/){:target="_blank"} is a specialized no-code automation platform, built with e-commerce businesses in mind. It seamlessly integrates various applications, paving the way for a streamlined shopping experience and efficient operational workflows. @@ -30,4 +29,4 @@ This source is maintained by Alloy. For any issues with the source, [Contact the Alloy's integration with Segment primarily supports the following calls: - **Track**: Captures the actions users are taking within your e-commerce platform and sends the information to Segment. -- **Identify**: Recognizes and forwards user identities, helping Segment collate data on individual users across sessions. \ No newline at end of file +- **Identify**: Recognizes and forwards user identities, helping Segment collate data on individual users across sessions. diff --git a/src/connections/sources/catalog/cloud-apps/beamer/index.md b/src/connections/sources/catalog/cloud-apps/beamer/index.md index 9d83b81c29..8e3de1b7bc 100644 --- a/src/connections/sources/catalog/cloud-apps/beamer/index.md +++ b/src/connections/sources/catalog/cloud-apps/beamer/index.md @@ -1,6 +1,5 @@ --- title: Beamer Source -beta: true id: ErcsNGMEwt --- {% include content/source-region-unsupported.md %} diff --git a/src/connections/sources/catalog/cloud-apps/blip/index.md b/src/connections/sources/catalog/cloud-apps/blip/index.md index e7f59a8b3d..942e59ca97 100644 --- a/src/connections/sources/catalog/cloud-apps/blip/index.md +++ b/src/connections/sources/catalog/cloud-apps/blip/index.md @@ -1,7 +1,6 @@ --- title: Blip Source id: FOWuS0UQmP -beta: true --- [Blip](https://www.blip.ai/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} is an advanced conversation platform powered by AI. diff --git a/src/connections/sources/catalog/cloud-apps/candu/index.md b/src/connections/sources/catalog/cloud-apps/candu/index.md index fe8a603603..2d87541104 100644 --- a/src/connections/sources/catalog/cloud-apps/candu/index.md +++ b/src/connections/sources/catalog/cloud-apps/candu/index.md @@ -1,6 +1,5 @@ --- title: Candu Source -beta: true source-type: event id: nmb56PunPc --- diff --git a/src/connections/sources/catalog/cloud-apps/cdp-resolution-enrichment/index.md b/src/connections/sources/catalog/cloud-apps/cdp-resolution-enrichment/index.md index 1daac5233f..a1277a03c9 100644 --- a/src/connections/sources/catalog/cloud-apps/cdp-resolution-enrichment/index.md +++ b/src/connections/sources/catalog/cloud-apps/cdp-resolution-enrichment/index.md @@ -1,7 +1,6 @@ --- title: Delivr.ai Enrich Source id: HoFsjsDOW2 -beta: true hidden: true --- @@ -28,4 +27,4 @@ Further documentation can be found on the [Delivr.ai documentation site](https:/ ## Events -If you've correctly set up your Delivr.ai Source and configured Delivr.ai to transmit user profile data to a Segment source, user profile data will begin to populate in the Segment Source debugger as Identify and Group calls. \ No newline at end of file +If you've correctly set up your Delivr.ai Source and configured Delivr.ai to transmit user profile data to a Segment source, user profile data will begin to populate in the Segment Source debugger as Identify and Group calls. diff --git a/src/connections/sources/catalog/cloud-apps/chatlio/index.md b/src/connections/sources/catalog/cloud-apps/chatlio/index.md index c11295c7d1..35de61da37 100644 --- a/src/connections/sources/catalog/cloud-apps/chatlio/index.md +++ b/src/connections/sources/catalog/cloud-apps/chatlio/index.md @@ -1,6 +1,5 @@ --- title: Chatlio Source -beta: true id: W3065KyMWF --- {% include content/source-region-unsupported.md %} diff --git a/src/connections/sources/catalog/cloud-apps/commandbar/index.md b/src/connections/sources/catalog/cloud-apps/commandbar/index.md index aa95e686d6..8e6fa368f9 100644 --- a/src/connections/sources/catalog/cloud-apps/commandbar/index.md +++ b/src/connections/sources/catalog/cloud-apps/commandbar/index.md @@ -1,6 +1,5 @@ --- title: CommandBar Source -beta: true id: QHndBw5kGO --- diff --git a/src/connections/sources/catalog/cloud-apps/configcat/index.md b/src/connections/sources/catalog/cloud-apps/configcat/index.md index 55b3da5cc7..f77c311ea7 100644 --- a/src/connections/sources/catalog/cloud-apps/configcat/index.md +++ b/src/connections/sources/catalog/cloud-apps/configcat/index.md @@ -1,7 +1,6 @@ --- title: ConfigCat Source id: nEjnxv4kbB -beta: true --- [ConfigCat](https://configcat.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} is a feature flag and remote configuration service that empowers developers to control and customize the functionality of their applications. With ConfigCat, you can easily toggle features on and off, alter their settings, and roll out updates to specific users or groups. Targeting is supported through attributes, percentage-based rollouts, and segmentation. ConfigCat is available for all major programming languages and frameworks. diff --git a/src/connections/sources/catalog/cloud-apps/elastic-path-cx-studio/index.md b/src/connections/sources/catalog/cloud-apps/elastic-path-cx-studio/index.md index a02762835f..5a6deed0eb 100644 --- a/src/connections/sources/catalog/cloud-apps/elastic-path-cx-studio/index.md +++ b/src/connections/sources/catalog/cloud-apps/elastic-path-cx-studio/index.md @@ -1,7 +1,6 @@ --- title: Elastic Path CX Studio Source id: NC2jsEkA8Y -beta: true --- [Elastic Path CX Studio](https://www.elasticpath.com/products/cx-studio?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} enables brands to build and deploy hosted storefronts and shoppable landing pages with dynamic personalization powered by your Segment data, all in a no-code visual editor. diff --git a/src/connections/sources/catalog/cloud-apps/facebook-lead-ads/index.md b/src/connections/sources/catalog/cloud-apps/facebook-lead-ads/index.md index d9c6e030d4..34636aab04 100644 --- a/src/connections/sources/catalog/cloud-apps/facebook-lead-ads/index.md +++ b/src/connections/sources/catalog/cloud-apps/facebook-lead-ads/index.md @@ -2,7 +2,6 @@ title: Facebook Lead Ads Source rewrite: true strat: facebook -beta: true id: ODf0vA6dcH --- {% include content/source-region-unsupported.md %} diff --git a/src/connections/sources/catalog/cloud-apps/factual-engine/index.md b/src/connections/sources/catalog/cloud-apps/factual-engine/index.md index 8fc26ad864..17ea4926da 100644 --- a/src/connections/sources/catalog/cloud-apps/factual-engine/index.md +++ b/src/connections/sources/catalog/cloud-apps/factual-engine/index.md @@ -1,6 +1,5 @@ --- title: Factual Engine Mobile SDK Source -beta: true source-type: event id: n8YgCndi75 --- diff --git a/src/connections/sources/catalog/cloud-apps/foursquare-movement/index.md b/src/connections/sources/catalog/cloud-apps/foursquare-movement/index.md index 84a104cec9..a372828a1e 100644 --- a/src/connections/sources/catalog/cloud-apps/foursquare-movement/index.md +++ b/src/connections/sources/catalog/cloud-apps/foursquare-movement/index.md @@ -1,6 +1,5 @@ --- title: 'Foursquare Movement Source' -beta: true id: Eek5OnuA7e redirect_from: - /connections/sources/catalog/cloud-apps/foursquare-pilgrim/ diff --git a/src/connections/sources/catalog/cloud-apps/freshchat/index.md b/src/connections/sources/catalog/cloud-apps/freshchat/index.md index 110096d0e4..62e7207c0d 100644 --- a/src/connections/sources/catalog/cloud-apps/freshchat/index.md +++ b/src/connections/sources/catalog/cloud-apps/freshchat/index.md @@ -1,6 +1,5 @@ --- title: Freshchat Source -beta: true id: tCkZda6aKQ --- diff --git a/src/connections/sources/catalog/cloud-apps/herow/index.md b/src/connections/sources/catalog/cloud-apps/herow/index.md index d11291c8af..ca30c91ebb 100644 --- a/src/connections/sources/catalog/cloud-apps/herow/index.md +++ b/src/connections/sources/catalog/cloud-apps/herow/index.md @@ -1,6 +1,5 @@ --- title: Herow -beta: true id: xJSb170s6B --- {% include content/source-region-unsupported.md %} diff --git a/src/connections/sources/catalog/cloud-apps/klenty/index.md b/src/connections/sources/catalog/cloud-apps/klenty/index.md index 812e3e40e2..aa64811c3a 100644 --- a/src/connections/sources/catalog/cloud-apps/klenty/index.md +++ b/src/connections/sources/catalog/cloud-apps/klenty/index.md @@ -1,6 +1,5 @@ --- title: Klenty Source -beta: true id: D6h3UEduNW --- {% include content/source-region-unsupported.md %} diff --git a/src/connections/sources/catalog/cloud-apps/leanplum/index.md b/src/connections/sources/catalog/cloud-apps/leanplum/index.md index 1807a6fb30..dc342f704a 100644 --- a/src/connections/sources/catalog/cloud-apps/leanplum/index.md +++ b/src/connections/sources/catalog/cloud-apps/leanplum/index.md @@ -1,6 +1,5 @@ --- title: Leanplum Source -beta: true source-type: event id: NRgENc89eR --- diff --git a/src/connections/sources/catalog/cloud-apps/livelike-source/index.md b/src/connections/sources/catalog/cloud-apps/livelike-source/index.md index 2662984424..670e4a246d 100644 --- a/src/connections/sources/catalog/cloud-apps/livelike-source/index.md +++ b/src/connections/sources/catalog/cloud-apps/livelike-source/index.md @@ -1,7 +1,6 @@ --- title: LiveLike Source id: EjYD7n6dOa -beta: true --- [LiveLike](https://livelike.com/){:target="_blank"} is a technology company dedicated to empowering digital experiences that enable deeper fan engagement, increased retention rates, and new monetization opportunities. diff --git a/src/connections/sources/catalog/cloud-apps/onesignal/index.md b/src/connections/sources/catalog/cloud-apps/onesignal/index.md index 86afc0ef4d..25f5edb7c0 100644 --- a/src/connections/sources/catalog/cloud-apps/onesignal/index.md +++ b/src/connections/sources/catalog/cloud-apps/onesignal/index.md @@ -1,7 +1,6 @@ --- title: OneSignal Source id: o9OyD6xsVJ -beta: true --- [OneSignal](https://onesignal.com){:target="_blank"} is designed to help you send notifications and seamlessly manage your user communication across every channel, including mobile push notifications, web push notifications, in-app messaging, bulk SMS, and email. The OneSignal platform is quick to set up and makes it easy to customize and automate your messaging strategy without doing any development work. @@ -96,4 +95,4 @@ Now that your source is set up, you can connect it with Destinations. Log in to your downstream tools and check to see that your events appear as expected. Ensure the events contain all of the properties you expect. If your events and properties don’t appear, check the Event Delivery tool, and refer to the Destination docs for each tool for troubleshooting. -If there are any issues with how the events are arriving to Segment, [contact the OneSignal Support team](mailto:support@onesignal.com). \ No newline at end of file +If there are any issues with how the events are arriving to Segment, [contact the OneSignal Support team](mailto:support@onesignal.com). diff --git a/src/connections/sources/catalog/cloud-apps/onetrust/index.md b/src/connections/sources/catalog/cloud-apps/onetrust/index.md index 14c533f4c1..25a4b9c405 100644 --- a/src/connections/sources/catalog/cloud-apps/onetrust/index.md +++ b/src/connections/sources/catalog/cloud-apps/onetrust/index.md @@ -1,7 +1,6 @@ --- title: OneTrust Source id: QhEUZnE5uF -beta: true --- OneTrust makes it easy for you to capture, centralize, govern, and sync consented first party data while keeping trust & transparency at the forefront of all consumer interactions. The OneTrust Integration provides data to Segment’s CDP and allows you to view & activate consented data in the appropriate way. diff --git a/src/connections/sources/catalog/cloud-apps/paytronix/index.md b/src/connections/sources/catalog/cloud-apps/paytronix/index.md index a844a9f3e7..88ba03d703 100644 --- a/src/connections/sources/catalog/cloud-apps/paytronix/index.md +++ b/src/connections/sources/catalog/cloud-apps/paytronix/index.md @@ -1,7 +1,6 @@ --- title: 'Paytronix Source' id: Zd5BXedXsa -beta: true --- [Paytronix](https://support-paytronix.force.com/help/s/article/000001348){:target="_blank”} is the leading provider of Digital Customer Engagement Solutions for restaurants, convenience stores, and retailers who seek to develop lasting relationships with their guests. For over 20 years, Paytronix has grown its Guest Engagement Platform to seamlessly incorporate individual components of digital customer engagement into a single, robust platform. diff --git a/src/connections/sources/catalog/cloud-apps/provesource/index.md b/src/connections/sources/catalog/cloud-apps/provesource/index.md index df0e614e70..675952f1d5 100644 --- a/src/connections/sources/catalog/cloud-apps/provesource/index.md +++ b/src/connections/sources/catalog/cloud-apps/provesource/index.md @@ -1,6 +1,5 @@ --- title: ProveSource Source -beta: true id: aC11S74HWK --- {% include content/source-region-unsupported.md %} diff --git a/src/connections/sources/catalog/cloud-apps/pushwoosh-source/index.md b/src/connections/sources/catalog/cloud-apps/pushwoosh-source/index.md index c14500dc93..a66e5126ef 100644 --- a/src/connections/sources/catalog/cloud-apps/pushwoosh-source/index.md +++ b/src/connections/sources/catalog/cloud-apps/pushwoosh-source/index.md @@ -1,7 +1,6 @@ --- title: Pushwoosh Source id: MW9K4HgBZz -beta: true --- [Pushwoosh] (https://pushwoosh.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} provides a comprehensive mobile engagement platform, offering advanced push notifications, and in-app messaging to enhance customer interactions and retention. diff --git a/src/connections/sources/catalog/cloud-apps/qualtrics/index.md b/src/connections/sources/catalog/cloud-apps/qualtrics/index.md index 92cdcccce7..69938aa5ad 100644 --- a/src/connections/sources/catalog/cloud-apps/qualtrics/index.md +++ b/src/connections/sources/catalog/cloud-apps/qualtrics/index.md @@ -1,6 +1,5 @@ --- title: 'Qualtrics Source' -beta: true --- [Qualtrics](https://qualtrics.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} is an Experience Management platform that allows companies to design and improve customer and employee experiences through listening, analysis, and action. diff --git a/src/connections/sources/catalog/cloud-apps/ratehighly/index.md b/src/connections/sources/catalog/cloud-apps/ratehighly/index.md index 6fb481e362..511445203d 100644 --- a/src/connections/sources/catalog/cloud-apps/ratehighly/index.md +++ b/src/connections/sources/catalog/cloud-apps/ratehighly/index.md @@ -1,7 +1,6 @@ --- title: RateHighly Source id: P1kUrzj9pv -beta: true hidden: true --- diff --git a/src/connections/sources/catalog/cloud-apps/sendgrid-marketing-campaigns/index.md b/src/connections/sources/catalog/cloud-apps/sendgrid-marketing-campaigns/index.md index 679e982483..6da1522b50 100644 --- a/src/connections/sources/catalog/cloud-apps/sendgrid-marketing-campaigns/index.md +++ b/src/connections/sources/catalog/cloud-apps/sendgrid-marketing-campaigns/index.md @@ -1,7 +1,6 @@ --- title: SendGrid Marketing Campaigns Source id: GCeG0vmcDW -beta: true --- [SendGrid Marketing Campaigns](http://twilio.com/docs/sendgrid/ui/integrations/segment?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} lets you automatically stream your email events directly into Segment for use inside your warehouse or other downstream destinations. diff --git a/src/connections/sources/catalog/cloud-apps/shopify-fueled/index.md b/src/connections/sources/catalog/cloud-apps/shopify-fueled/index.md index 8f64820f71..c3ffa9c9e6 100644 --- a/src/connections/sources/catalog/cloud-apps/shopify-fueled/index.md +++ b/src/connections/sources/catalog/cloud-apps/shopify-fueled/index.md @@ -1,7 +1,6 @@ --- title: Shopify - Powered by Fueled id: 57hcOLuW6Q -beta: true --- [Fueled](https://fueled.io){:target="_blank"} is a 1st-party event collector, designed specifically for eCommerce. Fueled captures the first-party and zero-party events that fire on a Shopify website, and sends them to various destinations - most notably, Segment. Fueled leverages a combination of client-side and server-side event collection technologies to provide reliable, accurate event tracking. In addition to tracking website events in the browser, Fueled tracks offline purchase events, such as point-of-sale orders and subscription rebilling events triggered by Shopify apps like ReCharge Payments, Smartrr, Bold Subscriptions, and Skio. diff --git a/src/connections/sources/catalog/cloud-apps/surveysparrow/index.md b/src/connections/sources/catalog/cloud-apps/surveysparrow/index.md index 21499f67ef..91b3fb248c 100644 --- a/src/connections/sources/catalog/cloud-apps/surveysparrow/index.md +++ b/src/connections/sources/catalog/cloud-apps/surveysparrow/index.md @@ -2,7 +2,6 @@ title: SurveySparrow Source id: di2sOHoscX hidden: true -beta: true --- [SurveySparrow](https://surveysparrow.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} is an end-to-end omnichannel experience management platform that bundles Customer Experience and Employee Experience tools such as NPS, Offline, Chat, Classic, and 360 Surveys which are mobile-first, highly engaging, and user-friendly. @@ -56,4 +55,4 @@ Now that your Source is set up, you can connect it with Destinations. Log in to your downstream tools and check to see that your events appear as expected, and that they contain all of the properties you expect. If your events and properties don't appear, check the [Event Delivery](/docs/connections/event-delivery/) tool, and refer to the Destination docs for each tool for troubleshooting. -If there are any issues with how the events are arriving to Segment, [contact the SurveySparrow support team](mailto:support@surveysparrow.com). \ No newline at end of file +If there are any issues with how the events are arriving to Segment, [contact the SurveySparrow support team](mailto:support@surveysparrow.com). diff --git a/src/connections/sources/catalog/cloud-apps/synap/index.md b/src/connections/sources/catalog/cloud-apps/synap/index.md index 7b1717e248..6e6e704964 100644 --- a/src/connections/sources/catalog/cloud-apps/synap/index.md +++ b/src/connections/sources/catalog/cloud-apps/synap/index.md @@ -1,7 +1,6 @@ --- title: Synap Source id: OyAdFUfMz9 -beta: true --- [Synap](https://synap.ac){:target="_blank”} is an online exam platform specialising in the delivery of high stakes exams, assessments and online learning. Synap is used by a wide range of companies and educational institutions to deliver high quality, robust assessments. diff --git a/src/connections/sources/catalog/cloud-apps/upollo/index.md b/src/connections/sources/catalog/cloud-apps/upollo/index.md index e8cc8f6986..b20ffd85f1 100644 --- a/src/connections/sources/catalog/cloud-apps/upollo/index.md +++ b/src/connections/sources/catalog/cloud-apps/upollo/index.md @@ -1,7 +1,6 @@ --- title: Upollo Source id: 9TYqEh3nMe -beta: true --- [Upollo](https://upollo.ai?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} gives unique and actionable insights that lead to conversion, retention, and expansion. diff --git a/src/connections/sources/catalog/cloud-apps/userguiding/index.md b/src/connections/sources/catalog/cloud-apps/userguiding/index.md index 1a08dfd75e..5c4854dc27 100644 --- a/src/connections/sources/catalog/cloud-apps/userguiding/index.md +++ b/src/connections/sources/catalog/cloud-apps/userguiding/index.md @@ -1,7 +1,6 @@ --- title: UserGuiding Source id: VShGHAfvlr -beta: true --- [UserGuiding](https://userguiding.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} is a product adoption platform that helps product teams automate in-app experiences that turn new users into champions. diff --git a/src/connections/sources/catalog/cloud-apps/white-label-loyalty/index.md b/src/connections/sources/catalog/cloud-apps/white-label-loyalty/index.md index 92fb6c9d44..d7513f66e9 100644 --- a/src/connections/sources/catalog/cloud-apps/white-label-loyalty/index.md +++ b/src/connections/sources/catalog/cloud-apps/white-label-loyalty/index.md @@ -1,7 +1,6 @@ --- title: White Label Loyalty Source id: xeZMgSrtAQ -beta: true --- [White Label Loyalty](https://whitelabel-loyalty.com/){:target="_blank”} is an event-powered loyalty solution to drive customer retention. diff --git a/src/connections/sources/catalog/cloud-apps/yotpo/index.md b/src/connections/sources/catalog/cloud-apps/yotpo/index.md index 946a19026b..12bede0f06 100644 --- a/src/connections/sources/catalog/cloud-apps/yotpo/index.md +++ b/src/connections/sources/catalog/cloud-apps/yotpo/index.md @@ -1,6 +1,5 @@ --- title: Yotpo Source -beta: true id: q4JbVJwmrg --- diff --git a/src/connections/sources/catalog/cloud-apps/youbora/index.md b/src/connections/sources/catalog/cloud-apps/youbora/index.md index 6a61359b4c..3619abecd2 100644 --- a/src/connections/sources/catalog/cloud-apps/youbora/index.md +++ b/src/connections/sources/catalog/cloud-apps/youbora/index.md @@ -1,6 +1,5 @@ --- title: Youbora Source -beta: true hidden: true id: 117eYCe9jH --- From 6a0bf71cc1843edbfa3e08e1d36c65228f71726a Mon Sep 17 00:00:00 2001 From: Thomas Gilbert Date: Wed, 7 Aug 2024 13:57:10 -0400 Subject: [PATCH 45/76] remove beta tags part two --- .../destinations/catalog/1flow-mobile-plugin/index.md | 1 - .../destinations/catalog/action-rokt-audiences/index.md | 3 +-- src/connections/destinations/catalog/actions-ambee/index.md | 1 - src/connections/destinations/catalog/actions-emarsys/index.md | 1 - src/connections/destinations/catalog/actions-gameball/index.md | 1 - .../destinations/catalog/actions-hyperengage/index.md | 3 +-- src/connections/destinations/catalog/actions-iterate/index.md | 1 - src/connections/destinations/catalog/actions-jimo/index.md | 1 - src/connections/destinations/catalog/actions-klaviyo/index.md | 3 +-- .../destinations/catalog/actions-moloco-rmp/index.md | 1 - .../actions-optimizely-advanced-audience-targeting/index.md | 1 - .../destinations/catalog/actions-schematic/index.md | 3 +-- .../destinations/catalog/actions-survicate/index.md | 1 - .../destinations/catalog/actions-the-trade-desk-crm/index.md | 1 - .../destinations/catalog/actions-userpilot-cloud/index.md | 1 - .../destinations/catalog/adobe-target-cloud-mode/index.md | 1 - src/connections/destinations/catalog/akita/index.md | 1 - src/connections/destinations/catalog/appcues-mobile/index.md | 1 - src/connections/destinations/catalog/batch/index.md | 1 - src/connections/destinations/catalog/beamer/index.md | 1 - src/connections/destinations/catalog/convertly/index.md | 1 - src/connections/destinations/catalog/cubitic/index.md | 1 - src/connections/destinations/catalog/delivrai-resolve/index.md | 1 - .../catalog/display-and-video-360-actions/index.md | 1 - src/connections/destinations/catalog/events-win/index.md | 1 - .../destinations/catalog/facebook-conversions-api/index.md | 1 - src/connections/destinations/catalog/infinario/index.md | 1 - src/connections/destinations/catalog/insidevault/index.md | 1 - src/connections/destinations/catalog/lumen/index.md | 1 - src/connections/destinations/catalog/moengage-actions/index.md | 1 - .../destinations/catalog/optimizely-full-stack/index.md | 1 - src/connections/destinations/catalog/orb/index.md | 1 - .../destinations/catalog/revx-cloud-actions/index.md | 1 - src/connections/destinations/catalog/rokt/index.md | 1 - src/connections/destinations/catalog/saasquatch-v2/index.md | 1 - src/connections/destinations/catalog/salesforce-dmp/index.md | 1 - src/connections/destinations/catalog/selligent/index.md | 1 - .../destinations/catalog/sendgrid-marketing-campaigns/index.md | 1 - src/connections/destinations/catalog/tractionboard/index.md | 1 - src/connections/destinations/catalog/upollo/index.md | 1 - src/connections/destinations/catalog/user_guiding/index.md | 1 - 41 files changed, 4 insertions(+), 45 deletions(-) diff --git a/src/connections/destinations/catalog/1flow-mobile-plugin/index.md b/src/connections/destinations/catalog/1flow-mobile-plugin/index.md index 3d5f58188a..d0334aaf71 100644 --- a/src/connections/destinations/catalog/1flow-mobile-plugin/index.md +++ b/src/connections/destinations/catalog/1flow-mobile-plugin/index.md @@ -1,7 +1,6 @@ --- title: 1Flow Mobile Plugin Destination id: 64dd07c1fed86b6866cd93f5 -beta: true --- [1Flow](https://1flow.ai/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} is a leading in-app user survey and messaging platform for Mobile app and SaaS businesses. diff --git a/src/connections/destinations/catalog/action-rokt-audiences/index.md b/src/connections/destinations/catalog/action-rokt-audiences/index.md index 90ca64b9b6..9c67c1126e 100644 --- a/src/connections/destinations/catalog/action-rokt-audiences/index.md +++ b/src/connections/destinations/catalog/action-rokt-audiences/index.md @@ -5,7 +5,6 @@ hide-boilerplate: true hide-dossier: false private: true hidden: true -beta: true id: 643697130067c2f408ff28ca redirect_from: - "/connections/destinations/catalog/actions-rokt-audiences" @@ -69,4 +68,4 @@ Your Rokt Audiences (Actions) destination is now ready to receive audiences, and > warning "" > You can only connect **one** Engage audience to a single instance of the Rokt Audience (Actions) destination. If you have multiple audiences, repeat the above process to create a new Rokt Audience (Actions) destination and connect the audience to a new destination each time. -{% include components/actions-fields.html %} \ No newline at end of file +{% include components/actions-fields.html %} diff --git a/src/connections/destinations/catalog/actions-ambee/index.md b/src/connections/destinations/catalog/actions-ambee/index.md index 2a16d7d4bc..629487f607 100644 --- a/src/connections/destinations/catalog/actions-ambee/index.md +++ b/src/connections/destinations/catalog/actions-ambee/index.md @@ -1,7 +1,6 @@ --- title: "Ambee (Actions) Destination" hidden: true -beta: true id: 647f2f7ce3b561ab931c2b77 --- diff --git a/src/connections/destinations/catalog/actions-emarsys/index.md b/src/connections/destinations/catalog/actions-emarsys/index.md index 043f4a351e..15c37862b8 100644 --- a/src/connections/destinations/catalog/actions-emarsys/index.md +++ b/src/connections/destinations/catalog/actions-emarsys/index.md @@ -2,7 +2,6 @@ title: Emarsys (Actions) Destination hide-boilerplate: true hide-dossier: false -beta: true id: 63f65c1c42e3bded41f0499c versions: - name: Emarsys (Classic) diff --git a/src/connections/destinations/catalog/actions-gameball/index.md b/src/connections/destinations/catalog/actions-gameball/index.md index 2d0bdbcfb7..055424652e 100644 --- a/src/connections/destinations/catalog/actions-gameball/index.md +++ b/src/connections/destinations/catalog/actions-gameball/index.md @@ -1,7 +1,6 @@ --- title: Gameball (Actions) Destination id: 64d3487dcc68fe039fb6237f -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/actions-hyperengage/index.md b/src/connections/destinations/catalog/actions-hyperengage/index.md index 6f48d9d027..f2069517ce 100644 --- a/src/connections/destinations/catalog/actions-hyperengage/index.md +++ b/src/connections/destinations/catalog/actions-hyperengage/index.md @@ -2,7 +2,6 @@ title: Hyperengage (Actions) Destination hide-boilerplate: true hide-dossier: true -beta: true private: true id: 651c1db19de92d8e595ff55d --- @@ -31,4 +30,4 @@ Hyperengage (Actions) offers several advantages: 7. Open the Segment app, navigate to your Hyperengage (Actions) destination, and paste the API Key and Workspace Identifier into the destination's settings page. -{% include components/actions-fields.html %} \ No newline at end of file +{% include components/actions-fields.html %} diff --git a/src/connections/destinations/catalog/actions-iterate/index.md b/src/connections/destinations/catalog/actions-iterate/index.md index 65b6f409b3..e130a0c3c8 100644 --- a/src/connections/destinations/catalog/actions-iterate/index.md +++ b/src/connections/destinations/catalog/actions-iterate/index.md @@ -2,7 +2,6 @@ title: Iterate (Actions) Destination hide-boilerplate: true hide-dossier: true -beta: true id: 62fec615a42fa3dbfd208ce7 --- diff --git a/src/connections/destinations/catalog/actions-jimo/index.md b/src/connections/destinations/catalog/actions-jimo/index.md index 0fc4c1e8bb..08ff6ab548 100644 --- a/src/connections/destinations/catalog/actions-jimo/index.md +++ b/src/connections/destinations/catalog/actions-jimo/index.md @@ -1,7 +1,6 @@ --- title: Jimo (Actions) Destination id: 652d4cf5e00c0147e6eaf5e7 -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/actions-klaviyo/index.md b/src/connections/destinations/catalog/actions-klaviyo/index.md index 41864c005a..ddfa779bf3 100644 --- a/src/connections/destinations/catalog/actions-klaviyo/index.md +++ b/src/connections/destinations/catalog/actions-klaviyo/index.md @@ -1,7 +1,6 @@ --- title: Klaviyo (Actions) Destination id: 650bdf1a62fb34ef0a8058e1 -beta: true --- {% include content/plan-grid.md name="actions" %} @@ -97,4 +96,4 @@ No. Engage audiences are designed to initiate the creation of new lists in Klavi When adding a user to a list, our action make use of the [Bulk Profile Import](https://developers.klaviyo.com/en/reference/spawn_bulk_profile_import_job){target="_blank"} endpoint (when batching is enabled), and the [Add Profile To List](https://developers.klaviyo.com/en/reference/create_list_relationships){target="_blank"} endpoint for non-batched requests. Both of which will not update a users suppression status if they were previously suppressed. -To ensure a suppressed profile gets unsuppressed, you can use the "Subscribe Profile" action. When a profile is subscribed in Klaviyo, it automatically unsuppresses any previously suppressed user. You can combine this action with other actions to achieve your goal. If this solution does not fully address your use case, please contact us at friends@segment.com so we can consider your specific requirements. \ No newline at end of file +To ensure a suppressed profile gets unsuppressed, you can use the "Subscribe Profile" action. When a profile is subscribed in Klaviyo, it automatically unsuppresses any previously suppressed user. You can combine this action with other actions to achieve your goal. If this solution does not fully address your use case, please contact us at friends@segment.com so we can consider your specific requirements. diff --git a/src/connections/destinations/catalog/actions-moloco-rmp/index.md b/src/connections/destinations/catalog/actions-moloco-rmp/index.md index 19fda5d9a0..29c3970350 100644 --- a/src/connections/destinations/catalog/actions-moloco-rmp/index.md +++ b/src/connections/destinations/catalog/actions-moloco-rmp/index.md @@ -1,7 +1,6 @@ --- title: Moloco Commerce Media Destination id: 65f05e455b125cddd886b793 -beta: true --- [Moloco Commerce Media](https://www.moloco.com/products/moloco-retail-media-platform){:target="_blank”} (MCM) is a technology solution that empowers marketplaces and online retailers to build and scale a retail media business (for example, sponsored ads). Moloco’s solution helps platforms leverage and activate their first-party data to deliver highly relevant and performant ads, automate ad decision-making, and scale their ads business. diff --git a/src/connections/destinations/catalog/actions-optimizely-advanced-audience-targeting/index.md b/src/connections/destinations/catalog/actions-optimizely-advanced-audience-targeting/index.md index d6514f037d..9f3635f5a3 100644 --- a/src/connections/destinations/catalog/actions-optimizely-advanced-audience-targeting/index.md +++ b/src/connections/destinations/catalog/actions-optimizely-advanced-audience-targeting/index.md @@ -1,7 +1,6 @@ --- title: Optimizely Advanced Audience Targeting Destination id: 64edeb2bee24614fe52ede34 -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/actions-schematic/index.md b/src/connections/destinations/catalog/actions-schematic/index.md index 8c45c9ad8f..de283630d8 100644 --- a/src/connections/destinations/catalog/actions-schematic/index.md +++ b/src/connections/destinations/catalog/actions-schematic/index.md @@ -1,6 +1,5 @@ --- title: Schematic (Actions) Destination -beta: true id: 65b8e9eca1b5903a031c6378 --- @@ -25,4 +24,4 @@ Once you've connected Schematic to Segment, you can configure how you want to se ## Additional Context -Schematic only accepts Track event names that contain alphanumeric characters, dashes, and underscores. If Segment event names have other characters, like spaces, the Schematic destination automatically snake_cases the event name before passing to Schematic. Segment passes the raw event name as an event trait. \ No newline at end of file +Schematic only accepts Track event names that contain alphanumeric characters, dashes, and underscores. If Segment event names have other characters, like spaces, the Schematic destination automatically snake_cases the event name before passing to Schematic. Segment passes the raw event name as an event trait. diff --git a/src/connections/destinations/catalog/actions-survicate/index.md b/src/connections/destinations/catalog/actions-survicate/index.md index 8df29e7707..d6ab0917d6 100644 --- a/src/connections/destinations/catalog/actions-survicate/index.md +++ b/src/connections/destinations/catalog/actions-survicate/index.md @@ -1,7 +1,6 @@ --- title: Survicate (Actions) Destination id: 65a6ac19ea6d3ced628be00b -beta: true --- [Survicate](https://survicate.com/integrations/segment-survey/?utm_source=segment&utm_medium=referral){:target="_blank”} is a complete toolkit for customer feedback. diff --git a/src/connections/destinations/catalog/actions-the-trade-desk-crm/index.md b/src/connections/destinations/catalog/actions-the-trade-desk-crm/index.md index 68cb3309a6..8fc81951b8 100644 --- a/src/connections/destinations/catalog/actions-the-trade-desk-crm/index.md +++ b/src/connections/destinations/catalog/actions-the-trade-desk-crm/index.md @@ -3,7 +3,6 @@ title: The Trade Desk CRM Destination hide-personas-partial: true hide-boilerplate: true hide-dossier: false -beta: true id: 6440068936c4fb9f699b0645 redirect_from: "/connections/destinations/catalog/the-trade-desk-crm/" --- diff --git a/src/connections/destinations/catalog/actions-userpilot-cloud/index.md b/src/connections/destinations/catalog/actions-userpilot-cloud/index.md index 4e8ad75ee9..e62f209722 100644 --- a/src/connections/destinations/catalog/actions-userpilot-cloud/index.md +++ b/src/connections/destinations/catalog/actions-userpilot-cloud/index.md @@ -1,7 +1,6 @@ --- title: Userpilot Cloud (Actions) Destination id: 647f30a35eedd03afde0a1c3 -beta: true --- {% include content/plan-grid.md name="actions" %} diff --git a/src/connections/destinations/catalog/adobe-target-cloud-mode/index.md b/src/connections/destinations/catalog/adobe-target-cloud-mode/index.md index 6969bd1c65..8adc7e000a 100644 --- a/src/connections/destinations/catalog/adobe-target-cloud-mode/index.md +++ b/src/connections/destinations/catalog/adobe-target-cloud-mode/index.md @@ -3,5 +3,4 @@ title: 'Adobe Target Cloud Mode Destination' hidden: true id: 61aa712b857e8c85c3b5a849 published: false -beta: true --- diff --git a/src/connections/destinations/catalog/akita/index.md b/src/connections/destinations/catalog/akita/index.md index d31bfc8a8b..7c85b76833 100644 --- a/src/connections/destinations/catalog/akita/index.md +++ b/src/connections/destinations/catalog/akita/index.md @@ -1,5 +1,4 @@ --- -beta: true title: Akita Destination published: false hidden: true diff --git a/src/connections/destinations/catalog/appcues-mobile/index.md b/src/connections/destinations/catalog/appcues-mobile/index.md index fb475c61b7..667dc1b45a 100644 --- a/src/connections/destinations/catalog/appcues-mobile/index.md +++ b/src/connections/destinations/catalog/appcues-mobile/index.md @@ -3,5 +3,4 @@ title: 'Appcues Mobile Destination' hidden: true id: 620ff0b76a6f5d2317a7a353 published: false -beta: true --- diff --git a/src/connections/destinations/catalog/batch/index.md b/src/connections/destinations/catalog/batch/index.md index e24f72a142..560aaef561 100644 --- a/src/connections/destinations/catalog/batch/index.md +++ b/src/connections/destinations/catalog/batch/index.md @@ -1,6 +1,5 @@ --- title: Batch Destination -beta: true id: 596d11f870a3e552b957e6d9 --- The Batch.com integration code is open sourced on GitHub. Feel free to check it out: [iOS](https://github.com/BatchLabs/ios-segment-integration){:target="_blank"}, [Android](https://github.com/BatchLabs/android-segment-integration){:target="_blank"}. diff --git a/src/connections/destinations/catalog/beamer/index.md b/src/connections/destinations/catalog/beamer/index.md index 879597c641..4d559498da 100644 --- a/src/connections/destinations/catalog/beamer/index.md +++ b/src/connections/destinations/catalog/beamer/index.md @@ -1,6 +1,5 @@ --- title: Beamer Destination -beta: true rewrite: true id: 5d2d8f56f159f30001b3c3a9 --- diff --git a/src/connections/destinations/catalog/convertly/index.md b/src/connections/destinations/catalog/convertly/index.md index ec0473999f..a4e91704d3 100644 --- a/src/connections/destinations/catalog/convertly/index.md +++ b/src/connections/destinations/catalog/convertly/index.md @@ -1,7 +1,6 @@ --- title: Convertly Destination id: 65e8b496eec9c40dbccbf749 -beta: true --- [Convertly](https://www.tryconvertly.com){:target="\_blank”} lets you run AI on your product analytics. Create and generate charts and analyze data in minutes. diff --git a/src/connections/destinations/catalog/cubitic/index.md b/src/connections/destinations/catalog/cubitic/index.md index 48f975f551..06323625ca 100644 --- a/src/connections/destinations/catalog/cubitic/index.md +++ b/src/connections/destinations/catalog/cubitic/index.md @@ -1,6 +1,5 @@ --- title: Cubitic Destination -beta: true --- This destination is maintained by Cubitic. diff --git a/src/connections/destinations/catalog/delivrai-resolve/index.md b/src/connections/destinations/catalog/delivrai-resolve/index.md index f16df94cb6..2c926dcfd4 100644 --- a/src/connections/destinations/catalog/delivrai-resolve/index.md +++ b/src/connections/destinations/catalog/delivrai-resolve/index.md @@ -1,7 +1,6 @@ --- title: Delivr.ai Resolve (Browser) Destination id: 650c69e7f47d84b86c120b4c -beta: true redirect_from: - '/connections/destinations/catalog/actions-cdpresolution/' --- diff --git a/src/connections/destinations/catalog/display-and-video-360-actions/index.md b/src/connections/destinations/catalog/display-and-video-360-actions/index.md index 3184ed9293..3f8b0e730f 100644 --- a/src/connections/destinations/catalog/display-and-video-360-actions/index.md +++ b/src/connections/destinations/catalog/display-and-video-360-actions/index.md @@ -3,5 +3,4 @@ title: 'Display and Video 360 (Actions) Destination' hidden: true id: 65302a3acb309a8a3d5593f2 published: false -beta: true --- diff --git a/src/connections/destinations/catalog/events-win/index.md b/src/connections/destinations/catalog/events-win/index.md index f62b1a5aa3..99e3106214 100644 --- a/src/connections/destinations/catalog/events-win/index.md +++ b/src/connections/destinations/catalog/events-win/index.md @@ -1,6 +1,5 @@ --- title: events.win Destination -beta: true id: 662d3328d029f89724a0c294 --- diff --git a/src/connections/destinations/catalog/facebook-conversions-api/index.md b/src/connections/destinations/catalog/facebook-conversions-api/index.md index 53786e5115..5c698d4f29 100644 --- a/src/connections/destinations/catalog/facebook-conversions-api/index.md +++ b/src/connections/destinations/catalog/facebook-conversions-api/index.md @@ -1,7 +1,6 @@ --- title: 'Facebook Conversions API Destination' hidden: true -beta: true id: 5c7f23427d1806000175952a --- {% endif %} {% endif %} From 0ca8aa8ec511a739bfd09e494a2f4d55597e0d1d Mon Sep 17 00:00:00 2001 From: Esteban Gonzalez Corti Date: Thu, 8 Aug 2024 14:17:59 +1000 Subject: [PATCH 49/76] Add nullify behavior for sql trait.md --- src/unify/Traits/sql-traits.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/unify/Traits/sql-traits.md b/src/unify/Traits/sql-traits.md index 2685014d79..7fbfac86ba 100644 --- a/src/unify/Traits/sql-traits.md +++ b/src/unify/Traits/sql-traits.md @@ -218,6 +218,10 @@ No, SQL Traits supports string and numeric data types. You can cast arrays as a After a SQL trait has been created, you can't change its Warehouse Source. You'll need to create a new trait if you want to change the Warehouse source. +### What happens if a user is no longer returned by the SQL trait? + +If a user was present in one computation, but it is no longer present in the following one, the SQL trait will detect this difference and nullify all trait values for the user. [Contact Segment](https://segment.com/help/contact/){:target="_blank"} if you have a use case which calls for an exemption from this default behavior. + ## Troubleshooting ### I'm getting a permissions error. From a21cb5a9af4727d85e2348db14b3d17a0236aaa7 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 8 Aug 2024 20:29:02 -0400 Subject: [PATCH 50/76] first couple link text fixes --- CONTRIBUTING.md | 2 +- src/_includes/content/dev-center-note.md | 2 +- src/_includes/content/ip-allowlist.md | 2 +- .../destinations/catalog/actions-ambee/index.md | 2 +- .../catalog/actions-braze-web/index.md | 7 +++---- .../catalog/actions-display-video-360/index.md | 2 +- .../actions-facebook-conversions-api/index.md | 4 ++-- .../catalog/actions-hubspot-cloud/index.md | 2 +- .../catalog/actions-pardot/index.md | 2 +- .../actions-pinterest-conversions-api/index.md | 2 +- .../catalog/actions-qualtrics/index.md | 2 +- .../destinations/catalog/adikteev/index.md | 10 ++++------ .../catalog/adobe-analytics/settings.md | 2 +- .../catalog/amazon-personalize/index.md | 4 ++-- .../destinations/catalog/appsflyer/index.md | 2 +- .../destinations/catalog/autopilothq/index.md | 2 +- .../catalog/branch-metrics/index.md | 4 ++-- .../destinations/catalog/braze/index.md | 17 ++++++++++------- .../catalog/clearbit-reveal/index.md | 4 +--- .../destinations/catalog/clicky/index.md | 5 +---- .../destinations/catalog/comscore/index.md | 4 ++-- .../destinations/catalog/crazy-egg/index.md | 2 +- .../destinations/catalog/customer-io/index.md | 2 +- .../catalog/customersuccessbox/index.md | 6 +++--- .../destinations/catalog/cxense/index.md | 2 +- .../catalog/doubleclick-floodlight/index.md | 2 +- .../destinations/catalog/firebase/index.md | 14 +++++++------- .../catalog/google-ads-classic/index.md | 2 +- .../destinations/catalog/gtag/index.md | 4 ++-- .../destinations/catalog/help-scout/index.md | 2 +- .../destinations/catalog/impact/index.md | 4 ++-- .../destinations/catalog/iterable/index.md | 6 +++--- .../destinations/catalog/kahuna/index.md | 4 ++-- .../destinations/catalog/kustomer/index.md | 4 ++-- .../destinations/catalog/leanplum/index.md | 4 ++-- .../destinations/catalog/localytics/index.md | 2 +- .../destinations/catalog/marketo-v2/index.md | 4 ++-- .../destinations/catalog/mixpanel/index.md | 4 ++-- .../destinations/catalog/nielsen-dtvr/index.md | 4 ++-- .../catalog/optimizely-full-stack/index.md | 6 +++--- .../catalog/optimizely-web/index.md | 13 ++++++------- 41 files changed, 84 insertions(+), 90 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 21d5d88aff..54b4ebc68b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -75,7 +75,7 @@ Sources pages check if the source is a cloud-app, then include information about ## Edit pages -Content with in each `.md` file is markdown. For information about styling, and available extensions, see `_src/utils/formatguide.md` or the live version [here](https://segment.com/docs/utils/formatguide). +Content with in each `.md` file is markdown. For information about styling, and available extensions, see `_src/utils/formatguide.md` or the live version in the [utils section of the docs](/docs/utils/formatguide). ## Building a preview diff --git a/src/_includes/content/dev-center-note.md b/src/_includes/content/dev-center-note.md index 0639e1f05e..5884344d34 100644 --- a/src/_includes/content/dev-center-note.md +++ b/src/_includes/content/dev-center-note.md @@ -1 +1 @@ -

Developer Center no longer accepts new components.

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

\ No newline at end of file +

Developer Center no longer accepts new components.

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

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

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

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

    Segment recommends to get started with a Dev space in the [Space Setup](/docs/unify/identity-resolution/space-setup/) docs, test the rules with the expected data, and then create an identical Production space with those rules. Document any changes to a space's Identity Resolution rules, and don't update rules to be more restrictive after profiles already exist outside the bounds of those new rules. ## ExternalIDs diff --git a/src/unify/identity-resolution/space-setup.md b/src/unify/identity-resolution/space-setup.md index 59663fb9d7..d5fd41b54e 100644 --- a/src/unify/identity-resolution/space-setup.md +++ b/src/unify/identity-resolution/space-setup.md @@ -10,7 +10,7 @@ When starting with Unify, begin by creating a *Dev* space. This will be your san ## Step two: Configure Identity settings -Before you connect any source to the Dev space, Segment recommends that you first start by reviewing and configuring your Identity settings, as changes to the Identity rules will only be applied to new events received following any updates. Read more on those settings [here](/docs/unify/identity-resolution/identity-resolution-settings/). +Before you connect any source to the Dev space, Segment recommends that you first start by reviewing and configuring your Identity settings, as changes to the Identity rules will only be applied to new events received following any updates. Read more on those settings in the [Identity Resolution Settings](/docs/unify/identity-resolution/identity-resolution-settings/) docs. ## Step three: Set up a connection policy diff --git a/src/unify/product-limits.md b/src/unify/product-limits.md index 867c324523..542cd7f9ea 100644 --- a/src/unify/product-limits.md +++ b/src/unify/product-limits.md @@ -7,7 +7,7 @@ redirect_from: --- > info "" -> Beginning August 18, 2023, new Unify Plus and Engage users can refer to this page for Segment's product limits. Existing users prior to this date can continue to refer to the Engage product limits [here](/docs/engage/product-limits/). +> Beginning August 18, 2023, new Unify Plus and Engage users can refer to this page for Segment's product limits. Existing users prior to this date can continue to refer to the Engage product limits in the [Engage Default Limits](/docs/engage/product-limits/) documentation. To provide consistent performance and reliability at scale, Segment enforces default use and rate limits within Unify. Most customers do not exceed these limits. diff --git a/src/unify/quickstart.md b/src/unify/quickstart.md index ce14843124..bb03c679a8 100644 --- a/src/unify/quickstart.md +++ b/src/unify/quickstart.md @@ -40,12 +40,12 @@ You probably have teammates who help set up your Segment Workspace with the data Segment recommends connecting your production website or App source as a great starting point. > info "" -> If the source you want to add doesn't appear on the list, then check if the source is enabled. If the source is enabled, verify that you have set up a connection policy which enforces that you can only add sources with specific labels to this space. Read more about Segment's connection policy [here](/docs/unify/identity-resolution/space-setup/#step-three-set-up-a-connection-policy). +> If the source you want to add doesn't appear on the list, then check if the source is enabled. If the source is enabled, verify that you have set up a connection policy which enforces that you can only add sources with specific labels to this space. Read more about Segment's connection policy in the [Space Setup](/docs/unify/identity-resolution/space-setup/#step-three-set-up-a-connection-policy) docs. > success "" > **Tip:** It sounds a little counter- intuitive to connect a production source to a developer space, but your production sources have rich user data in them, which is what you need to build and validate user profiles. -Once you select sources, Segment starts a replay of one month of historical data from these sources into your Unify space. We're doing this step first so you have some user data to build your first profiles. +Once you select sources, Segment starts a replay of one month of historical data from these sources into your Unify space. Segment does this step first so you have some user data to build your first profiles. The replay usually takes several hours, but the duration will vary depending on how much data you have sent through these sources in the past one month. When the replay finishes, you are notified in the Sources tab under Settings, shown below. diff --git a/src/utils/cmode-verify.md b/src/utils/cmode-verify.md index f045e54f3b..2a66ee8d4d 100644 --- a/src/utils/cmode-verify.md +++ b/src/utils/cmode-verify.md @@ -102,7 +102,7 @@ tests: mobile: true server: true --- -Use this page to verify that the static table at the top of each section matches the API generated tables below it. Any mismatches indicate a change in the API that requires further research to determine impact to the main Connection Modes table [here](docs/connections/destinations/cmodes-compare/). +Use this page to verify that the static table at the top of each section matches the API generated tables below it. Any mismatches indicate a change in the API that requires further research to determine impact to the main Connection Modes table in the [Destinations Connection Modes comparison](docs/connections/destinations/cmodes-compare/) docs. Mismatches are shown highlighted in Red. From 8c6bea5c490a28551d7dfb8975a439900fe9692a Mon Sep 17 00:00:00 2001 From: Marshall Guttenberg Date: Mon, 12 Aug 2024 14:13:35 -0700 Subject: [PATCH 60/76] remove references to Upload Enhanced Conversion (Legacy) action after EOL --- .../index.md | 60 ------------------- 1 file changed, 60 deletions(-) diff --git a/src/connections/destinations/catalog/actions-google-enhanced-conversions/index.md b/src/connections/destinations/catalog/actions-google-enhanced-conversions/index.md index 69fe73e336..14ada365cd 100644 --- a/src/connections/destinations/catalog/actions-google-enhanced-conversions/index.md +++ b/src/connections/destinations/catalog/actions-google-enhanced-conversions/index.md @@ -19,9 +19,6 @@ hide_action: The Google Ads Conversions destination enables you to upload offline conversions and conversion adjustments to Google Ads in a privacy safe way. With this server-side destination, you can upload conversions to the [Google Ads API](https://developers.google.com/google-ads/api/docs/conversions/overview){:target="_blank"} and tie them to a user's online click or phone call. In addition, you can improve the accuracy of your conversion measurement by sending conversion enhancements, restatements, and retractions. -> warning "Upload Enhanced Conversion (Legacy) Actions will be deprecated after June 30th, 2024" -> Segment will begin migrating all enabled Upload Enhanced Conversion (Legacy) mappings to the updated Upload Conversion Adjustment mappings on June 7th, 2024. **After Segment migrates your mappings, you must take action to prevent data loss**. For more information, see the [Automatic migration from Upload Enhanced Conversion (Legacy) Action](#automatic-migration-from-upload-enhanced-conversion-legacy-action) documentation. - > info "Consent mode" > Google enforced consent on March 6, 2024 for European Economic Area (EEA) users. Learn more about [consent mode](/docs/connections/destinations/catalog/actions-google-enhanced-conversions/#consent-mode) and how to set it up. @@ -36,63 +33,6 @@ The Google Ads Conversions destination enables you to upload offline conversions {% include components/actions-fields.html settings="true"%} -## Migrate from your legacy Upload Enhanced Conversion Action - -To migrate from the legacy Upload Enhanced Conversion Action to the updated Upload Conversion Adjustment Action: - -1. Navigate to the Google Ads Conversions destination in your workspace and select the **Settings** tab. -2. On the Settings tab, enter your Conversion ID and Customer ID into the named fields. -2. Update the following fields for the Upload Conversion Adjustment Action mapping: - - Conversion Action ID - - Adjustment Type -3. Replicate as many fields from your original mapping as possible, using the following table for reference. - -Review the [Upload Conversion Adjustment Action](/docs/connections/destinations/catalog/actions-google-enhanced-conversions/#upload-conversion-adjustment) section for more details about each field. - -| Upload Enhanced Conversion (Legacy)| Upload Conversion Adjustment | Default Mapping | -|------------------------|----------------------------|--------------------------------------| -| conversion_label | N/A | `$.properties.conversion_label` | -| email | email_address | `$.properties.email` or `$.traits.email` or `$.context.traits.email` | -| transaction_id | order_id | `$.properties.orderId` | -| user_agent | user_agent | `$.context.userAgent` | -| conversion_time | conversion_timestamp | `$.timestamp` | -| value | N/A |` $.properties.total` | -| currency_code | N/A | `$.properties.currency` | -| is_app_incrementality | N/A |` false` | -| pcc_game | N/A | `false` | -| phone_number | phone_number | `$.properties.phone` or `$.traits.phone` | -| first_name | first_name | `$.properties.firstName` or `$.traits.firstName` | -| last_name | last_name | `$.properties.lastName` or `$.traits.lastName` | -| street_address | street_address | `$.properties.address.street` or `$.traits.address.street` | -| city | city | `$.properties.address.city` or `​​$.traits.address.city` | -| region | state | `$.properties.address.state` or `$.traits.address.state` | -| post_code | postal_code | `$.properties.address.postalCode` or `$.traits.address.postalCode` | -| country | country | `$.properties.address.country` or `$.traits.address.country` | -| N/A | gclid | Default Not Available | -| N/A | adjustment_timestamp | Default Not Available | -| N/A | restatement_value | Default Not Available | -| N/A | restatement_currency_code | Default Not Available | - - -### Automatic migration from Upload Enhanced Conversion (Legacy) Action -The Upload Enhanced Conversion action relies on the Google Enhanced Conversion Legacy API, which will be deprecated on June 30th, 2024. - -On June 7, 2024, Segment will begin migrating all enabled legacy Upload Enhanced Conversion mappings to the new Upload Conversion Adjustment mapping, preserving as many mapping fields as possible. Migrated mappings will have the same names as your legacy mappings, with `[Migrated]` appended. For example, if your mapping was named "Enhanced Conversions", Segment would name your migrated mapping "Enhanced Conversions [Migrated]". - -![A screenshot of the Google Enhanced Conversions mappings page, with migrated mappings disabled.](images/google-enhanced-conversions-migration.png) - -After this migration occurs, you must take the following steps: -1. Open the your Google Ads Conversions destination and select the **Settings** tab. -2. Enter your Conversion ID and Customer ID into their respective fields. Find information about what these values are in the [destination settings](#destination-settings). -3. Select the **Mappings** tab. -4. Update the Conversion Action and Adjustment Type fields in the Upload Conversion Adjustment mapping to match the fields outlined in the above table. ![A screenshot of a migrated mapping, with the required fields outlined in black.](images/mapping-fields.png) -5. Enable the migrated mapping(s). -6. Disable the legacy Upload Enhanced Conversion mappings. - -To migrate your mapping yourself, use the steps in the [Migrate from your legacy Upload Enhanced Conversion Action](#migrate-from-your-legacy-upload-enhanced-conversion-action) documentation. - -Segment will deprecate all legacy Upload Enhanced Conversion legacy actions after June 30th, 2024. - ## Consent mode [Consent mode](https://support.google.com/analytics/answer/9976101?hl=en){:target="_blank"} is a feature provided by Google in the context of its products, particularly the Gtag library and Google Analytics. As of March 6, 2024, Google announced that consent mode must function for European Economic Area (EEA) users, otherwise data from EEA users won't process. From d40c4ef88eb243fc8b7ba863420b6d0ab8777b21 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 12:31:59 -0400 Subject: [PATCH 61/76] Apply suggestions from code review --- src/connections/sources/custom-domain.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md index e8a6db7139..cd4c2b2fc1 100644 --- a/src/connections/sources/custom-domain.md +++ b/src/connections/sources/custom-domain.md @@ -55,8 +55,7 @@ To configure Custom Domain: - **Description**: Enter an optional description for your service request. If you are requesting Custom Domain for multiple workspaces, enter any additional workspace slugs and source names into this field. 4. Segment provides you with a list of nameservers you should add to your DNS. Once you receive the nameservers from Segment, update your DNS. 5. After you've updated your DNS, Segment verifies that you've made all required updates and then provides you with two custom domains, one for the Tracking API and a second for your CDN. -6. Once Custom Domain is enabled for your workspace, the Segment app generates a new JavaScript source code snippet for your Analytics.js sources. You can then copy and paste this snippet into the header of your website. -7. Update your JavaScript snippet to reference the new subdomains or use the new Tracking API custom domain as your endpoint for server library sources. +6. Once Custom Domain is enabled for your workspace, the Segment app generates a new JavaScript source code snippet for your Analytics.js sources. Copy and paste this snippet into the header of your website. You can also use the subdomain provided for the Tracking API as the new endpoint for your server library sources. ## FAQ @@ -64,20 +63,22 @@ To configure Custom Domain: Custom Domain was largely developed to support JavaScript sources. It helps with comprehensive collection of first-party data from your website when accessed over any platform (desktop, mobile, and more). You can use the subdomain for all other non-JavaScript sources as well, for consistency, but it will have no impact on data collection for those sources. ### How can I configure non-JavaScript sources to use Custom Domain? -Non-JavaScript sources should use Custom Domain primarily for consistency, as it does not impact data collection for these sources. Only Analytics.js sources will have Custom Domain configurations added to the source settings UI in Segment. For non-Analytics.js sources, you’ll need to update your implementation to use the subdomain as an endpoint when using the Tracking API. For example: -* Server Sources: When sending data from server-side implementations, use the `host` configuration parameter to send data to your subdomain instead of the default Segment domain. +For non-Analytics.js sources, you’ll need to update your implementation to use the subdomain as an endpoint when using the Tracking API. For example: -* Mobile Sources: When sending data from mobile implementations, use the `apiHost` configuration parameter to send data to your subdomain instead of the default Segment domain. +- **Server Sources**: When sending data from server-side implementations, use the `host` configuration parameter to send data to your subdomain instead of the default Segment domain. +- **Mobile Sources**: When sending data from mobile implementations, use the `apiHost` configuration parameter to send data to your subdomain instead of the default Segment domain. ### Is there a benefit in migrating server-side sources over to client-side with Custom Domain? -Tracking data server-side is generally more reliable than tracking it client-side due to various device-based factors that can impact your tracking. For instance, users might block all cookies or use tools that interfere with network requests leaving the browser, leading to incomplete or inaccurate data collection when relying solely on client-side tracking. +Server-side tracking is generally more reliable than client-side tracking. For example, when tracking data client-side, you might lose data when users might block all cookies or use tools that interfere with network requests leaving the browser. -For business-critical events, we strongly recommend keeping your tracking server-side. This approach ensures that your data is less susceptible to disruptions from client-side variables, resulting in more accurate and reliable tracking. +For business-critical events, Segment recommends server-side data tracking. This approach means that your data is less susceptible to disruptions from client-side variables, which can result in more accurate and reliable tracking. ### Is this a fully-managed solution? What servers or infrastructure do I need to set up on my side for this proxy? -Yes, Custom Domain is a fully-managed solution. You must be able to delegate a DNS subdomain to Segment and add the name servers Segment provides to your DNS. +Yes, Custom Domain is a fully-managed solution. However, you must set up the following infrastructure on your end: +- Delegate a DNS subdomain to Segment +- Add the name servers Segment provides to your DNS First, decide on your subdomain and then delegate it to Segment. Segment then asks you to add a DNS NS record to your DNS with specific values to complete the DNS delegation. From there on, Segment fully manages the infrastructure for serving Analytics.js and ingesting events data through the subdomain. From 3e5dce4e89eac90faa109cb15a5ae711e0187222 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 12:45:47 -0400 Subject: [PATCH 62/76] Apply suggestions from code review --- src/connections/sources/custom-domain.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md index 40ab82a877..c3a69896df 100644 --- a/src/connections/sources/custom-domain.md +++ b/src/connections/sources/custom-domain.md @@ -84,6 +84,6 @@ Yes, Custom Domain allows Segment to rename `window.analytics` to a unique name Customers who have access to the Custom Domain feature can rename analytics to `/.js` by choosing an Alias for Analytics.js within the source settings that are available after the workspace is enabled for Custom Domain. -### What happens to the Analytics.js cookies already set on the user's browser prior to Custom Domain implementation? -Analytics.js cookies will not be lost in the transition to Custom Domain. Once users revisit your website, the previous Analytics.js cookies will continue to be fetched and added to events if available. +### What happens to the Analytics.js cookies already set on the user's browser prior to a Custom Domain implementation? +Analytics.js cookies are not lost in the transition to Custom Domain. When users revisit your website, the previous Analytics.js cookies continue to be fetched and added to events, if available. From e3fdac3af8f783c8ff5f0d1d348aa576cd36621d Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 12:49:20 -0400 Subject: [PATCH 63/76] Apply suggestions from code review --- .../destinations/catalog/actions-salesforce/index.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/connections/destinations/catalog/actions-salesforce/index.md b/src/connections/destinations/catalog/actions-salesforce/index.md index 0977bbd4dd..1ae50a8827 100644 --- a/src/connections/destinations/catalog/actions-salesforce/index.md +++ b/src/connections/destinations/catalog/actions-salesforce/index.md @@ -36,9 +36,10 @@ Before you connect Segment to Salesforce, please ensure you have a Salesforce ac 6. Follow the steps in the Destinations Actions documentation on [Customizing mappings](/docs/connections/destinations/actions/#customizing-mappings). You must select which Event Types and/or Event Names will trigger each mapping. 7. Enable the destination and configured mappings. -> info "Authenticate with Salesforce" -> Salesforce (Actions) requires OAuth based authentication. Salesforce limits the number of apps (destinations) a single user can grant (authorize). A single user can connect five Salesforce destinations, but upon connecting a sixth destination, the oldest destination's authorization is revoked. If the same user reauthorizes that same destination, this same behavior will occur on the next oldest destination that was authorized, and so on. To prevent this behavior, ensure that a different user with the same Salesforce permissions connects any new Salesforce destinations. -> _For additional information on this Salesforce limitation, please see this documentation [Manage OAuth-Enabled Connected Apps Access to Your Data](https://help.salesforce.com/s/articleView?id=sf.remoteaccess_request_manage.htm&type=5#:~:text=NOTE,impact%20your%20org.)._ +> info "Salesforce (Actions) authentication limitations" +> You must authenticate with the Salesforce (Actions) destination using OAuth. A single user can connect up to 5 Salesforce destinations, but upon connecting a 6th instance of the Salesforce (Actions) destination, Salesforce revokes the oldest destination's authorization. If the same user reauthorizes that same destination, this same behavior occurs on the next oldest destination that was authorized, and so on. To prevent this behavior, ensure that a different user with the same Salesforce permissions connects any additional Salesforce destinations. +> +> _For additional information on these limitations, see the Salesforce [Manage OAuth-Enabled Connected Apps Access to Your Data](https://help.salesforce.com/s/articleView?id=sf.remoteaccess_request_manage.htm&type=5#:~:text=Each%20connected%20app%20allows%20five%20unique%20approvals%20per%20user.){:target="_blank”} documentation._ {% include components/actions-fields.html %} From 1cb06090920ce6ff7a2f7b4680a3c78cd660d0a6 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 12:50:50 -0400 Subject: [PATCH 64/76] Update src/connections/reverse-etl/system.md Co-authored-by: pwseg <86626706+pwseg@users.noreply.github.com> --- src/connections/reverse-etl/system.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/reverse-etl/system.md b/src/connections/reverse-etl/system.md index c217245dc6..faf35fbe0c 100644 --- a/src/connections/reverse-etl/system.md +++ b/src/connections/reverse-etl/system.md @@ -20,7 +20,7 @@ For Segment to compute the data changes within your warehouse, Segment needs to To provide consistent performance and reliability at scale, Segment enforces default use and rate limits for Reverse ETL. ### Usage limits -Reverse ETL usage limits are measured based on the number of records processed to each destination – this includes both successful and failed records. For example, if you processed 50k records to Braze and 50k records to Mixpanel, then your total Reverse ETL usage is 100k records. +Reverse ETL usage limits are measured based on the number of records processed to each destination – this includes both successful and failed records. For example, if you processed 50K records to Braze and 50K records to Mixpanel, then your total Reverse ETL usage is 100K records. Processed records represents the number of records Segment attempts to send to each destination. Keep in mind that not all processed records are successfully delivered, for example, such as when the destination experiences an issue. From c5de28167a0023aed919bd3d2764f152e27ab624 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 12:51:26 -0400 Subject: [PATCH 65/76] FAQ updates Co-authored-by: pwseg <86626706+pwseg@users.noreply.github.com> --- src/connections/reverse-etl/faq.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/reverse-etl/faq.md b/src/connections/reverse-etl/faq.md index bcaef54ef2..55b433e44b 100644 --- a/src/connections/reverse-etl/faq.md +++ b/src/connections/reverse-etl/faq.md @@ -6,14 +6,14 @@ beta: false Get answers to some frequently asked Reverse ETL questions. ## Why do my sync results show *No records extracted* when I select *Updated records* after I enable the mapping? -It's expected that when you select **Updated records** the records do not change after the first sync. During the first sync, the reverse ETL system calculates a snapshot of all the results and creates records in the `_segment_reverse_etl` schema. All the records are considered as *Added records* instead of *Updated records* at this time. The records can only meet the *Updated records* condition when the underlying values change after the first sync completes. +It's expected that when you select **Updated records**, the records do not change after the first sync. During the first sync, the reverse ETL system calculates a snapshot of all the results and creates records in the `_segment_reverse_etl` schema. All the records are considered as *Added records* instead of *Updated records* at this time. The records can only meet the *Updated records* condition when the underlying values change after the first sync completes. ## Can I be notified when Reverse ETL syncs fail? Yes, you can sign up for Reverse ETL sync notifications. To receive Reverse ETL sync notifications: 1. Navigate to **Settings > User Preferences**. -2. Select **Reverse ETL** In the **Activity Notifications** section. +2. Select **Reverse ETL** in the **Activity Notifications** section. 3. Enable the toggle for **Reverse ETL Sync Failed**. In case of consecutive failures, Segment sends notifications for every sync failure. Segment doesn't send notifications for partial failures. From a82b27f2bff9f8a394c3b74a49b09a9e061026ab Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 12:54:57 -0400 Subject: [PATCH 66/76] Set up RETL page Co-authored-by: pwseg <86626706+pwseg@users.noreply.github.com> --- src/connections/reverse-etl/setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/reverse-etl/setup.md b/src/connections/reverse-etl/setup.md index 62c80df215..a2c8e89474 100644 --- a/src/connections/reverse-etl/setup.md +++ b/src/connections/reverse-etl/setup.md @@ -110,7 +110,7 @@ To create a mapping: * You can only choose to start the extraction at the top of the hour. * Scheduling multiple extractions to start at the same time inside the same data warehouse causes extraction errors. 11. Define how to map the record columns from your model to your destination in the **Select Mappings** section. - * You map the fields that come from your source, to fields that the destination expects to find. Fields on the destination side depend on the type of action selected. + * You map the fields that come from your source to fields that the destination expects to find. Fields on the destination side depend on the type of action selected. * If you're setting up a destination action, depending on the destination, some mapping fields may require data to be in the form of an object or array. See the [supported objects and arrays for mapping](/docs/connections/reverse-etl/manage-retl/#supported-object-and-arrays). 12. *(Optional)* Send a test record to verify the mappings correctly send to your destination. 13. Click **Create Mapping**. From 55011d89cdd91f192a6a4bc841b9ee9c9374e509 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 12:55:31 -0400 Subject: [PATCH 67/76] Snowflake setup --- .../reverse-etl-source-setup-guides/snowflake-setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md index a02837ce24..91d3ef85d0 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md @@ -86,6 +86,6 @@ Follow the instructions below to set up the Segment Snowflake connector. Segment -Learn more about the Snowflake Account ID [here](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html){:target="_blank"}. +Learn more about the Snowflake Account ID in Snowflake's [Account identifiers](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html){:target="_blank"} documentation. After you've successfully added your Snowflake source, [add a model](/docs/connections/reverse-etl/setup/#step-2-add-a-model) and follow the rest of the steps in the Reverse ETL setup guide. \ No newline at end of file From 587f9d6db31b0173264a80cae53abc1d2f8383be Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 12:56:13 -0400 Subject: [PATCH 68/76] Update src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md --- .../reverse-etl-source-setup-guides/snowflake-setup.md | 1 - 1 file changed, 1 deletion(-) diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md index 91d3ef85d0..306cf1f5ca 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md @@ -84,7 +84,6 @@ Follow the instructions below to set up the Segment Snowflake connector. Segment 5. Click **Test Connection** to test to see if the connection works. 6. Click **Add source** if the test connection is successful. - Learn more about the Snowflake Account ID in Snowflake's [Account identifiers](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html){:target="_blank"} documentation. From 7b6b7317791e611cdec95bec8829facd20f3debd Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 12:56:54 -0400 Subject: [PATCH 69/76] Catalog page updates --- src/connections/reverse-etl/reverse-etl-catalog.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/connections/reverse-etl/reverse-etl-catalog.md b/src/connections/reverse-etl/reverse-etl-catalog.md index 7135eadb08..0cde14d1e4 100644 --- a/src/connections/reverse-etl/reverse-etl-catalog.md +++ b/src/connections/reverse-etl/reverse-etl-catalog.md @@ -66,5 +66,3 @@ To get started with using Reverse ETL for subscriptions: 9. Select the model you want to use and then select **Send Subscriptions**. 10. Click **Create Mapping**. 11. Follow the steps in the [Create Mappings](/docs/connections/reverse-etl/setup/#step-4-create-mappings) section to set your mappings. - - \ No newline at end of file From 04066078996b9c2ae1bc18ee04d10d4bef3787c6 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 13:02:42 -0400 Subject: [PATCH 70/76] Manage RETL (except for JSON, check box wording) Co-authored-by: pwseg <86626706+pwseg@users.noreply.github.com> --- src/connections/reverse-etl/manage-retl.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/connections/reverse-etl/manage-retl.md b/src/connections/reverse-etl/manage-retl.md index cc2ba34629..ace2f773c0 100644 --- a/src/connections/reverse-etl/manage-retl.md +++ b/src/connections/reverse-etl/manage-retl.md @@ -8,7 +8,7 @@ View your sync history, gain insights into sync statuses, and restart or replay ## Sync overview On the Reverse ETL sync overview tab for your destination, you can see information about your recent Reverse ETL syncs at a glance, search for recent syncs, and quickly access the mappings and models that power Reverse ETL. -![A screenshot of the sync overview page, which includes one failed sync and three successful syncs. ](images/sync-overview.png) +![A screenshot of the sync overview page, which includes one failed sync and three successful syncs.](images/sync-overview.png) You can view the following information about each sync: - **Latest sync**: The progress of your latest sync: syncs can either be **In progress**, **Successful**, or **Failed**. Also included is the timestamp of the sync start time. @@ -66,7 +66,7 @@ To subscribe to alerts: - **Reverse ETL sync partial success**: Receive a notification when your Reverse ETL sync is partially successful. 4. Select one or more of the following alert options: - **Enable email notifications**: Enter an email address or alias that should receive alerts. - - **Enable Slack notifications**: Enter a Webhook URL and Slack channel name. + - **Enable Slack notifications**: Enter a webhook URL and Slack channel name. - **Enable in-app notifications**: Select this option to see an in-app notification. 5. Click **Create alert**. @@ -75,7 +75,7 @@ To subscribe to alerts: ## Supported object and arrays -When you set up destination actions in Reverse ETL, depending on the destination, some [mapping fields](/docs/connections/reverse-etl/setup/#step-4-create-mappings) may require data to be in the form of an [object](/docs/connections/reverse-etl/manage-retl/#object-mapping) or [array](/docs/connections/reverse-etl/manage-retl/#array-mapping). +When you set up destination actions in Reverse ETL, depending on the destination, some [mapping fields](/docs/connections/reverse-etl/setup/#step-4-create-mappings) may require data as an [object](/docs/connections/reverse-etl/manage-retl/#object-mapping) or [array](/docs/connections/reverse-etl/manage-retl/#array-mapping). ### Object mapping You can send data to a mapping field that requires object data. An example of object mapping is an `Order completed` model with a `Products` column that’s in object format. From 1e01a4ed8cd4d3d341dd7e580e3fa81ddcb86c5f Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 13:23:03 -0400 Subject: [PATCH 71/76] Update src/connections/reverse-etl/manage-retl.md Co-authored-by: pwseg <86626706+pwseg@users.noreply.github.com> --- src/connections/reverse-etl/manage-retl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/reverse-etl/manage-retl.md b/src/connections/reverse-etl/manage-retl.md index ace2f773c0..a01dcec2cb 100644 --- a/src/connections/reverse-etl/manage-retl.md +++ b/src/connections/reverse-etl/manage-retl.md @@ -49,7 +49,7 @@ You can reset your syncs so that your data is synced from the beginning. This me To reset a sync: 1. Select the three dots next to **Sync now**. 2. Select **Reset sync**. -3. Select the checkbox that you understand what happens when a sync is reset. +3. Select **I understand what happens when I reset a sync state**. 4. Click **Reset sync**. ## Replays From ab644bf007a919e24f04ea2f6659305687ba78f3 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 13:29:40 -0400 Subject: [PATCH 72/76] codeblock formatting --- src/connections/reverse-etl/manage-retl.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/connections/reverse-etl/manage-retl.md b/src/connections/reverse-etl/manage-retl.md index ace2f773c0..ebf4aa8c6e 100644 --- a/src/connections/reverse-etl/manage-retl.md +++ b/src/connections/reverse-etl/manage-retl.md @@ -81,7 +81,8 @@ When you set up destination actions in Reverse ETL, depending on the destination You can send data to a mapping field that requires object data. An example of object mapping is an `Order completed` model with a `Products` column that’s in object format. Example: - + +```json { "product": { "id": 0001, @@ -91,6 +92,7 @@ Example: "inventory": 500 } } +``` To send data to a mapping field that requires object data, you can choose between these two options: @@ -108,7 +110,7 @@ To send data to a mapping field that requires array data, the model must provide Example: - +```json [ { "currency": "USD", @@ -124,7 +126,7 @@ Example: "quantity": 2 } ] - +``` To send data to a mapping field that requires array data, you can choose between these two options: From 7ad54b0825fa652615d78ba53da5304289b926bc Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 13:30:29 -0400 Subject: [PATCH 73/76] Update src/connections/reverse-etl/manage-retl.md --- src/connections/reverse-etl/manage-retl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/reverse-etl/manage-retl.md b/src/connections/reverse-etl/manage-retl.md index 2dca28c783..3586e09433 100644 --- a/src/connections/reverse-etl/manage-retl.md +++ b/src/connections/reverse-etl/manage-retl.md @@ -44,7 +44,7 @@ To check the status of your extractions: > Segment retries events for 14 days following a total or partial sync failure. Before loading the failed records on a subsequent sync, Segment checks for the latest changes in your data to ensure the data loaded into your warehouse isn't stale. If the error causing the load failure is coming from an upstream tool, you can fix the error in the upstream tool to ensure the record loads on the next sync. ## Reset syncs -You can reset your syncs so that your data is synced from the beginning. This means that Segment resyncs your entire dataset for the model. +You can reset your syncs so that your data is synced from the beginning. This means that Segment resyncs your entire dataset for the model. During the next sync, all records extracted by the model are sent to your destination, not just the records that changed since the last sync. To reset a sync: 1. Select the three dots next to **Sync now**. From c85d2bb7f6c3e19648c75c517c1e148d4ec05152 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 13:30:57 -0400 Subject: [PATCH 74/76] Update src/connections/reverse-etl/manage-retl.md --- src/connections/reverse-etl/manage-retl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/reverse-etl/manage-retl.md b/src/connections/reverse-etl/manage-retl.md index 3586e09433..c449ac0c4d 100644 --- a/src/connections/reverse-etl/manage-retl.md +++ b/src/connections/reverse-etl/manage-retl.md @@ -49,7 +49,7 @@ You can reset your syncs so that your data is synced from the beginning. This me To reset a sync: 1. Select the three dots next to **Sync now**. 2. Select **Reset sync**. -3. Select **I understand what happens when I reset a sync state**. +3. Click **I understand what happens when I reset a sync state**. 4. Click **Reset sync**. ## Replays From 8dc8014fcbf52dd3225b536ffd82396df6817940 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 13 Aug 2024 13:44:52 -0400 Subject: [PATCH 75/76] libraries cleanup [LIBRARIES-1506] --- .../sources/catalog/libraries/mobile/android/index.md | 6 +++--- .../catalog/libraries/mobile/android/quickstart.md | 2 +- .../sources/catalog/libraries/mobile/android/wear.md | 8 ++++---- .../catalog/libraries/mobile/apple/implementation.md | 2 +- .../sources/catalog/libraries/mobile/apple/index.md | 2 +- .../libraries/mobile/apple/swift-destination-filters.md | 2 +- .../libraries/mobile/apple/swift-plugin-architecture.md | 2 +- .../catalog/libraries/mobile/apple/swift-samples.md | 2 +- .../catalog/libraries/mobile/apple/swift-typewriter.md | 2 +- .../sources/catalog/libraries/mobile/ios/index.md | 8 ++++---- .../sources/catalog/libraries/mobile/ios/quickstart.md | 4 ++-- .../libraries/mobile/kotlin-android/implementation.md | 2 +- .../catalog/libraries/mobile/kotlin-android/index.md | 4 ++-- .../kotlin-android/kotlin-android-destination-filters.md | 2 +- .../libraries/mobile/kotlin-android/kotlin-android-faq.md | 2 +- .../kotlin-android/kotlin-android-plugin-architecture.md | 2 +- .../mobile/kotlin-android/kotlin-android-samples.md | 2 +- .../mobile/kotlin-android/kotlin-android-typewriter.md | 2 +- .../catalog/libraries/mobile/kotlin-android/migration.md | 4 ++-- .../sources/catalog/libraries/server/kotlin/index.md | 2 +- .../catalog/libraries/website/javascript/custom-proxy.md | 2 +- src/engage/campaigns/mobile-push/index.md | 2 +- src/getting-started/02-simple-install.md | 2 +- 23 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/connections/sources/catalog/libraries/mobile/android/index.md b/src/connections/sources/catalog/libraries/mobile/android/index.md index 9a4ee04008..80bff29ade 100644 --- a/src/connections/sources/catalog/libraries/mobile/android/index.md +++ b/src/connections/sources/catalog/libraries/mobile/android/index.md @@ -1,14 +1,14 @@ --- -title: 'Analytics for Android' +title: 'Analytics-Android' strat: android repo: analytics-android support_type: maintenance id: wXNairW5xX --- - Analytics for Android makes it easier for you to send data to any tool without having to learn, test or implement a new API every time. +Analytics-Android makes it easier for you to send data to any tool without having to learn, test or implement a new API every time. -Analytics for Android only supports any Android device running API 14 (Android 4.0) and higher. This includes Amazon Fire devices. +Analytics-Android only supports any Android device running API 14 (Android 4.0) and higher. This includes Amazon Fire devices. > info "Analytics-Kotlin" > The Analytics-Kotlin library is in General Availability. You can use Analytics-Kotlin for [mobile](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/) or [server](/docs/connections/sources/catalog/libraries/server/kotlin) applications. If you'd like to upgrade to Analytics-Kotlin, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/migration/). Segment's future development efforts concentrate on the new Analytics-Kotlin SDK, and will only ship security updates for the Analytics-Android SDK. diff --git a/src/connections/sources/catalog/libraries/mobile/android/quickstart.md b/src/connections/sources/catalog/libraries/mobile/android/quickstart.md index 221f06e79b..0632742fa9 100644 --- a/src/connections/sources/catalog/libraries/mobile/android/quickstart.md +++ b/src/connections/sources/catalog/libraries/mobile/android/quickstart.md @@ -135,4 +135,4 @@ Once you've added a few `track` calls, **you're done!** You successfully instrum ## What's Next? -We just walked through the quickest way to get started with Segment using Analytics for Android. You might also want to check out our full [Analytics for Android reference](/docs/connections/sources/catalog/libraries/mobile/android) to see what else is possible, or read about the [Tracking API methods](/docs/connections/sources/catalog/libraries/server/http-api/) to get a sense for the bigger picture. +We just walked through the quickest way to get started with Segment using Analytics-Android. You might also want to check out Segment's full [Analytics-Android reference](/docs/connections/sources/catalog/libraries/mobile/android) to see what else is possible, or read about the [Tracking API methods](/docs/connections/sources/catalog/libraries/server/http-api/) to get a sense for the bigger picture. diff --git a/src/connections/sources/catalog/libraries/mobile/android/wear.md b/src/connections/sources/catalog/libraries/mobile/android/wear.md index 4ece7ced87..4e8727560d 100644 --- a/src/connections/sources/catalog/libraries/mobile/android/wear.md +++ b/src/connections/sources/catalog/libraries/mobile/android/wear.md @@ -1,16 +1,16 @@ --- -title: 'Analytics for Android Wear' +title: 'Analytics-Android Wear' strat: android hidden: true --- -Analytics for Android Wear makes it simple to send your data to any tool without having to learn, test or implement a new API every time. +Analytics-Android Wear makes it simple to send your data to any tool without having to learn, test, or implement a new API every time. -All of Segment's client libraries are open-source, so you can [view Analytics for Android on GitHub](https://github.com/segmentio/analytics-android), or check out our [browser and server-side libraries](/docs/connections/sources/catalog/) too. +All of Segment's client libraries are open-source, so you can [view Analytics-Android on GitHub](https://github.com/segmentio/analytics-android), or check out our [browser and server-side libraries](/docs/connections/sources/catalog/) too. ## Getting Started -To get started with Analytics for Android Wear check out our [quickstart guide](/docs/connections/sources/catalog/libraries/mobile/android/quickstart/) which will help you install analytics tracking in your mobile app in just a few minutes. Once you've installed the SDK, read on for setting it up the wear part of your App. Note that you can only use the Android SDK v2 or later with wear, and that any Beta APIs below are subject to change. +To get started with Analytics-Android Wear check out our [quickstart guide](/docs/connections/sources/catalog/libraries/mobile/android/quickstart/) which will help you install analytics tracking in your mobile app in just a few minutes. Once you've installed the SDK, read on for setting it up the wear part of your App. Note that you can only use the Android SDK v2 or later with wear, and that any Beta APIs below are subject to change. ## Adding the Wear dependency diff --git a/src/connections/sources/catalog/libraries/mobile/apple/implementation.md b/src/connections/sources/catalog/libraries/mobile/apple/implementation.md index 5bf3b35625..bc2076965f 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/implementation.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/implementation.md @@ -1,5 +1,5 @@ --- -title: Analytics for Swift Implementation Guide +title: Analytics-Swift Implementation Guide strat: swift tags: - apple diff --git a/src/connections/sources/catalog/libraries/mobile/apple/index.md b/src/connections/sources/catalog/libraries/mobile/apple/index.md index 7bcbd81ecb..b57ba18960 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/index.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/index.md @@ -152,7 +152,7 @@ See Segment's [cloud-mode destinations](/docs/connections/sources/catalog/librar ## Tools and extensions -Analytics for Swift is built with extensibility in mind. Use the tools list below to improve data collection. +Analytics-Swift is built with extensibility in mind. Use the tools list below to improve data collection. - [Plugin architecture](/docs/connections/sources/catalog/libraries/mobile/swift/swift-plugin-architecture) - [Typewriter](/docs/connections/sources/catalog/libraries/mobile/swift/swift-typewriter) diff --git a/src/connections/sources/catalog/libraries/mobile/apple/swift-destination-filters.md b/src/connections/sources/catalog/libraries/mobile/apple/swift-destination-filters.md index e2e3c6e85c..777a6e54c0 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/swift-destination-filters.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/swift-destination-filters.md @@ -1,5 +1,5 @@ --- -title: Analytics for Swift Destination Filters +title: Analytics-Swift Destination Filters strat: swift --- > info "" diff --git a/src/connections/sources/catalog/libraries/mobile/apple/swift-plugin-architecture.md b/src/connections/sources/catalog/libraries/mobile/apple/swift-plugin-architecture.md index d920206092..f4680fe3f3 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/swift-plugin-architecture.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/swift-plugin-architecture.md @@ -1,5 +1,5 @@ --- -title: Analytics for Swift Plugin Architecture +title: Analytics-Swift Plugin Architecture strat: swift --- diff --git a/src/connections/sources/catalog/libraries/mobile/apple/swift-samples.md b/src/connections/sources/catalog/libraries/mobile/apple/swift-samples.md index 9794f3e129..b1c14be228 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/swift-samples.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/swift-samples.md @@ -1,5 +1,5 @@ --- -title: Analytics for Swift Code Samples +title: Analytics-Swift Code Samples strat: swift --- diff --git a/src/connections/sources/catalog/libraries/mobile/apple/swift-typewriter.md b/src/connections/sources/catalog/libraries/mobile/apple/swift-typewriter.md index baffde1a45..770b865ef0 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/swift-typewriter.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/swift-typewriter.md @@ -1,5 +1,5 @@ --- -title: Analytics for Swift Typewriter +title: Analytics-Swift Typewriter strat: swift --- [Typewriter](https://github.com/segmentio/typewriter) is a tool for generating strongly-typed Segment analytics libraries based on your pre-defined [Tracking Plan](/docs/protocols/tracking-plan) spec. diff --git a/src/connections/sources/catalog/libraries/mobile/ios/index.md b/src/connections/sources/catalog/libraries/mobile/ios/index.md index 07090f9141..594934ad2f 100644 --- a/src/connections/sources/catalog/libraries/mobile/ios/index.md +++ b/src/connections/sources/catalog/libraries/mobile/ios/index.md @@ -1,11 +1,11 @@ --- -title: Analytics for iOS +title: Analytics-iOS strat: ios repo: analytics-ios support_type: maintenance id: UBrsG9RVzw --- -With Analytics for iOS, you can send your data to analytics or marketing tool, without needing to learn, test, or implement a new API with each update or addition. +With Analytics-iOS, you can send your data to analytics or marketing tool, without needing to learn, test, or implement a new API with each update or addition.


    @@ -57,7 +57,7 @@ When the app is terminated, Segment saves the queue to disk, and loads that data ### Install the SDK -The recommended way to install Analytics for iOS is using [Cocoapods](http://cocoapods.org/), since it means you can create a build with specific destinations, and because it makes it simple to install and upgrade. +The recommended way to install Analytics-iOS is using [CocoaPods](http://cocoapods.org/){:target="_blank"}, since it means you can create a build with specific destinations, and because it makes it simple to install and upgrade. First, add the `Analytics` dependency to your `Podfile`, like so: @@ -313,7 +313,7 @@ Analytics.shared().identify("a user's id", traits: ["email": "a user's email add
    **Parsely Parameter****Parse.ly Parameter** **Segment Property** **Data Type**
    -Analytics for iOS works on its own background thread, so it will never block the main thread for the UI or the calling thread. +Analytics-iOS works on its own background thread, so it will never block the main thread for the UI or the calling thread. Calling `- identify:` with a `userId` will write that ID to disk to be used in subsequent calls. That ID can be removed either by uninstalling the app or by calling [`reset`](#reset). diff --git a/src/connections/sources/catalog/libraries/mobile/ios/quickstart.md b/src/connections/sources/catalog/libraries/mobile/ios/quickstart.md index 73b1f131a7..f976bd00e1 100644 --- a/src/connections/sources/catalog/libraries/mobile/ios/quickstart.md +++ b/src/connections/sources/catalog/libraries/mobile/ios/quickstart.md @@ -26,7 +26,7 @@ When you create a Source in the Segment web app, it tells the Segment servers th ## Step 2: Install the SDK -Segment recommends you install Analytics for iOS by using either [Cocoapods](http://cocoapods.org/) or your Swift Package Manager. These allow you to create a build with specific bundled destinations, and they have a simplified installation and upgrading process. +Segment recommends you install Analytics-iOS by using either [CocoaPods](http://cocoapods.org/){:target="_blank"} or your Swift Package Manager. These allow you to create a build with specific bundled destinations, and they have a simplified installation and upgrading process. ### Install the SDK using Swift Package Manager @@ -234,4 +234,4 @@ Analytics.shared().flush() ## What's Next? -We just walked through the quickest way to get started with Segment using Analytics for iOS. You might also want to check out our full [Analytics for iOS reference](/docs/connections/sources/catalog/libraries/mobile/ios) to see what else is possible, or read about the [Tracking API methods](/docs/connections/sources/catalog/libraries/server/http-api/) to get a sense for the bigger picture. +We just walked through the quickest way to get started with Segment using Analytics-iOS. You might also want to check out our full [Analytics-iOS reference](/docs/connections/sources/catalog/libraries/mobile/ios) to see what else is possible, or read about the [Tracking API methods](/docs/connections/sources/catalog/libraries/server/http-api/) to get a sense for the bigger picture. diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/implementation.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/implementation.md index 372eff3a40..947e31d518 100644 --- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/implementation.md +++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/implementation.md @@ -1,5 +1,5 @@ --- -title: Analytics for Kotlin Implementation Guide +title: Analytics-Kotlin Implementation Guide strat: kotlin-android tags: - android diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/index.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/index.md index cd961ea945..fea5f89276 100644 --- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/index.md +++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/index.md @@ -1,5 +1,5 @@ --- -title: 'Analytics for Kotlin (Android)' +title: 'Analytics-Kotlin (Android)' strat: kotlin-android redirect_from: - '/connections/sources/catalog/cloud-apps/kotlin/' @@ -190,7 +190,7 @@ Destinations are the business tools or apps that Segment forwards your data to. ## Tools and extensions -Analytics for Kotlin is built with extensibility in mind. Use the tools list below to improve data collection. +Analytics-Kotlin is built with extensibility in mind. Use the tools list below to improve data collection. - [Plugin architecture](https://segment.com/docs/connections/sources/catalog/libraries/mobile/kotlin-android/destination-plugins/) - [Typewriter](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-typewriter) diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-destination-filters.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-destination-filters.md index 9becb311bf..7b83cf3b75 100644 --- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-destination-filters.md +++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-destination-filters.md @@ -1,5 +1,5 @@ --- -title: Analytics for Kotlin Destination Filters +title: Analytics-Kotlin Destination Filters strat: kotlin-android --- diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-faq.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-faq.md index 1949ab727d..8e1f3dea68 100644 --- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-faq.md +++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-faq.md @@ -1,5 +1,5 @@ --- -title: Analytics for Kotlin FAQ +title: Analytics-Kotlin FAQ strat: kotlin-android --- diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-plugin-architecture.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-plugin-architecture.md index b93b3f3922..719cf160e9 100644 --- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-plugin-architecture.md +++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-plugin-architecture.md @@ -1,5 +1,5 @@ --- -title: Analytics for Kotlin Plugin Architecture +title: Analytics-Kotlin Plugin Architecture strat: kotlin-android --- diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-samples.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-samples.md index 32809c4782..97870e04e9 100644 --- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-samples.md +++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-samples.md @@ -1,5 +1,5 @@ --- -title: Analytics for Kotlin Code Samples +title: Analytics-Kotlin Code Samples strat: swift --- diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-typewriter.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-typewriter.md index f8cd366a13..43080864d0 100644 --- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-typewriter.md +++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-typewriter.md @@ -1,5 +1,5 @@ --- -title: Analytics for Kotlin Typewriter +title: Analytics-Kotlin Typewriter strat: kotlin-android --- [Typewriter](https://github.com/segmentio/typewriter) is a tool for generating strongly-typed Segment analytics libraries based on your pre-defined [Tracking Plan](/docs/protocols/tracking-plan) spec. diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/migration.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/migration.md index 4b1a62e2be..a8ffb572f8 100644 --- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/migration.md +++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/migration.md @@ -1,5 +1,5 @@ --- -title: Analytics for Kotlin Migration Guide +title: Analytics-Kotlin Migration Guide strat: kotlin-android tags: - android @@ -386,7 +386,7 @@ If you don't need to transform all of your Segment calls, and only want to trans ## 4. Upgrade Notes > info "You might need to call Identify as a one-off after migrating to Kotlin" -> To preserve the userId for users identified prior to your migration to Kotlin, you must make a one-off Identify call. This is due to a storage format change between the Analytics for Android and Analytics-Kotlin libraries. +> To preserve the userId for users identified prior to your migration to Kotlin, you must make a one-off Identify call. This is due to a storage format change between the Analytics-Android and Analytics-Kotlin libraries. ### 4.a) Changes to the Configuration Object diff --git a/src/connections/sources/catalog/libraries/server/kotlin/index.md b/src/connections/sources/catalog/libraries/server/kotlin/index.md index 17d1a036c4..449cd79a44 100644 --- a/src/connections/sources/catalog/libraries/server/kotlin/index.md +++ b/src/connections/sources/catalog/libraries/server/kotlin/index.md @@ -1,5 +1,5 @@ --- -title: Analytics for Kotlin (Server) +title: Analytics-Kotlin (Server) redirect_from: - '/connections/sources/catalog/cloud-apps/kotlin/' id: yMu7LRR59b diff --git a/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md b/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md index 27e024a067..4228ee3bdc 100644 --- a/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md +++ b/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md @@ -36,7 +36,7 @@ You need to set up two important parts, regardless of the CDN provider you use: > If you are using a [Regional Workspace](/docs/guides/regional-segment/#client-side-sources), please note that instead of using `api.segment.io` to proxy the Tracking API, you'll be using `events.eu1.segmentapis.com` > info "" -> Segment only has the ability to enable the proxy setting for the Web (Analytics.js) source. Details for mobile source proxies are in the [Analytics for iOS](/docs/connections/sources/catalog/libraries/mobile/ios/#proxy-https-calls) and [Analytics for Android](/docs/connections/sources/catalog/libraries/mobile/android/#proxying-http-calls) documentation. It is not currently possible to set up a proxy for server sources using the Segment UI. +> Segment only has the ability to enable the proxy setting for the Web (Analytics.js) source. Details for mobile source proxies are in the [Analytics-iOS](/docs/connections/sources/catalog/libraries/mobile/ios/#proxy-https-calls) and [Analytics-Android](/docs/connections/sources/catalog/libraries/mobile/android/#proxying-http-calls) documentation. It is not currently possible to set up a proxy for server sources using the Segment UI. ## Custom Proxy setup diff --git a/src/engage/campaigns/mobile-push/index.md b/src/engage/campaigns/mobile-push/index.md index 7bea70cce8..888283c5e3 100644 --- a/src/engage/campaigns/mobile-push/index.md +++ b/src/engage/campaigns/mobile-push/index.md @@ -209,7 +209,7 @@ The previous steps are required. For configuration options, including subscripti ### Instructions for Android -Now that you've integrated Analytics for Kotlin, follow these steps to add the Engage Plugin for Android: +Now that you've integrated Analytics-Kotlin, follow these steps to add the Engage Plugin for Android: 1. Add the following to your Gradle dependencies: diff --git a/src/getting-started/02-simple-install.md b/src/getting-started/02-simple-install.md index d6d7794f27..bb23f6898a 100644 --- a/src/getting-started/02-simple-install.md +++ b/src/getting-started/02-simple-install.md @@ -160,7 +160,7 @@ Once you add a few `track` calls, you're done with setting up Segment. You succe ### Step 1: Install the SDK
    -To install Analytics for iOS, Segment recommends you to use [Cocoapods](http://cocoapods.org), because it allows you to create a build with specific bundled destinations, and because it makes it simple to install and upgrade. +To install Analytics-iOS, Segment recommends you to use [CocoaPods](http://cocoapods.org){:target="_blank"}, because it allows you to create a build with specific bundled destinations, and because it makes it simple to install and upgrade.
    1) Add the `Analytics` dependency to your `Podfile` by adding the following line: From 89079707909847464686ab5f3cbf08061028d902 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 13 Aug 2024 13:59:29 -0400 Subject: [PATCH 76/76] catalog --- src/_data/catalog/destination_categories.yml | 2 +- src/_data/catalog/destinations.yml | 472 ++++++++++++------- src/_data/catalog/destinations_private.yml | 2 +- src/_data/catalog/regional-supported.yml | 9 + src/_data/catalog/source_categories.yml | 2 +- src/_data/catalog/sources.yml | 21 +- 6 files changed, 332 insertions(+), 176 deletions(-) diff --git a/src/_data/catalog/destination_categories.yml b/src/_data/catalog/destination_categories.yml index 1072a02e0f..57f782065d 100644 --- a/src/_data/catalog/destination_categories.yml +++ b/src/_data/catalog/destination_categories.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# destination categories last updated 2024-08-09 +# destination categories last updated 2024-08-13 items: - display_name: A/B Testing slug: a-b-testing diff --git a/src/_data/catalog/destinations.yml b/src/_data/catalog/destinations.yml index d543880451..30921852a3 100644 --- a/src/_data/catalog/destinations.yml +++ b/src/_data/catalog/destinations.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# destination data last updated 2024-08-09 +# destination data last updated 2024-08-13 items: - id: 637e8d185e2dec264895ea89 display_name: 1Flow @@ -36524,14 +36524,14 @@ items: - id: 645d5fc12eb891cf0a93fe4b display_name: Facebook Custom Audiences (Actions) name: Facebook Custom Audiences (Actions) - slug: facebook-custom-audiences-actions + slug: actions-facebook-custom-audiences hidden: false endpoints: - US regions: - us-west-2 - eu-west-1 - url: connections/destinations/catalog/facebook-custom-audiences-actions + url: connections/destinations/catalog/actions-facebook-custom-audiences previous_names: - Facebook Custom Audiences (Actions) website: >- @@ -55982,7 +55982,7 @@ items: hidden: false defaultTrigger: type = "track" fields: - - id: fpEPheR55yvpnq88L8K3ec + - id: toeo6DkmR4TurSDDTA52Yg sortOrder: 0 fieldKey: eventName label: Event Name @@ -56000,7 +56000,7 @@ items: choices: null dynamic: true allowNull: false - - id: wCVPg4gyJqhmgtErxSAuuQ + - id: nEfX7HqVaDDDf34hyUkp81 sortOrder: 1 fieldKey: occurredAt label: Event Timestamp @@ -56016,7 +56016,7 @@ items: choices: null dynamic: false allowNull: false - - id: v9nTD3jmLZPa5dY3gNmtLu + - id: roeoyrLDU3srEGgHqXb7iK sortOrder: 2 fieldKey: email label: Email Address @@ -56038,7 +56038,7 @@ items: choices: null dynamic: false allowNull: false - - id: qYnXLtEcYtZDYD3iaNHnT9 + - id: 3KeVEodUpq8S2xDBXGxo6T sortOrder: 3 fieldKey: utk label: User Token @@ -56052,7 +56052,7 @@ items: choices: null dynamic: false allowNull: false - - id: mZydC3nPkefiunmiwpt8VF + - id: nTRoSPpPHV7rZg1nfayjG4 sortOrder: 4 fieldKey: objectId label: Object ID @@ -56067,7 +56067,7 @@ items: choices: null dynamic: false allowNull: false - - id: k2N8PTLbG557KpCcZZ3ZE4 + - id: k8VvRX3vHHuuNW9q1vSesf sortOrder: 5 fieldKey: properties label: Event Properties @@ -56092,7 +56092,7 @@ items: hidden: false defaultTrigger: null fields: - - id: 457ZnRrz9rNK4M6CoJYPdU + - id: bJojfxbzTTJSDfWUSDpSKV sortOrder: 0 fieldKey: createNewCustomRecord label: Create Custom Object Record if Not Found @@ -56109,7 +56109,7 @@ items: choices: null dynamic: false allowNull: false - - id: iypkuYGsJZfwp3dU37cbhy + - id: rmPaVeDHWGxcfAkcypHKa8 sortOrder: 1 fieldKey: customObjectSearchFields label: Custom Object Search Fields @@ -56124,7 +56124,7 @@ items: choices: null dynamic: false allowNull: false - - id: dFMzC1Juk5V4H6DQGNvxgb + - id: 7sCp2mi65et1Td3TDus7EK sortOrder: 2 fieldKey: objectType label: Object Type @@ -56142,7 +56142,7 @@ items: choices: null dynamic: true allowNull: false - - id: 8EuxTFRVPfHoDMyuW3NgnZ + - id: 8aDdwvCPjDBvCUYpXKBkEn sortOrder: 3 fieldKey: properties label: Properties @@ -56160,7 +56160,7 @@ items: choices: null dynamic: false allowNull: false - - id: m8jexqn9rWyhJqphKqBMLe + - id: dS9CZ1H2J8HPTPASxQ8b9h sortOrder: 4 fieldKey: searchFieldsToAssociateCustomObjects label: Search Fields to Associate custom Object @@ -56176,7 +56176,7 @@ items: choices: null dynamic: false allowNull: false - - id: w5ikpqfHs39uWxX9X7ikhf + - id: icVoxPFvnTiohrToqeaQXL sortOrder: 5 fieldKey: toObjectType label: ObjectType to associate @@ -56194,7 +56194,7 @@ items: choices: null dynamic: true allowNull: false - - id: si1t7rk3RvmP57F8R2g7JK + - id: 8na43jJAZ6A29TR4saLucm sortOrder: 6 fieldKey: associationLabel label: Association Label @@ -56214,7 +56214,7 @@ items: hidden: false defaultTrigger: type = "identify" fields: - - id: 2kZzgmkRTJjsB9EpVLVKGb + - id: 7hcPDXC11barQh582r7PAK sortOrder: 0 fieldKey: email label: Email @@ -56232,7 +56232,7 @@ items: choices: null dynamic: false allowNull: false - - id: 859iBUN6YsjH8QqUukmaQH + - id: jZaJgmo3y2cFQYHYGerXFi sortOrder: 1 fieldKey: company label: Company Name @@ -56246,7 +56246,7 @@ items: choices: null dynamic: false allowNull: false - - id: eLBHspKZvr9PiioojFNsS4 + - id: 98cCWQKHZ71hQNndy5PCDK sortOrder: 2 fieldKey: firstname label: First Name @@ -56266,7 +56266,7 @@ items: choices: null dynamic: false allowNull: false - - id: xr3uwXoWKSu5h9UsKT4WVD + - id: jP3h5xrJiJw5RBhEQegSDS sortOrder: 3 fieldKey: lastname label: Last Name @@ -56286,7 +56286,7 @@ items: choices: null dynamic: false allowNull: false - - id: 2xikAkHsDXrn1Nj16auznJ + - id: aE3cnBYNWcJ38UdhyWRjrV sortOrder: 4 fieldKey: phone label: Phone @@ -56300,7 +56300,7 @@ items: choices: null dynamic: false allowNull: false - - id: gEDsQiday52nAZNpMAqEKu + - id: 4vghby9QdNeQcN7Eg6Drsp sortOrder: 5 fieldKey: address label: Street Address @@ -56314,7 +56314,7 @@ items: choices: null dynamic: false allowNull: false - - id: kGFCNkhVbEoZ6U92YBtnUS + - id: 4BsKMTC9eQhGtiTBN6jd8z sortOrder: 6 fieldKey: city label: City @@ -56328,7 +56328,7 @@ items: choices: null dynamic: false allowNull: false - - id: mPFQ8411m6jQyJyD6uDret + - id: 2xXf5BNyhD7bvkUQCd1Afa sortOrder: 7 fieldKey: state label: State @@ -56342,7 +56342,7 @@ items: choices: null dynamic: false allowNull: false - - id: 2m6X9dYKMXPduE8fhBwA8P + - id: fSGZarH5XsWWYZaBfowBSH sortOrder: 8 fieldKey: country label: Country @@ -56356,7 +56356,7 @@ items: choices: null dynamic: false allowNull: false - - id: 4hqK642MQpa58TMDMARe4f + - id: n5cHAGkszcZvkSQUfSucNh sortOrder: 9 fieldKey: zip label: Postal Code @@ -56376,7 +56376,7 @@ items: choices: null dynamic: false allowNull: false - - id: xB2nx4DK3a6tgQJAnmdHSA + - id: mYqiWZTWWiVLFHNxwqrTPt sortOrder: 10 fieldKey: website label: Website @@ -56390,7 +56390,7 @@ items: choices: null dynamic: false allowNull: false - - id: sio4AT1b2rMU3CPJnZjrd8 + - id: aSRzt4wYiuo4ZG5u841svr sortOrder: 11 fieldKey: lifecyclestage label: Lifecycle Stage @@ -56406,7 +56406,7 @@ items: choices: null dynamic: false allowNull: false - - id: fAL1NF48zXSLA88A6CXMxp + - id: 4kVst2h8DZbA6zPU6jQTwA sortOrder: 12 fieldKey: properties label: Other properties @@ -56424,7 +56424,7 @@ items: choices: null dynamic: false allowNull: false - - id: gejqVjYJhn6XqcKhRQqdGZ + - id: 8kHsRWCJAnMhMyc1hLBMnV sortOrder: 13 fieldKey: enable_batching label: Send Batch Data to HubSpot @@ -56449,7 +56449,7 @@ items: hidden: false defaultTrigger: type = "group" fields: - - id: fXXLpEGKDoERjyaaEzwhW + - id: bucBiJyiXGHCp8vnbLwHW9 sortOrder: 0 fieldKey: groupid label: Unique Company Identifier @@ -56473,7 +56473,7 @@ items: choices: null dynamic: false allowNull: false - - id: mJqWCMVVgxQDShJQuaNGu4 + - id: jjyHmS6u7tL5ZeZcYcF2m8 sortOrder: 1 fieldKey: createNewCompany label: Create Company if Not Found @@ -56490,7 +56490,7 @@ items: choices: null dynamic: false allowNull: false - - id: 9ak6TSdps1FG2Ri6HkS5aY + - id: 4tWKovLXkTgFhRH9hckCbH sortOrder: 2 fieldKey: associateContact label: Associate Contact with Company @@ -56509,7 +56509,7 @@ items: choices: null dynamic: false allowNull: false - - id: iY45Uns9sESBARF8V2moJ2 + - id: fq4eMqdfCNjbxYGmf83KbH sortOrder: 3 fieldKey: companysearchfields label: Company Search Fields @@ -56526,7 +56526,7 @@ items: choices: null dynamic: false allowNull: false - - id: bcL8H9Y1gYixVn4kUEEk43 + - id: cvtwjMDR5cXEmfyLdxgBM2 sortOrder: 4 fieldKey: name label: Company Name @@ -56540,7 +56540,7 @@ items: choices: null dynamic: false allowNull: false - - id: b4ceyDdMErAYNGQQJfoAEm + - id: a5dS7GeLB4ZLegzMfnnvMt sortOrder: 5 fieldKey: description label: Company Description @@ -56554,7 +56554,7 @@ items: choices: null dynamic: false allowNull: false - - id: A626ZMFpH8g9KPeot9X1W + - id: eqNUmdLstoadsdcAzWhx2r sortOrder: 6 fieldKey: address label: Street Address @@ -56568,7 +56568,7 @@ items: choices: null dynamic: false allowNull: false - - id: pvNTui8izEtnL73W5HrBmd + - id: xsy8QEAKiVTDPeQhwQif4C sortOrder: 7 fieldKey: city label: City @@ -56582,7 +56582,7 @@ items: choices: null dynamic: false allowNull: false - - id: eXYy4ZjLcCGuo1yPJadPhT + - id: i2YuARc741tHFvEm2iDCh2 sortOrder: 8 fieldKey: state label: State @@ -56596,7 +56596,7 @@ items: choices: null dynamic: false allowNull: false - - id: 4kPeh6T7MAzrRt3FzTf5yh + - id: oi9fSsxDcMSnUggNXcQVwh sortOrder: 9 fieldKey: zip label: Postal Code @@ -56616,7 +56616,7 @@ items: choices: null dynamic: false allowNull: false - - id: unxTCRqh2LKkLhrMUQricK + - id: 8UErDTur4YwgYaBhvH4yaW sortOrder: 10 fieldKey: domain label: Domain @@ -56630,7 +56630,7 @@ items: choices: null dynamic: false allowNull: false - - id: hsVcEbBsJd9iwbTU6gyNyo + - id: d1uQ1b4wFsc4iarj7iG8Ns sortOrder: 11 fieldKey: phone label: Phone @@ -56644,7 +56644,7 @@ items: choices: null dynamic: false allowNull: false - - id: sST2HDwRdXHgE3ULSrSWuE + - id: mLVLtPuxVgdPvdPUWuxES5 sortOrder: 12 fieldKey: numberofemployees label: Number of Employees @@ -56658,7 +56658,7 @@ items: choices: null dynamic: false allowNull: false - - id: fidzNXRcPPt6QHEEXt7g2q + - id: 8tT8mtRajcxz6kHMk3vm3d sortOrder: 13 fieldKey: industry label: Industry @@ -56672,7 +56672,7 @@ items: choices: null dynamic: false allowNull: false - - id: dthQnQhuZAQ7toBmtEp4Kn + - id: wnNMANnkacjy52LjVUBrZV sortOrder: 14 fieldKey: lifecyclestage label: Lifecycle Stage @@ -56688,7 +56688,7 @@ items: choices: null dynamic: false allowNull: false - - id: afYq4EdW52UupPX3CLWs5F + - id: 2Mm9LRz4G88e8B9bFCTZL1 sortOrder: 15 fieldKey: properties label: Other Properties @@ -56709,16 +56709,16 @@ items: dynamic: false allowNull: false - id: dMYued7r3VjK4c2gBWUTZi - name: Upsert Object + name: Custom Object slug: upsertObject description: >- - Upsert a record of any Object type to HubSpot and optionally assocate it - with another record of any Object type. + Add, create or update records of any Object type to HubSpot, and + optionally assocate that record with other records of any Object type. platform: CLOUD hidden: false defaultTrigger: null fields: - - id: rutv5FCbtnY3ybyUtpefEM + - id: n4yR731wRHzoCewFqYj4nm sortOrder: 0 fieldKey: object_details label: Object Details @@ -56730,7 +56730,7 @@ items: choices: null dynamic: false allowNull: false - - id: 2pkTFQJEFjaboEvsTXq1oD + - id: k2otUczSks1X4WS9yG4349 sortOrder: 1 fieldKey: properties label: Properties @@ -56742,9 +56742,9 @@ items: choices: null dynamic: true allowNull: false - - id: e7TK9ZggZcuTjK4QheHzj7 + - id: niaJNoh7xwyG4hbMaigJSa sortOrder: 2 - fieldKey: sensitiveProperties + fieldKey: sensitive_properties label: Sensitive Properties type: OBJECT description: Sensitive Properties to set on the record. @@ -56754,7 +56754,7 @@ items: choices: null dynamic: true allowNull: false - - id: w3yq2kEaVYM7U3u7wVVgqN + - id: 5zQGCBwX33opbupc7RUFBS sortOrder: 3 fieldKey: association_sync_mode label: Associated Record Sync Mode @@ -56774,7 +56774,7 @@ items: value: read dynamic: false allowNull: false - - id: 5jEUJ27KoyV2gid1dAkZfH + - id: 7rmFUtdTJ5MS9EwiEC52o4 sortOrder: 4 fieldKey: associations label: Associations @@ -56786,6 +56786,64 @@ items: choices: null dynamic: false allowNull: false + - id: mRG4EEHrTjKLyAfzbKhUZ9 + name: Custom Event + slug: customEvent + description: Send Custom Events to HubSpot + platform: CLOUD + hidden: false + defaultTrigger: null + fields: + - id: hYuaczJcqtewcmae6SYu7z + sortOrder: 0 + fieldKey: event_name + label: Event Name + type: STRING + description: The name of the event to send to Hubspot. + placeholder: '' + required: true + multiple: false + choices: null + dynamic: true + allowNull: false + - id: aMqpW21ruPeMb13StjBGP1 + sortOrder: 1 + fieldKey: record_details + label: Associated Record Details + type: OBJECT + description: Details of the record to associate the event with + placeholder: '' + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: agPnnKb9D9XaYdiLAmbNZ6 + sortOrder: 2 + fieldKey: properties + label: Properties + type: OBJECT + description: Properties to send with the event. + placeholder: '' + required: false + multiple: false + choices: null + dynamic: true + allowNull: false + - id: hWutWFtVU732SfYFMd8izR + sortOrder: 3 + fieldKey: occurred_at + label: Event Timestamp + type: DATETIME + description: The time when this event occurred. + placeholder: '' + defaultValue: + '@path': $.timestamp + required: false + multiple: false + choices: null + dynamic: false + allowNull: false presets: [] partnerOwned: false - id: 631a1c2bfdce36a23f0a14ec @@ -67529,7 +67587,7 @@ items: hidden: false defaultTrigger: type = "identify" fields: - - id: kgB8Ye3eNHJG7mqLrex9MJ + - id: bRLnC5Mw6zqoTFwchKts2L sortOrder: 0 fieldKey: email label: Email @@ -67545,7 +67603,7 @@ items: choices: null dynamic: false allowNull: false - - id: cFFvFik1r3Y6f4u1xaCfjV + - id: nrUBdaeMmGBD5VNMV1Nwxo sortOrder: 1 fieldKey: enable_batching label: Batch Data to Klaviyo @@ -67557,7 +67615,7 @@ items: choices: null dynamic: false allowNull: false - - id: 5anhv2dHNzLhxcacfaUjUp + - id: 3H9zbkQwHRgrv8WGsJ2pT7 sortOrder: 2 fieldKey: phone_number label: Phone Number @@ -67574,7 +67632,7 @@ items: choices: null dynamic: false allowNull: false - - id: rbV6Cd4A2oUN6D3RbaZtSC + - id: 66WBmSfUSCCBfJc8DTQ57X sortOrder: 3 fieldKey: external_id label: External ID @@ -67589,7 +67647,7 @@ items: choices: null dynamic: false allowNull: false - - id: 27oBxL9SgP67rEnzAk8Ljr + - id: kjqNVkyt56G9WnKR1fNwZN sortOrder: 4 fieldKey: first_name label: First Name @@ -67603,7 +67661,7 @@ items: choices: null dynamic: false allowNull: false - - id: bhRM2i2XhkXXFLrEkDsrXZ + - id: kdwuBAnx1nRNU6vyLUgrRd sortOrder: 5 fieldKey: last_name label: Last Name @@ -67617,7 +67675,7 @@ items: choices: null dynamic: false allowNull: false - - id: dBpcvweNsoXdZ1Nztd7txD + - id: 4NvKYsAoHfeNXto6Bhe3YD sortOrder: 6 fieldKey: organization label: Organization @@ -67633,7 +67691,7 @@ items: choices: null dynamic: false allowNull: false - - id: mEpbtQe8crHDQxEtznrJuZ + - id: on7v5gAELgcwvK4ZJb7F9e sortOrder: 7 fieldKey: title label: Title @@ -67647,7 +67705,7 @@ items: choices: null dynamic: false allowNull: false - - id: gCCLaXJu3grmBpE2zNAN93 + - id: iqxooi291vk6Fmj5GwZEYv sortOrder: 8 fieldKey: image label: Image @@ -67661,7 +67719,7 @@ items: choices: null dynamic: false allowNull: false - - id: hikxxC1Uu5R2aKZyT5GSf5 + - id: abHHShuWiArzHSsPKzjD7J sortOrder: 9 fieldKey: location label: Location @@ -67684,7 +67742,7 @@ items: choices: null dynamic: false allowNull: false - - id: 6tW7iUfc6QKqANd3K9PURE + - id: pPBkxnksZgZyKHVCcPP6bu sortOrder: 10 fieldKey: properties label: Properties @@ -67700,7 +67758,7 @@ items: choices: null dynamic: false allowNull: false - - id: fwesA8Qp5ReXbWYTkBPdvT + - id: dgPwaBFkgTuhkdmySWi63R sortOrder: 11 fieldKey: list_id label: List @@ -67712,7 +67770,7 @@ items: choices: null dynamic: true allowNull: false - - id: gi8yWP8Zst7evU56sjtsEe + - id: x7nVuj9deAMXEQSJfbrEry sortOrder: 14 fieldKey: list_identifier label: Existing List ID @@ -67726,7 +67784,7 @@ items: choices: null dynamic: true allowNull: false - - id: 9yGqnjaH5YEfkV9KbSnsj2 + - id: wZDR8SQjmePGDEZDrMwjJX sortOrder: 15 fieldKey: list_name label: Name of list to create @@ -67738,7 +67796,7 @@ items: choices: null dynamic: false allowNull: false - - id: sSRrHQRHZJJopm7HVh3XW9 + - id: jy51U1Aq6P3aST7VsvUkJ3 sortOrder: 16 fieldKey: retlOnMappingSave label: Connect to a static list in Klaviyo @@ -67761,7 +67819,7 @@ items: hidden: false defaultTrigger: type = "track" fields: - - id: iVvT8wcV5e7pdCKChY19pZ + - id: vqgDr8C4tCTkSTXonzwJkt sortOrder: 0 fieldKey: profile label: Profile @@ -67773,7 +67831,7 @@ items: choices: null dynamic: false allowNull: false - - id: xtoXpRuMwR39jo2f3kThZ7 + - id: bXVwKLN3nDdC2nFFecmruV sortOrder: 1 fieldKey: properties label: Properties @@ -67787,7 +67845,7 @@ items: choices: null dynamic: false allowNull: false - - id: 8q1YWKkNhU1Ru5JEBpdLAf + - id: uXsqauyzBB5cvJbsQuohNg sortOrder: 2 fieldKey: time label: Time @@ -67806,7 +67864,7 @@ items: choices: null dynamic: false allowNull: false - - id: wZJFG4Tmvs4cSh9k2cm8E5 + - id: erMjHBypceVyF2EcnvqJqK sortOrder: 3 fieldKey: value label: Value @@ -67820,7 +67878,7 @@ items: choices: null dynamic: false allowNull: false - - id: rn2T8zZw4YH4t68RWHDAdG + - id: o4znHAffHb5sur9mySEQBB sortOrder: 4 fieldKey: unique_id label: Unique ID @@ -67840,7 +67898,7 @@ items: choices: null dynamic: false allowNull: false - - id: bG7zYXyafin16xp4D2Sacm + - id: f42mpLVbxoujMd38amEK3S sortOrder: 5 fieldKey: products label: Products @@ -67852,6 +67910,19 @@ items: choices: null dynamic: false allowNull: false + - id: qCVGRJHiJrtC7RUSE8kwxj + sortOrder: 6 + fieldKey: event_name + label: Event Name + type: STRING + description: Name of the event. This will be used as the metric name in Klaviyo. + placeholder: '' + defaultValue: Order Completed + required: false + multiple: false + choices: null + dynamic: false + allowNull: false - id: f5syVWBeSA4KrrH3Yv5Q2N name: Track Event slug: trackEvent @@ -67860,7 +67931,7 @@ items: hidden: false defaultTrigger: type = "track" fields: - - id: bHUDdcqB7EAGyKchQKWs46 + - id: vCE1MBgiur1U5VTKMeCRcK sortOrder: 0 fieldKey: profile label: Profile @@ -67872,7 +67943,7 @@ items: choices: null dynamic: false allowNull: false - - id: hCgsbVorDYwgTCTMUGHsDS + - id: 9zpDB5j1sFXxxisvFStyuh sortOrder: 1 fieldKey: metric_name label: Metric Name @@ -67886,7 +67957,7 @@ items: choices: null dynamic: false allowNull: false - - id: a5fMnzUVMAtST6xBWZBB2n + - id: cjvcMiDfbRd6FaNRgjRSRH sortOrder: 2 fieldKey: properties label: Properties @@ -67900,7 +67971,7 @@ items: choices: null dynamic: false allowNull: false - - id: 6Sj8j5oauEaKdifsFKToZZ + - id: sQXGZzAkkDBQGJkaJmya2s sortOrder: 3 fieldKey: time label: Time @@ -67919,7 +67990,7 @@ items: choices: null dynamic: false allowNull: false - - id: fLVVnbb78NWXAvFvaFzvam + - id: aYfTbbVEtC6YLyw89CYB7M sortOrder: 4 fieldKey: value label: Value @@ -67933,7 +68004,7 @@ items: choices: null dynamic: false allowNull: false - - id: k3uhLA48oZwtLcJJfWSmjn + - id: uonAjETeAHVSWGLvKkj87m sortOrder: 5 fieldKey: unique_id label: Unique ID @@ -67961,7 +68032,7 @@ items: hidden: false defaultTrigger: event = "Audience Exited" fields: - - id: prqNt8bdDcdVfv92L6WGv3 + - id: pcEyvKqfjSRLUGsywUhkaW sortOrder: 0 fieldKey: email label: Email @@ -67975,7 +68046,7 @@ items: choices: null dynamic: false allowNull: false - - id: ekgrXq3p4RbujULXZq1wG5 + - id: iWjd3zadxbXRERyFcJ6WoV sortOrder: 1 fieldKey: external_id label: External ID @@ -67989,8 +68060,25 @@ items: choices: null dynamic: false allowNull: false - - id: kGATU2qAspvsUAskBTTd5N + - id: 9p5sWC3ZQ7XuZ2qEADr52D sortOrder: 3 + fieldKey: phone_number + label: Phone Number + type: STRING + description: >- + Individual's phone number in E.164 format. If SMS is not enabled and if + you use Phone Number as identifier, then you have to provide one of + Email or External ID. + placeholder: '' + defaultValue: + '@path': $.context.traits.phone + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: fJyeWLhTDNt26HivEeWf3n + sortOrder: 4 fieldKey: enable_batching label: Batch Data to Klaviyo type: BOOLEAN @@ -68010,7 +68098,7 @@ items: hidden: false defaultTrigger: event = "Audience Entered" fields: - - id: 9XJTjboBfbBxnonzrkYSku + - id: 8qsDJwzd5UwFCwgQtophNq sortOrder: 0 fieldKey: email label: Email @@ -68024,8 +68112,25 @@ items: choices: null dynamic: false allowNull: false - - id: 5s4Xt1hP1RzX3FT8V8yUya - sortOrder: 2 + - id: 59xyBc8Brx3fLYFTeNM1YA + sortOrder: 1 + fieldKey: phone_number + label: Phone Number + type: STRING + description: >- + Individual's phone number in E.164 format. If SMS is not enabled and if + you use Phone Number as identifier, then you have to provide one of + Email or External ID. + placeholder: '' + defaultValue: + '@path': $.context.traits.phone + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: v6ZkZMgqskZqgPa9yX5aCG + sortOrder: 3 fieldKey: external_id label: External ID type: STRING @@ -68038,8 +68143,8 @@ items: choices: null dynamic: false allowNull: false - - id: 8JyG3McJ5X73pYBwQe8QEZ - sortOrder: 3 + - id: qi3sbwbBRPNXor9KrqkqVp + sortOrder: 4 fieldKey: enable_batching label: Batch Data to Klaviyo type: BOOLEAN @@ -68051,8 +68156,8 @@ items: choices: null dynamic: false allowNull: false - - id: sSpxzRridLW1EfGvppkdQZ - sortOrder: 5 + - id: bJjiMAA6yppp9bzggE1Ejo + sortOrder: 6 fieldKey: first_name label: First Name type: STRING @@ -68065,8 +68170,8 @@ items: choices: null dynamic: false allowNull: false - - id: 6hqzPHH8TrTW2GLeoYF2v8 - sortOrder: 6 + - id: mSfesQxmStxGJZ7MQVTwvs + sortOrder: 7 fieldKey: last_name label: Last Name type: STRING @@ -68079,8 +68184,8 @@ items: choices: null dynamic: false allowNull: false - - id: tG5gGEiLVXcXjEjyA6GURp - sortOrder: 7 + - id: 2kJAPadwf45xgnEHq5VZUv + sortOrder: 8 fieldKey: image label: Image type: STRING @@ -68093,8 +68198,8 @@ items: choices: null dynamic: false allowNull: false - - id: igPTZPQhm1dVRJBcTm8dwD - sortOrder: 8 + - id: wU67kj4TSCG2KttZhQByWH + sortOrder: 9 fieldKey: title label: Title type: STRING @@ -68107,8 +68212,8 @@ items: choices: null dynamic: false allowNull: false - - id: 8EiWEFfTPfMSuvQ9vxxPCP - sortOrder: 9 + - id: trn6Fe4UFzwSVAu3p61USV + sortOrder: 10 fieldKey: organization label: Organization type: STRING @@ -68123,8 +68228,8 @@ items: choices: null dynamic: false allowNull: false - - id: 9kR65UwAU42VBkH3LNe7i2 - sortOrder: 10 + - id: 29YPZ6e8K1RhgkiKgG41E1 + sortOrder: 11 fieldKey: location label: Location type: OBJECT @@ -68146,8 +68251,8 @@ items: choices: null dynamic: false allowNull: false - - id: tXk7aXmYJufVimC2WMb8JY - sortOrder: 11 + - id: 72Vyt4Ugb34qHJeg2X798o + sortOrder: 12 fieldKey: properties label: Properties type: OBJECT @@ -68170,7 +68275,7 @@ items: hidden: false defaultTrigger: event = "Identify" fields: - - id: jNB2XzxP7oCW9qFmAz4er2 + - id: uvX3BxT1WNMKb9jWbCwjxv sortOrder: 0 fieldKey: email label: Email @@ -68184,7 +68289,7 @@ items: choices: null dynamic: false allowNull: false - - id: stwndf3fa7NX92kHgZtGFB + - id: kxv1sHqTJAQKPF5ZGTDLDe sortOrder: 1 fieldKey: external_id label: External ID @@ -68199,7 +68304,7 @@ items: choices: null dynamic: false allowNull: false - - id: aBg1gbD3btiN9FjKoUaVnE + - id: fPxyQZRsyJttZFTCry96cb sortOrder: 2 fieldKey: list_id label: List @@ -68211,7 +68316,7 @@ items: choices: null dynamic: true allowNull: false - - id: k65itfzwHJMM8Jgs6Rrvt4 + - id: irjgB5JVKbsQ18F6JdPANw sortOrder: 3 fieldKey: enable_batching label: Batch Data to Klaviyo @@ -68224,6 +68329,23 @@ items: choices: null dynamic: false allowNull: false + - id: 888Je3FviUxCtXcwRkRGEc + sortOrder: 4 + fieldKey: phone_number + label: Phone Number + type: STRING + description: >- + Individual's phone number in E.164 format. If SMS is not enabled and if + you use Phone Number as identifier, then you have to provide one of + Email or External ID. + placeholder: '' + defaultValue: + '@path': $.traits.phone + required: false + multiple: false + choices: null + dynamic: false + allowNull: false - id: hrZ9JVS64P91hUzaT6wLPm name: Subscribe Profile slug: subscribeProfile @@ -68232,7 +68354,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "User Subscribed" fields: - - id: 4XFnDMCHqaHB6wbRtb5yuK + - id: hLvQZ6UpSj6bCHFQMYvP5R sortOrder: 0 fieldKey: email label: Email @@ -68254,7 +68376,7 @@ items: choices: null dynamic: false allowNull: false - - id: usGYu7N7BRbtdabxvMqfSt + - id: obT42fx4vyu6wgUEvZHt31 sortOrder: 1 fieldKey: phone_number label: Phone Number @@ -68276,7 +68398,7 @@ items: choices: null dynamic: false allowNull: false - - id: brGjjbLnvesAhLhBPPfZYP + - id: 6kDYaFKfovY4BaiMYdhux1 sortOrder: 2 fieldKey: list_id label: List Id @@ -68291,7 +68413,7 @@ items: choices: null dynamic: true allowNull: false - - id: 3N6PL1cajHLVrE4sHUmxW8 + - id: vdnxVXNwZDacdGEoeuHDS8 sortOrder: 3 fieldKey: custom_source label: Custom Source ($source) @@ -68308,7 +68430,7 @@ items: choices: null dynamic: false allowNull: false - - id: gcmVCZMArLMWgfHTTZ2mA6 + - id: cFaergybbtGKKsn7ywART sortOrder: 4 fieldKey: consented_at label: Consented At @@ -68322,7 +68444,7 @@ items: choices: null dynamic: false allowNull: false - - id: 8WPSMDboKQdPtxG7Wvne9z + - id: 5ZwaBMPavftqzCTi5T2bMu sortOrder: 5 fieldKey: enable_batching label: Batch Data to Klaviyo @@ -68342,7 +68464,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "User Unsubscribed" fields: - - id: 5TQyJdUKXpa9rCWpA3JAaL + - id: eQTihtmkoFaFSsTWnCVHZM sortOrder: 0 fieldKey: email label: Email @@ -68364,7 +68486,7 @@ items: choices: null dynamic: false allowNull: false - - id: cvrcETvJD7CtCtsmT4hMhW + - id: sDn4R2zoWyzpBdBVBbBmaJ sortOrder: 1 fieldKey: phone_number label: Phone Number @@ -68386,7 +68508,7 @@ items: choices: null dynamic: false allowNull: false - - id: 3n4CSL9D8p9oU38uYbXc5w + - id: BzCjpPrWrzbie7qftSk2t sortOrder: 2 fieldKey: list_id label: List Id @@ -68400,7 +68522,7 @@ items: choices: null dynamic: true allowNull: false - - id: pNdHKaws6TPXBJ8WCb57Ks + - id: kSsmY9BdjYkY71H7ThkxcW sortOrder: 3 fieldKey: enable_batching label: Batch Data to Klaviyo @@ -70021,7 +70143,7 @@ items: hidden: false defaultTrigger: type = "track" fields: - - id: ttZFa3ePvTMVgpiKiEKRxb + - id: ms7151nfocV6o3SSDGJtEy sortOrder: 0 fieldKey: conversionHappenedAt label: Timestamp @@ -70038,7 +70160,7 @@ items: choices: null dynamic: false allowNull: false - - id: qDa2X6fpjD2HjGRCLKr7aV + - id: jhbpGcydKqD6CXqdnt6Bz4 sortOrder: 1 fieldKey: conversionValue label: Conversion Value @@ -70057,7 +70179,7 @@ items: choices: null dynamic: false allowNull: false - - id: 9vnTyhN6sQKsn83mbbfRtt + - id: dMtBhyAV6S5wzQSTkG1zjq sortOrder: 2 fieldKey: eventId label: Event ID @@ -70073,7 +70195,7 @@ items: choices: null dynamic: false allowNull: false - - id: 3vFYDU8SiJU7JkRVfcbEfM + - id: dNFNaSGpDhkYnshaYVgViG sortOrder: 3 fieldKey: email label: Email @@ -70090,7 +70212,7 @@ items: choices: null dynamic: false allowNull: false - - id: c38o7gni9dsLvQ2mMNvZLp + - id: rccrWapaSbmEXLb5gFfXxn sortOrder: 4 fieldKey: linkedInUUID label: LinkedIn First Party Ads Tracking UUID @@ -70107,7 +70229,7 @@ items: choices: null dynamic: false allowNull: false - - id: bxz3ZiYN69JtKHRUMV1ZzR + - id: 21mBVYkuBWqMybZRvdg7nt sortOrder: 5 fieldKey: acxiomID label: Acxiom ID @@ -70121,7 +70243,7 @@ items: choices: null dynamic: false allowNull: false - - id: nQrNduKvXEDzeZLiCFpetj + - id: tedwaFr9TZXroohSboGqA sortOrder: 6 fieldKey: oracleID label: Oracle ID @@ -70136,7 +70258,7 @@ items: choices: null dynamic: false allowNull: false - - id: oEHnop4FE7g1K3v58mXKUH + - id: pX76XhUEzxGSJuDz5bke7F sortOrder: 7 fieldKey: userInfo label: User Info @@ -70150,8 +70272,8 @@ items: choices: null dynamic: false allowNull: false - - id: 8XbbzvWqfHS2CnP5xroUnv - sortOrder: 8 + - id: n4MERbsro71XDMjhYxQHAQ + sortOrder: 10 fieldKey: adAccountId label: Ad Account type: STRING @@ -70162,8 +70284,8 @@ items: choices: null dynamic: true allowNull: false - - id: a9cix4ajiPCkRrzK2GskF9 - sortOrder: 9 + - id: 3LTwAbdfcaWWy1jfV6bmKP + sortOrder: 11 fieldKey: campaignId label: Add Campaigns to Conversion type: STRING @@ -70178,8 +70300,8 @@ items: choices: null dynamic: true allowNull: false - - id: xmmAibWFnzdjAQRtmVhPnp - sortOrder: 10 + - id: bg16V7hYY13dRWqmiKw5Ps + sortOrder: 12 fieldKey: conversionRuleId label: Existing Conversion Rule ID type: STRING @@ -70192,8 +70314,8 @@ items: choices: null dynamic: true allowNull: false - - id: sqRRMDCBS72wqKcj3x1M6n - sortOrder: 11 + - id: eSL5HpDVMziqyR8UPctZBj + sortOrder: 13 fieldKey: name label: Name type: STRING @@ -70204,8 +70326,8 @@ items: choices: null dynamic: false allowNull: false - - id: 9Rvza87eBc7vQHXLK6HGEb - sortOrder: 12 + - id: tjMYBFMoqNufoGKknBNrYw + sortOrder: 14 fieldKey: conversionType label: Conversion Type type: STRING @@ -70288,8 +70410,8 @@ items: value: SALES_QUALIFIED_LEAD dynamic: false allowNull: false - - id: wNkv9vT1FDVoXWkQKQcoSo - sortOrder: 13 + - id: nuEpAMc8AMiVpHrs2BXPCZ + sortOrder: 15 fieldKey: attribution_type label: Attribution Type type: STRING @@ -70304,8 +70426,8 @@ items: value: LAST_TOUCH_BY_CONVERSION dynamic: false allowNull: false - - id: rv8ryaiuQC78cK9hnFSANv - sortOrder: 14 + - id: gP1KM73cps6TcF8FSMTYys + sortOrder: 16 fieldKey: post_click_attribution_window_size label: Post-Click Attribution Window Size type: NUMBER @@ -70328,8 +70450,8 @@ items: value: 90 dynamic: false allowNull: false - - id: 8FbAEBwkMEvBuR7tzp1ujs - sortOrder: 15 + - id: foiETdHgDxpXAgmkTuwfn3 + sortOrder: 17 fieldKey: view_through_attribution_window_size label: View-Through Attribution Window Size type: NUMBER @@ -70352,8 +70474,8 @@ items: value: 90 dynamic: false allowNull: false - - id: xx4ATBDA2cawRcmrCNHV7P - sortOrder: 16 + - id: 5A4U7TkNqbE3Q9Be4ShESu + sortOrder: 18 fieldKey: onMappingSave label: Create a Conversion Rule type: OBJECT @@ -93706,7 +93828,7 @@ items: hidden: false defaultTrigger: type = "track" fields: - - id: 8Q57srDWcEeVfaNw3vgBUm + - id: 5tMDrWS3u2z3nT2E1NL4nn sortOrder: 0 fieldKey: event_name label: Event name @@ -93720,7 +93842,7 @@ items: choices: null dynamic: false allowNull: false - - id: kXQPxKJKm1Sbgrx8VRd4Zt + - id: dVTbj2bYBhTevFgzFyT56u sortOrder: 1 fieldKey: company_keys label: Company keys @@ -93732,7 +93854,7 @@ items: choices: null dynamic: false allowNull: false - - id: syUBVxFsK3wmubUYVVFKYx + - id: kzjR4Eunn66NYf1RYNg2TH sortOrder: 2 fieldKey: timestamp label: Timestamp @@ -93746,7 +93868,7 @@ items: choices: null dynamic: false allowNull: false - - id: oCXdLyC4a1hnhgUuFtieUp + - id: aDZyL7eN6hSbFf9ovB6Znp sortOrder: 3 fieldKey: user_keys label: User keys @@ -93754,14 +93876,14 @@ items: description: 'Key-value pairs associated with a user (e.g. email: example@example.com)' placeholder: '' defaultValue: - user_id: + userId: '@path': $.userId required: false multiple: false choices: null dynamic: false allowNull: false - - id: oY3KENsJJN6t3cw3iMWkF1 + - id: aLqZ8FnZuytLiVd9SYr6sf sortOrder: 4 fieldKey: traits label: Traits @@ -93784,19 +93906,22 @@ items: hidden: false defaultTrigger: type = "identify" fields: - - id: pap313BJW93bR7PPXE4Y68 + - id: g5iXNMFc4CeMpCvhvNEA6W sortOrder: 0 fieldKey: company_keys label: Company keys type: OBJECT description: 'Key-value pairs associated with a company (e.g. organization_id: 123456)' placeholder: '' + defaultValue: + groupId: + '@path': $.context.groupId required: true multiple: false choices: null dynamic: false allowNull: false - - id: qigwmUkUmVtK94aiFcMZy6 + - id: e5itnLSbMCDiQDd7ktTTPF sortOrder: 1 fieldKey: company_name label: Company name @@ -93810,7 +93935,7 @@ items: choices: null dynamic: false allowNull: false - - id: cB8vGm4LK8DrmmahbcqfkV + - id: p9RKn4rjGwCGWpkkp4Tmn1 sortOrder: 2 fieldKey: company_traits label: Company traits @@ -93822,7 +93947,7 @@ items: choices: null dynamic: false allowNull: false - - id: mu5HHPBZg83byCqVURp8kS + - id: n1M2Dk4K45Md5Q6YMP4s1g sortOrder: 3 fieldKey: timestamp label: Timestamp @@ -93836,7 +93961,7 @@ items: choices: null dynamic: false allowNull: false - - id: jmVXg1fmRmmqhtfKqF8ih + - id: 2PpbybCe9PPXpNRsGbEVhk sortOrder: 4 fieldKey: user_keys label: User keys @@ -93844,14 +93969,14 @@ items: description: 'Key-value pairs associated with a user (e.g. email: example@example.com)' placeholder: '' defaultValue: - user_id: + userId: '@path': $.userId required: true multiple: false choices: null dynamic: false allowNull: false - - id: 7uWXMaVNmKfq1yCttGqEoG + - id: fc7xEbEygJdrHu7QXoTcfZ sortOrder: 5 fieldKey: user_name label: User name @@ -93865,7 +93990,7 @@ items: choices: null dynamic: false allowNull: false - - id: 4voNJ67Ugmac4iWfaKW6ni + - id: vMKePBPfBqZkwVHXZ75Qsq sortOrder: 6 fieldKey: user_traits label: User traits @@ -93878,19 +94003,6 @@ items: dynamic: false allowNull: false presets: - - actionId: eqNzhvvxtviHtCcgYMj9Ld - name: Identify User - fields: - company_name: - '@path': $.traits.company_name - timestamp: - '@path': $.timestamp - user_keys: - user_id: - '@path': $.userId - user_name: - '@path': $.traits.name - trigger: type = "identify" - actionId: 2p77weRw8N7g3kHDC6Vbod name: Track Event fields: @@ -93899,12 +94011,28 @@ items: timestamp: '@path': $.timestamp user_keys: - user_id: + userId: '@path': $.userId traits: raw_event_name: '@path': $.event trigger: type = "track" + - actionId: eqNzhvvxtviHtCcgYMj9Ld + name: Identify User + fields: + company_keys: + groupId: + '@path': $.context.groupId + company_name: + '@path': $.traits.company_name + timestamp: + '@path': $.timestamp + user_keys: + userId: + '@path': $.userId + user_name: + '@path': $.traits.name + trigger: type = "identify" partnerOwned: true - id: 5c6cb84c9d413f0001804a42 display_name: ScopeAI diff --git a/src/_data/catalog/destinations_private.yml b/src/_data/catalog/destinations_private.yml index ee620ce6a6..c209704057 100644 --- a/src/_data/catalog/destinations_private.yml +++ b/src/_data/catalog/destinations_private.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# destination data last updated 2024-08-09 +# destination data last updated 2024-08-13 items: - id: 54521fd925e721e32a72eee1 display_name: Pardot diff --git a/src/_data/catalog/regional-supported.yml b/src/_data/catalog/regional-supported.yml index 1eaf2f704e..7d2b87c8b8 100644 --- a/src/_data/catalog/regional-supported.yml +++ b/src/_data/catalog/regional-supported.yml @@ -87,6 +87,15 @@ sources: - us endpoints: - us + - id: E5Y3BqhAg2 + display_name: Authvia + hidden: false + slug: authvia + url: connections/sources/catalog/cloud-apps/authvia + regions: + - us + endpoints: + - us - id: R7eWaTLYUs display_name: AutopilotHQ hidden: false diff --git a/src/_data/catalog/source_categories.yml b/src/_data/catalog/source_categories.yml index c2c4401d85..5001e1a1b6 100644 --- a/src/_data/catalog/source_categories.yml +++ b/src/_data/catalog/source_categories.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# source categories last updated 2024-08-09 +# source categories last updated 2024-08-13 items: - display_name: A/B Testing slug: a-b-testing diff --git a/src/_data/catalog/sources.yml b/src/_data/catalog/sources.yml index c78e3930e3..eddb3f265e 100644 --- a/src/_data/catalog/sources.yml +++ b/src/_data/catalog/sources.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# sources last updated 2024-08-09 +# sources last updated 2024-08-13 items: - id: 8HWbgPTt3k display_name: .NET @@ -177,6 +177,25 @@ items: url: https://cdn.filepicker.io/api/file/qWgSP5cpS7eeW2voq13u categories: - Mobile + - id: E5Y3BqhAg2 + display_name: Authvia + isCloudEventSource: true + slug: authvia + url: connections/sources/catalog/cloud-apps/authvia + hidden: false + regions: + - us + endpoints: + - us + source_type: cloud-app + description: >- + Authvia enables businesses to collect payments via text, chat and instant + messaging—the way your customers want to pay. + logo: + url: >- + https://cdn-devcenter.segment.com/cd43937e-5ffe-4b6c-aec4-8e79282e3575.svg + categories: + - Raw Data - id: R7eWaTLYUs display_name: AutopilotHQ isCloudEventSource: true