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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ You can use identify to create a contact when a website visitor fills a webform.

userId is a mandatory field which is used to identify the contact in Freshsales. If your user identifier is not email, then email has to be a part of traits.

```json=
```json
{
"userId": "97980cfea0067",
"type": "identify",
Expand Down Expand Up @@ -78,7 +78,7 @@ Custom fields won't automatically create. You have to create them in Freshsales

You can also update Accounts and Deals associated with a contact in Freshsales. The company and deal objects in the identify payload correspond to the Accounts and Deals objects in Freshsales. When you use the identify method to create a contact, it's possible to also create the corresponding Account and Deal and Freshsales. To do this, pass the company or the deal objects within traits in the identify call.

```json=
```json
{
"userId" : "97980cfea0067",
"type": "identify",
Expand All @@ -101,7 +101,7 @@ You can also update Accounts and Deals associated with a contact in Freshsales.

You can track activities of your website visitors. If a user is subscribing to a newsletter and you want to track it, use the track method.

```json=
```json
{
"userId" : "[email protected]",
"event": "Email Bounced",
Expand All @@ -121,15 +121,16 @@ Segment standardized a series of reserved event names that have special semantic

If you want to track users visiting your sites, you can use the page method. When you call a page event, Segment sends a pageview to Freshsales. You can send extra data parameters within properties in the event payload. [See the reserved properties for more details](/docs/connections/spec/page/#properties).

```json=
```json
{
"userId" : "[email protected]",
"userId": "[email protected]",
"name": "Page view",
type”: ”page”,
"properties" : {
"type": "page",
"properties": {
"title": "Welcome to pricing page | Example.com",
"url" : "http://example.com/pricing"
"url": "http://example.com/pricing"
}
}
```

## FAQs
Expand Down
161 changes: 46 additions & 115 deletions src/connections/destinations/catalog/ibm-ubx/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,75 +4,40 @@ rewrite: true
hidden: true
id: 5a3ab305a1e66e00017185f9
---
[IBM's Universal Behavior Exchange (UBX)](https://www.ibm.com/support/knowledgecenter/en/SS9JVY/UBX/kc_welcome_UBX.html){:target="_blank"}
is an API that allows users to share customer interactions, behaviors, and
target audiences among IBM solutions and applications - including the *Watson
Marketing Portfolio* - without the need for custom software integration. In
effect, UBX is the "Segment" of IBM's ecosystem. Once data is routed to IBM, you
can send it to any destination in UBX's portfolio.
[IBM's Universal Behavior Exchange (UBX)](https://www.ibm.com/support/knowledgecenter/en/SS9JVY/UBX/kc_welcome_UBX.html){:target="_blank"} is an API that allows users to share customer interactions, behaviors, and target audiences among IBM solutions and applications - including the *Watson Marketing Portfolio* - without the need for custom software integration. In effect, UBX is the "Segment" of IBM's ecosystem. Once data is routed to IBM, you can send it to any destination in UBX's portfolio.

_**NOTE:** IBM UBX is currently in beta and this doc was last
updated on May 7, 2018. This means that there may still be some bugs for us to
iron out and we're excited to hear your thoughts. If you are interested in
joining or have any feedback to help us improve the IBM UBX Destination and its documentation, [let us know](https://segment.com/help/contact){:target="_blank"}!_

## Getting Started

_**NOTE:** To enable Segment in UBX, navigate to "Endpoints" in the UBX dashboard,
select "Register new endpoint", then select "Segment". Once you've added the
Segment endpoint, contact [Segment support](https://segment.com/help/contact){:target="_blank"} with your new endpoint's "endpoint
authentication key" for help activating your new endpoint. Note that the
endpoint in UBX will not be able to receive Segment data until you have enabled
both the destination in the Segment UI *and* requested activation of the
endpoint from Segment's support team._
> info ""
> IBM UBX is currently in beta and this doc was last updated on **May 7, 2018**. Segment is actively working on this feature. Some functionality may change before it becomes generally available. If you have any feedback to help improve the IBM UBX Destination and its documentation, [contact Segment](https://segment.com/help/contact){:target="_blank"}.

## Getting started

> info "Enabling Segment in UBX"
> To enable Segment in UBX, go to "Endpoints" in the UBX dashboard, select "Register new endpoint", then select "Segment".
>
> Once you've added the Segment endpoint, contact [Segment support](https://segment.com/help/contact){:target="_blank"} with your new endpoint's "endpoint authentication key" for help activating your new endpoint.
>
> Note that the endpoint in UBX cannot receive Segment data until you have enabled both the destination in the Segment UI *and* requested activation of the endpoint from Segment's support team.

1. From the Segment web app, click **Catalog**.
2. Search for "IBM UBX" in the Catalog, select it, and choose which of your sources to connect the destination to.
3. Enter your UBX API URL and your publisher's endpoint authentication key in
the Segment Settings UI. You should have received an email with this URL
shortly after setting up your UBX account. If you can't locate your URL,
contact UBX support (the URL is also referred to as a "base URL" in
the [IBM UBX documentation](https://developer.ibm.com/customer-engagement/docs/watson-marketing/ibm-universal-behavior-exchange-ubx/ubxapireference/){:target="_blank"}).
To locate your endpoint authentication key, navigate to the "Endpoints" tab
in UBX, then look to the far right where you'll find three vertical dots.
Click on them and select "Endpoint details".
4. Register and provision a Segment endpoint within your UBX dashboard so you
can access the appropriate endpoint authentication key. Do this by navigating
to "Endpoints", then "Register a new endpoint" and select "Segment". Then
click "Register" to proceed.
3. Enter your UBX API URL and your publisher's endpoint authentication key in the Segment Settings UI. You should receive an email with this URL after setting up your UBX account. If you can't locate your URL, contact UBX support.
> **Note**: The URL is also referred to as a "base URL" in the [IBM UBX documentation](https://developer.ibm.com/customer-engagement/docs/watson-marketing/ibm-universal-behavior-exchange-ubx/ubxapireference/){:target="_blank"}. To locate your endpoint authentication key, navigate to the **Endpoints** tab in UBX, click on the three dots symbol, and select **Endpoint details**.
4. Register and provision a Segment endpoint within your UBX dashboard so you can access the appropriate endpoint authentication key. To do this, go to **Endpoints > Register a new endpoint** and select "Segment". Click **Register** to proceed.

![A screenshot of the UBX dashboard.](images/ubx-register-endpoint.png)

5. Once registered, the new endpoint's status will remain "Pending" in the
"Endpoints" tab until it has been activated. To activate an endpoint,
include your UBX account's API URL and your endpoint authentication key in an
email to Segment using our [tech support form](https://segment.com/help/contact/){:target="_blank"}.

6. Once registered, the new endpoint's status will remain "Pending" in the **Endpoints** tab until it has been activated. To activate an endpoint, include your UBX account's API URL and your endpoint authentication key in an email to Segment using the [tech support form](https://segment.com/help/contact/){:target="_blank"}.
![A screenshot of the UBX Endpoints tab showing a Segment endpoint with a status of Active.](images/endpoint-details.png)

6. Segment will activate your endpoint within 24 hours, at which time its status
will update to "Active" in the UBX dashboard. Now, you can grab your endpoint
authentication key again and paste it into your UBX settings in the Segment
UI.
7. Segment activates your endpoint within 24 hours, at which time its status updates to "Active" in the UBX dashboard. Now, you can grab your endpoint authentication key again and paste it into your UBX settings in the Segment UI.

## General tracking advice

## General Tracking Advice

We encourage customers to review UBX's dynamic event
library closely to become
familiar with UBX's specced events and properties. Many UBX consumers only
accept specific events; likewise, many consumers function best when specific
events include particular properties. Although Segment provides robust
out-of-the-box mapping (documented below), we still recommend reviewing the
dynamic event library closely to ensure that you are sending events and
properties that enable you to get the most out of your UBX consumers.
Segment encourages customers to review UBX's dynamic event library to become familiar with UBX's specced events and properties. Many UBX consumers only accept specific events; likewise, many consumers function best when specific events include particular properties. Although Segment provides robust out-of-the-box mapping, Segment still recommends reviewing the dynamic event library closely to ensure that you are sending events and properties that enable you to get the most out of your UBX consumers.

## Page

Page calls will send a 'Page View Event' to UBX (code `ibmpageView`). The below
mappings may apply:
Page calls send a 'Page View Event' to UBX (code `ibmpageView`). The following mappings might apply:

<table>
<tr>
Expand All @@ -82,32 +47,22 @@ mappings may apply:
<tr>
<td>`name`</td>
<td>`siteID`</td>
<tr>
</tr>
</table>

_**Note:** As with `track` events, all properties sent by the user that aren't
mapped above will be sent as attributes to UBX. To send a UBX-specced property
that isn't mapped above, simply set the Segment property name to the UBX
property code directly (e.g. `pageID`)._ Remember, you can find UBX-specific
event and property codes in their dynamic event
library.
**Note**: As with Track events, all properties sent by the user that aren't mapped are sent as attributes to UBX. To send a UBX-specced property that isn't mapped, set the Segment property name to the UBX property code directly (for example, `pageID`). You can find UBX-specific event and property codes in their dynamic event library.

## Track

Segment's integration with UBX supports all public recognized UBX event types.
Beware, however - UBX event destinations will only receive events to which they
are subscribed. To subscribe a UBX destination to events from the Segment
publisher, navigate to the "Events" tab and select "Subscribe to events".
Segment's integration with UBX supports all public recognized UBX event types. Beware, UBX event destinations only receive events to which they are subscribed. To subscribe a UBX destination to events from the Segment publisher, navigate to the **Events** tab and select "Subscribe to events".

![A screenshot of the UBX Events tab, with the Segment endpoint selected.](images/subscribe-to-events.png)

Make sure that you subscribe your UBX event subscriber endpoints to the events
you'd like them to consume from the Segment publisher.
Make sure that you subscribe your UBX event subscriber endpoints to the events you'd like them to consume from the Segment publisher.

Note that while Segment supports all UBX-specced events, we have mapped the
following Segment-specced events and their properties to their UBX equivalents:
Note that while Segment supports all UBX-specced events, the following Segment-specced events and their properties have been mapped to their UBX equivalents:

### Event Mappings
### Event mappings

#### Mobile
Events
Expand Down Expand Up @@ -138,11 +93,7 @@ Events
</tr>
</table>

We do not define any specific mobile property mappings at this time given that
Segment's spec and UBX's spec do not share closely related mobile properties.
Note, you can still pass in any attribute codes as defined in UBX's dynamic
event library, and Segment
will pass these values downstream.
No specific mobile property mappings are defined at this time, given that Segment's spec and UBX's spec do not share closely related mobile properties. You can still pass in any attribute codes as defined in UBX's dynamic event library, and Segment passes these values downstream.

#### Ecommerce
Events
Expand Down Expand Up @@ -327,20 +278,12 @@ Attributes
</tr>
</table>

_**Note**: To send a UBX event or property that isn't mapped above, simply set
the Segment event or property name to the UBX-specced event or property code
directly (e.g. `opptyQualified`)._ Remember, you can find UBX-specific event and
property codes in their dynamic event
library.
> info ""
> To send a UBX event or property that isn't mapped, set the Segment event or property name to the UBX-specced event or property code directly (for example, `opptyQualified`). You can find UBX-specific event and property codes in their dynamic event library.

### Property Mappings
### Property mappings

Segment also maps some properties from the context object to their equivalent
UBX attributes. Note that UBX only supports a few data types - `string`,
`number`, `boolean` and `date`. Segment will automatically discard any
properties of a type not mentioned here, with the exception of objects, which we
will attempt to stringify. If we cannot, expect to see `[object Object]` appear
as the value in UBX.
Segment also maps some properties from the context object to their equivalent UBX attributes. Note that UBX only supports a few data types - `string`, `number`, `boolean` and `date`. Segment automatically discards any properties of a type not mentioned here, with the exception of objects, which Segment attempts to stringify. If this isn't possible, you can expect to see `[object Object]` appear as the value in UBX.

<table>
<tr>
Expand Down Expand Up @@ -409,7 +352,7 @@ as the value in UBX.
</tr>
</table>

### Integration-Specific Option Mapping
### Integration-specific option mapping

Segment maps the following integration-specific options to UBX:

Expand All @@ -428,8 +371,7 @@ Segment maps the following integration-specific options to UBX:
</tr>
</table>

An event containing all three integration-specific options may look something
like this:
An event containing all three integration-specific options might look like this:

```javascript
analytics.track('Order Completed' {
Expand All @@ -445,43 +387,32 @@ analytics.track('Order Completed' {
})
```

It's important to note some information about precedent for each of these
options:
It's important to note some information about precedent for each of these options:

- `channel`: Segment first checks whether this value is defined in
integration-specific options; if not and we detect `analytics-android` or
`analytics-ios` libraries, `channel` is set to `mobile`; for all other
libraries, `channel` is set to `web`.
- `subChannel`: This value is not appended to the outgoing payload unless
explicity defined by the user.
- `ContactConsent`: This value is not appended to the outgoing payload unless
explicity defined by the user. The value passed to Segment must be in the
format `channel,subscriptionOption`. At the moment, the only acceptable
channels are `email` and `sms`, and the only two acceptable subscription
options are `opt-in` and `opt-out`.
- `channel`: Segment first checks whether this value is defined in integration-specific options. If not and if `analytics-android` or
`analytics-ios` libraries are detected,`channel` is set to `mobile`; for all other libraries, `channel` is set to `web`.
- `subChannel`: This value is not appended to the outgoing payload unless explicity defined by the user.
- `ContactConsent`: This value is not appended to the outgoing payload unless explicity defined by the user. The value passed to Segment must be in the format `channel,subscriptionOption`. At the moment, the only acceptable channels are `email` and `sms`, and the only two acceptable subscription options are `opt-in` and `opt-out`.

## FAQ

## Troubleshooting

### Not seeing any data from Segment appear in UBX

- Check to ensure your Segment publisher endpoint is "Active". If not, see
[Getting Started](#getting-started) above.
#### Why isn't the data from Segment appear in UBX?
- Ensure your Segment publisher endpoint is "Active". If not, see the [getting started](#getting-started) steps.
- Ensure you've subscribed your UBX destinations to the appropriate events.

## FAQ
## Troubleshooting

Segment does not auto-generate events other than an initial `page` call when using our Analytics.js library and mobile lifecycle events when mobile lifecycle tracking is enabled using Segment's Android or iOS library.

This means some events supported and in some cases expected by downstream UBX destinations - including *abandonment events* - must be derived by the customer. One approach would be to integrate with a marketing tool such as [Braze](/docs/connections/destinations/catalog/braze/) or [Bronto](/docs/connections/destinations/catalog/bronto/), in which you can [set up rules that generate abandonment events](/docs/guides/destinations/how-do-i-automate-multi-channel-re-engagement-campaigns/#1st-line-of-defense-the-push-notification), which are then be sent back through Segment and downstream to UBX.

Another approach may be to schedule a cron job in your database that checks for users who have triggered a `Product Added` event, but who never went on to trigger an `Order Completed` event. In this case, one can logically deduce that the user abandoned his cart, hence you should trigger a server-side Segment event based on this rule, which Segment will process and pass downstream to UBX.
Another approach may be to schedule a cron job in your database that checks for users who have triggered a `Product Added` event, but who never went on to trigger an `Order Completed` event. In this case, you can assume that the user abandoned his cart, therefore, you should trigger a server-side Segment event based on this rule, which Segment will process and pass downstream to UBX.

Segment's integration with UBX supports the following UBX abandonment events:

- ibmabandonedConversion
- ibmbrowseAbandonment
- ibmbrowseAbandonmentItem
- ibmcartAbandonment
- ibmcartAbandonmentItem
- `ibmabandonedConversion`
- `ibmbrowseAbandonment`
- `ibmbrowseAbandonmentItem`
- `ibmcartAbandonment`
- `ibmcartAbandonmentItem`

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: SendGrid Marketing Campaigns Source
id: GCeG0vmcDW
---

[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.
[SendGrid Marketing Campaigns](https://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.

This is an [Event Cloud Source](/docs/sources/#event-cloud-sources) that can not only export data into your Segment warehouse but also federate the exported data into your other enabled Segment destinations.

Expand Down
Loading
Loading