Link

Subscribers

Subscribers make up your Cerkl Audience, the contacts who will receive the communications you send in the form of Blasts and Content. Many different kinds of data can be attached to Subscribers, allowing you to add information that can strongly identify your audience and allow you to control who is receiving the content from your organization’s communicators. As shown in our API Reference, in addition to their names and email addresses, Subscribers can contain a collection of values that describe their position in your organization.

Subscribers and Segments

If you’re looking for information on how to interact with Segments that Subscribers can be associated with and how they are added to and removed from those lists, see the Segments documentation. Are you working with and need to inspect Subscribers associated with a particular Category? Check out our Categories page.

Subscriber Privacy and Content Controls

Importantly, Cerkl designates both a subscriber_privacy_level and a subscriber_status for each Subscriber, controlling whether their Cerkl experience will be personalized and what types of Content they can receive from Cerkl, respectively. It is required that these values are provided to request bodies when adding or updating Subscribers.

Subscriber Privacy Level

Subscriber personalization is an important aspect of Cerkl’s operation. As described in the Content pages, Stories appearing in a Subscriber’s News Digests are controlled by the Subscriber’s interests. Cerkl’s machine learning software will do its best to present Subscribers with Content they’re likely to engage with, but personalization can help. It is recommended that all Cerkl Subscribers are allowed to personalize to get the most out of what Cerkl is capable of doing. Subscriber personalization levels are controlled using subscriber_privacy_level ID values as shown in the table below:

Subscriber Privacy Level ID Privacy Level Description
1 Personalizes the Subscriber’s experience
2 Personalizes the Subscriber’s experience but does not report on their activity
3 Does not personalize the Subscriber’s experience

The different Subscriber Privacy Levels can also be accessed by making a GET request to the /subscriber_privacy_level endpoint:

    $ curl --request GET 'api.cerkl.com/v3/subscriber_privacy_level' \
        --header 'Authorization: Bearer {ACCESS_TOKEN}'

Subscriber Status

Cerkl API v3 uses 4 distinct Subscriber Status IDs to control whether or not they will receive Blasts and/or Content (via News Digests):

Subscriber Status ID Status ID Description
1 Subscriber is unsubscribed from all Blasts and News Digests
2 Receive email Blasts only
3 Receive News Digests only
4 Receive email Blasts and News Digests

Like Subscriber Privacy Levels, Subscriber Statuses can be accessed from the API as well. This is done using a GET request to the /subscriber_status endpoint:

    $ curl --request GET 'api.cerkl.com/v3/subscriber_privacy_level' \
        --header 'Authorization: Bearer {ACCESS_TOKEN}'

Importantly, subscriber_status ID 1 cannot be used directly, as it is reserved for when a Subscriber is unsubscribed from a Cerkl instance. subscriber_status ID values 2 and 3 can be used, but it is highly recommended that all Cerkl Subscribers be initially set to subscriber_status ID 4 to use Cerkl most effectively.

Adding a Subscriber

Subscribers can be added to your Cerkl by making a POST request to the /subscriber endpoint with a valid payload. At a minimum, your payload must include (beyond the normal template) a first name, last name, email address, valid subscriber_status ID object and valid subscriber_privacy_level ID object:

    $ curl --request POST 'api.cerkl.com/v3/subscriber' \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Bearer {ACCESS_TOKEN}' \
        --data-raw '{
            "template": {
                "version": "3.0",
                "data": [
                    {
                        "first_name": "Jerry",
                        "last_name": "Garcia",
                        "email": "jerry@shakedownstreet.com",
                        "subscriber_status": {
                            "id": 4
                        },
                        "subscriber_privacy_level": {
                            "id": 1
                        }
                    }
                ]
            }
        }'

Getting Subscribers

You can inspect your Subscribers and their data by using GET requests to the /subscriber endpoint (see the Cerkl API page for more information on “get all” methods):

    $ curl --request GET 'api.cerkl.com/v3/subscriber' \
        --header 'Authorization: Bearer {ACCESS_TOKEN}'

