Skip to content

Commit bca1271

Browse files
authored
Merge pull request #448 from segmentio/repo-sync
repo sync
2 parents f08abe8 + 63bca3a commit bca1271

File tree

3 files changed

+46
-28
lines changed

3 files changed

+46
-28
lines changed

src/engage/profiles/user-subscriptions/index.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,28 @@ layout: engage
44
engage: true
55
---
66

7-
Segment associates [subscription states](/docs/engage/profiles/user-subscriptions/set-user-subscriptions/) with contact vectors in your audiences. These states indicate the level of consent end users have given to receive your marketing campaigns.
7+
Segment associates [subscription states](/docs/engage/profiles/user-subscriptions/set-user-subscriptions/) with each email address and phone number in your audiences. Subscription states indicate the level of consent end users have given to receive your marketing campaigns.
88

99
Knowledge of subscription states will help you understand which users can and cannot receive your campaigns. This page provides an overview of user subscriptions.
1010

1111
## The Four Subscription states
1212

13-
Contact vectors in your audience have one of the four following user subscription states:
13+
Email addresses and phone numbers in your audience have one of the four following user subscription states:
1414

15-
- **Subscribed**; users who opted in to your marketing campaigns
16-
- **Unsubscribed**; users who unsubscribed from your marketing campaigns
17-
- **Did not subscribe**; users who are neither subscribed nor unsubscribed
18-
- **No subscription status**; users for whom Segment has no subscription information
15+
- `subscribed`; users who opted in to your marketing campaigns
16+
- `unsubscribed`; users who unsubscribed from your marketing campaigns
17+
- `did-not-subscribe`; users who are neither subscribed nor unsubscribed
18+
- **No subscription status**; users who never gave Segment the email or phone number in your audience
1919

2020
> warning "User Consent"
21-
> You can only send Engage campaigns to subscribed users.
21+
> You can only send Engage campaigns to users with a `subscribed` status.
2222
2323
To learn how Segment determines user subscription states, read the [User Subscription State documentation](/docs/engage/profiles/user-subscriptions/subscription-states/).
2424

2525
## Setting User Subscriptions
2626

2727
You can set user subscriptions manually when you upload contacts [using Engage’s CSV uploader](/docs/engage/profiles/csv-upload/). You can also use a CSV upload to correct contacts with outdated subscription states.
2828

29-
Most user subscriptions are updated programmatically, using Segment APIs. The Public API and the `track` call handle subscription state changes made when users sign up to or change their subscription status to your marketing materials with online forms or within notification centers.
29+
Most user subscriptions update programmatically, using Segment APIs. The Public API and the Identify call handle subscription state changes made when users sign up to or change their subscription status to your marketing materials with online forms or within notification centers.
3030

3131
View the [Setting User Subscriptions](/docs/engage/profiles/user-subscriptions/set-user-subscriptions/) page to learn more about user subscription changes.

src/engage/profiles/user-subscriptions/set-user-subscriptions.md

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ layout: engage
44
engage: true
55
---
66

7-
Segment associates a [user subscription state](/docs/engage/profiles/user-subscriptions/subscription-states/) with each contact vector in your Engage audiences. Subscription states give you insight into the level of consent a user has given you to receive your Engage campaigns.
7+
Segment associates a [user subscription state](/docs/engage/profiles/user-subscriptions/subscription-states/) with each email address and phone number in your Engage audiences. Subscription states give you insight into the level of consent a user has given you to receive your Engage campaigns.
88

99
You can set a user’s subscription state using a CSV file or, programmatically, using Segment’s APIs. On this page, you’ll learn how and when to use both processes.
1010

@@ -18,7 +18,7 @@ For example, you may want to add contacts to Segment using an audience list sour
1818

1919
To learn how to upload a CSV file to Segment, view the [Engage CSV Uploader page](/docs/engage/profiles/csv-upload/).
2020

21-
To change a user’s email or SMS subscription status with a CSV file, include at least one of the following user subscription columns next to the contact column:
21+
To change the subscription status of an email or phone number with a CSV file, include at least one of the following user subscription columns next to the contact column:
2222

2323
- `email_subscription_status`
2424
- `sms_subscription_status`
@@ -28,7 +28,7 @@ These columns take the following values:
2828
- `subscribed`; for users who opted in to your marketing campaigns
2929
- `unsubscribed`; for users who have unsubscribed from your marketing campaigns
3030
- `did-not-subscribe`; for users who have neither subscribed nor unsubscribed from your marketing campaigns
31-
- Blank; for profiles that have no subscription information
31+
- Blank; for email addresses or phone numbers that Segment collected without the user explicitly providing them
3232

3333
Refer to the [User Subscription States documentation](/docs/engage/profiles/user-subscriptions/subscription-states/) for detailed explanations of each subscription state.
3434

@@ -51,33 +51,51 @@ For example, a user might reach out to you after accidentally unsubscribing to y
5151

5252
With Segment's APIs, you can manage user subscriptions programmatically on a real-time basis. Use the APIs for ongoing subscription status updates, like when users subscribe to your marketing campaigns on a website form or modify their subscription from within a notification center.
5353

54-
### The Track call compared to the Public API Identify call
54+
### Choosing between the Identify call and the Public API
5555

56-
To update Engage user subscriptions with Segment's APIs, first choose between a [standard Track call](/docs/connections/spec/track/), for non-critical subscription updates, or the [Public API Identify call](https://api.segmentapis.com/docs/){:target="_blank"}, for critical updates that require immediate confirmation, like unsubscribes.
56+
To update Engage user subscriptions with Segment's APIs, first choose between [the Identify call](/docs/connections/spec/identify/), for non-critical subscription updates, or the [Public API](https://api.segmentapis.com/docs/spaces/#replace-messaging-subscriptions-in-spaces){:target="_blank"}, for critical updates that require immediate confirmation, like unsubscribes.
5757

58-
When you use the Track call, Segment replies with a standard HTTP `200 OK` status response code if it successfully received the request. Because the Track call updates user traits asynchronously, though, the `200 OK` code indicates that Segment has received, but not yet processed, the request. As a result, use the Track call for non-critical subscription updates, like form signups on your website or adding a subscription from within the user's notification center.
58+
When you use the Identify call, Segment replies with a standard HTTP `200 OK` status response code if it successfully received the request. Because the Identify call updates user traits asynchronously, though, the `200 OK` code indicates that Segment has received, but not yet processed, the request. As a result, use the Identify call for non-critical subscription updates, like form signups on your website or adding a subscription from within the user's notification center.
5959

60-
When you make Identify calls to Segment's Public API, however, you'll get an immediate response that confirms that Segment both received and processed the request. Use the Public API, then, for unsubscribes, so users immediately find out if their subscription updated.
60+
When you update user subscriptions with Segment's Public API, however, you'll get an immediate response that confirms that Segment both received and processed the request. Use the Public API, then, for unsubscribes, so users immediately find out if their subscription updated.
6161

6262
### Format the Identify call payload
6363

64-
For Segment to process the subscription status request, your Identify call payload must include at least one object with a subscription contact vector, the subscription type, and the subscription status.
64+
For Segment to process the subscription status request, your Identify call payload must include at least one object that contains an email address or phone number, its subscription type, and its subscription status.
6565

66-
The following array contains example objects that update both SMS and email subscription statuses:
66+
The following example payload shows an Identify call with a `context` object, which you'll add to the Identify call to update user subscriptions. The `context` object contains a `messaging_subscriptions` array with two objects that update both SMS and email subscription statuses:
6767

6868
```json
69-
"messaging_subscriptions": [
69+
{
70+
"userId": "12aBCDeFg4hIjKlM5OPq67RS8Tu",
71+
"context": {
72+
"messaging_subscriptions": [
7073
{
7174
"key": "(123) 555-5555",
7275
"type": "SMS",
7376
"status": “SUBSCRIBED” | “UNSUBSCRIBED”| “DID_NOT_SUBSCRIBE”
7477
},
7578
{
76-
"key": "example@example.com",
79+
"key": "test@example.com",
7780
"type": "EMAIL",
7881
"status": “SUBSCRIBED” | “UNSUBSCRIBED”| “DID_NOT_SUBSCRIBE”
7982
}
80-
]
83+
],
84+
"externalIds": [
85+
{
86+
"id": "(123) 555-5555",
87+
"type": "phone",
88+
"collection": "users",
89+
"encoding": "none"
90+
}
91+
],
92+
"traits": {
93+
"email": "[email protected]"
94+
}
95+
},
96+
"integrations": {},
97+
"traits": {}
98+
}
8199
```
82100

83101
For successful requests, Segment instantly updates subscription states in your workspace. You can then display successful updates or error messages with users in your notification center.

src/engage/profiles/user-subscriptions/subscription-states.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ The following table displays the four subscription states:
1818

1919
| subscription states | description | example |
2020
| ---------------------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
21-
| Subscribed | A user has given you their contact information and consented to receive marketing campaigns. | Users that have signed up for a weekly newsletter |
22-
| Unsubscribed | A user has given you their contact information but doesn't want to receive campaigns. | Users that subscribed, then unsubscribed, from a weekly newsletter |
23-
| Did not subscribe | A user gave you their contact information but made no decision about receiving marketing campaigns. | A user provided their email address or phone number in an online transaction, but didn't sign up to receive your weekly newsletter. |
24-
| No subscription status | A user did not give you their contact information and made no decision about receiving marketing campaigns. | Segment collected the contact vector through identity resolution, but the user has not made a subscription decision. |
21+
| `subscribed` | A user has given you their contact information and consented to receive marketing campaigns. | Users that have signed up for a weekly newsletter |
22+
| `unsubscribed` | A user has given you their contact information but doesn't want to receive campaigns. | Users that subscribed, then unsubscribed, from a weekly newsletter |
23+
| `did-not-subscribe` | A user gave you their contact information but made no decision about receiving marketing campaigns. | A user provided their email address or phone number in an online transaction, but didn't sign up to receive your weekly newsletter. |
24+
| No subscription status | A user did not give you their contact information and made no decision about receiving marketing campaigns. | Segment collected an email or phone number through identity resolution. No user actively provided the email or phone number. |
2525

2626
> warning "Sending Permissions"
2727
> You can only send Engage campaigns to contacts with a subscribed user state.
@@ -58,14 +58,14 @@ You must include an unsubscribe option in all Engage email and SMS campaigns.
5858

5959
### Did not subscribe
6060

61-
Users with **did not subscribe** contact vectors have provided you with their email address or phone number but have not given explicit permission to send them marketing materials.
61+
Users with the `did-not-subscribe` state associated with their email address or phone number gave you their contact information without explicitly agreeing to receive your marketing materials.
6262

63-
The following scenarios often lead to user profiles who **did not subscribe**:
63+
The following scenarios often lead to an email or phone number with the `did-not-subscribe` subscription state:
6464

65-
- A user provides their email or phone number during an online transaction, but doesn’t opt in to your marketing materials.
65+
- A user provides their email or phone number during an online transaction but doesn’t opt in to your marketing materials.
6666
- The user’s email address was obtained from a support request.
6767

68-
Contact vectors with a `did not subscribe` status will not receive your marketing campaigns.
68+
Emails or phone numbers with a `did-not-subscribe` status won't receive your marketing campaigns.
6969

7070
### No subscription status
7171

0 commit comments

Comments
 (0)