You can also retrieve specific Subscribers by making a GET request to the /subscriber/{id} endpoint and supplying an existing Subscriber’s valid integer id value to the request body. For example: if Jerry’s id is 12345, we can retrieve their data like this:

    $ curl --request GET 'api.cerkl.com/v3/subscriber/12345' \
        --header 'Authorization: Bearer {ACCESS_TOKEN}'

Updating Subscribers

Existing Subscribers can be updated using the PUT method on the /subscriber/{id} endpoint, where the supplied integer id value designates the Subscriber to be altered. If Jerry’s id is still 12345, but we want to downgrade his subscriber_status to “blasts only” — an ID of 2 — the request would look something like this:

    $ curl --request PUT 'api.cerkl.com/v3/subscriber' \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Bearer {ACCESS_TOKEN}' \
        --data-raw '{
            "template": {
                "version": "3.0",
                "data": [
                    {
                        "first_name": "Jerry",
                        "last_name": "Garcia",
                        "email": "jerry@shakedownstreet.com
                        "subscriber_status": {
                            "id": 2
                        },
                        "subscriber_privacy_level": {
                            "id": 1
                        }
                    }
                ]
            }
        }'

Deleting (Unsubscribing) Subscribers

Removing Subscribers via Cerkl’s API doesn’t actually “delete” them, but rather unsubscribes them from your organization’s Cerkl where they will remain to ensure they don’t receive further communications. This operation transforms the “deleted” Subscriber to an “Unsubscribe” object in order to keep a record of this change. See the Unsubscribes documentation for more information on how to interact with those objects.

To unsubscribe a Subscriber from your organization’s Cerkl where the Subscriber’s id is 12345, for example, make a POST request to the /subscriber/{id}/unsubscribe endpoint, like so:

    $ curl --request POST 'api.cerkl.com/v3/subscriber/12345/unsubscribe' \
        --header 'Authorization: Bearer {ACCESS_TOKEN}'

Our unsubscription endpoint also allows you to supply additional information about why the Subscriber was removed, with information such as termination_date_utc, termination_voluntary, and departure_code allowing you to optionally specify when and why a Subscriber may have been removed. Using the same Subscriber’s id of 12345, you could specify that information like this:

    $ curl --request POST 'api.cerkl.com/v3/subscriber/12345/unsubscribe' \
        --header 'Authorization: Bearer {ACCESS_TOKEN}'
        --data-raw '{
            "template": {
                "version": "3.0",
                "data": [
                    {
                        "termination_date_utc": "2020-08-01 12:00:00",
                        "termination_voluntary": true,
                        "departure_code": {
                            "id": 6
                        }
                    }
                ]
            }
        }'

Using the request above, this Subscriber is recorded as having been removed from their Cerkl Audience because they left the organization voluntarily. The Subscriber Departure Code used was 6. designating the Subscriber retired from their organization. Subscriber Departure Code values are described in more detail below.

Subscriber Departure Codes

There are a lot of reasons why a Subscriber might leave your Cerkl Audience. If you choose to specify why they’re no longer going to be receiving communications from you, the 12 different Subscriber Departure Codes can be an easy and helpful way to do so.

Subscriber Departure Code ID Description
1 Resigned
2 Fired
3 Layoff
4 Furlough
5 Contract expiration
6 Retired
7 Season end
8 Internship end
9 Death
10 FMLA
11 Other - Voluntary
12 Other - Involuntary

The different Subscriber Departure Codes can be easily accessed using our API, as with many of our other resources. This can be done by making a GET request to our /subscriber_departure_code endpoint, which will provide you with a list of the id values and their descriptions.

    $ curl --request GET 'api.cerkl.com/v3/subscriber_departure_code' \
        --header 'Authorization: Bearer {ACCESS_TOKEN}'

Subscriber Insights

Cerkl gathers data about how Subscribers interact with the Content delivered to them, allowing us to determine how much a user has engaged with that Content and what they are most interested in based upon how they use Cerkl. For more information, see our Subscriber Insights documentation.

Because Cerkl gathers data about how Subscribers interact with Content, you can also query the Insights for a particular Content piece. For more information, see our Content Insights documentation.