Profile Engagement Audiences
Profile Engagement audiences allow brands to target users based on their engagement with creator profiles. This includes followers/subscribers and users who have interacted with the creator's content.
Attributes
| Attribute | Description | Required | Possible Values |
|---|---|---|---|
| ad_account_id | Ad Account ID | R | UUID |
| name | Audience Segment name | R | 375 characters max |
| source_type | Data source type | R | PROFILE_ENGAGEMENT |
| retention_in_days | # of days to retain audience members | R | Max 180 days |
| creation_spec | Profile Engagement Creation Spec | R | See below |
| approximate_number_users | Approximate # of users in the segment | Read Only | |
| status | Status of the segment | Read Only | ACTIVE, PENDING |
| targetable_status | Status of whether this segment can be targeted | Read Only | NOT_READY, TOO_FEW_USERS, READY |
Creation Spec
| Attribute | Description | Required | Possible Values |
|---|---|---|---|
| engagement_type | Type of engagement with the creator profile | R | SUBSCRIBERS, ENGAGERS |
| source_profile_id | The creator's Public Profile ID | R | UUID |
| retention_in_days | Optional retention override | O | Integer (days) |
Engagement Types
| Type | Description |
|---|---|
| SUBSCRIBERS | All users who follow/subscribe to the creator's Public Profile |
| ENGAGERS | Users who viewed, interacted with, or engaged with the creator's content (Stories, Spotlight, Lenses) |
Create a Profile Engagement Audience
curl -X POST \
-H "Authorization: Bearer meowmeowmeow" \
-H "Content-Type: application/json" \
-d '{
"segments": [{
"name": "Creator X - Subscribers",
"ad_account_id": "8adc3db7-8148-4fbf-999c-8d2266369d74",
"source_type": "PROFILE_ENGAGEMENT",
"retention_in_days": 180,
"creation_spec": {
"engagement_type": "SUBSCRIBERS",
"source_profile_id": "405f4141-d3a1-4d54-a82c-5a44491b1be9"
}
}]
}' \
"https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/segments"
The above command returns JSON structured like this:
{
"request_status": "SUCCESS",
"request_id": "57e18036000733c0f1abd670",
"segments": [
{
"sub_request_status": "SUCCESS",
"segment": {
"id": "5652536396611584",
"updated_at": "2024-01-15T11:30:15.448Z",
"created_at": "2024-01-15T11:30:15.429Z",
"name": "Creator X - Subscribers",
"ad_account_id": "8adc3db7-8148-4fbf-999c-8d2266369d74",
"status": "ACTIVE",
"source_type": "PROFILE_ENGAGEMENT",
"retention_in_days": 180,
"approximate_number_users": 15000,
"targetable_status": "READY",
"creation_spec": {
"engagement_type": "SUBSCRIBERS",
"source_profile_id": "405f4141-d3a1-4d54-a82c-5a44491b1be9"
}
}
}
]
}
This endpoint creates a Profile Engagement segment within a specified ad account based on engagement with a creator's profile.
HTTP Request
POST https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/segments
Parameters
| Parameter | Default | Description |
|---|---|---|
| ad_account_id | Ad Account ID |
Prerequisites
Active AD_LEVEL Partnership Required
Before creating Profile Engagement audiences, you must:
- Establish an AD_LEVEL partnership with the creator through the Partnership Roles API
- Verify partnership status is
ACCEPTED - Confirm creator's profile ID is correct
API Documentation:
- Partnership Roles API — Technical API reference
- Partnership Setup Guide — Step-by-step implementation guide
To verify partnership status:
curl "https://adsapi.snapchat.com/v1/public_profiles/{profile_id}/ad_partner_profiles" \
-H "Authorization: Bearer meowmeowmeow"
The creator must appear in the response with partnership_status: "ACCEPTED" before you can create audiences from their profile.
Minimum Audience Size
Profile Engagement audiences must meet minimum size thresholds to be targetable:
| Audience Type | Minimum Size |
|---|---|
| Direct segments | 1,000 users |
| Lookalike seeds | 1,000 users |
Segment Status
| Status | Description |
|---|---|
| ACTIVE | Audience is ready to use |
| PENDING | Audience is being built |
| Targetable Status | Description |
|---|---|
| NOT_READY | This segment won't work when used in targeting |
| TOO_FEW_USERS | This segment doesn't have enough users to target (< 1,000) |
| READY | Segment is ready to target |
Example: Targeting Engagers
To target users who have engaged with a creator's content (Stories, Spotlight, Lenses):
curl -X POST \
-H "Authorization: Bearer meowmeowmeow" \
-H "Content-Type: application/json" \
-d '{
"segments": [{
"name": "Creator X - Story Engagers (30 days)",
"ad_account_id": "8adc3db7-8148-4fbf-999c-8d2266369d74",
"source_type": "PROFILE_ENGAGEMENT",
"retention_in_days": 30,
"creation_spec": {
"engagement_type": "ENGAGERS",
"source_profile_id": "405f4141-d3a1-4d54-a82c-5a44491b1be9"
}
}]
}' \
"https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/segments"
Get All Audience Segments
curl "https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/segments" \
-H "Authorization: Bearer meowmeowmeow"
The above command returns JSON structured like this:
{
"request_status": "SUCCESS",
"request_id": "57ae554a00ff0487459c8ac85c",
"segments": [
{
"sub_request_status": "SUCCESS",
"segment": {
"id": "5652536396611584",
"updated_at": "2024-01-15T11:30:15.448Z",
"created_at": "2024-01-15T11:30:15.429Z",
"name": "Creator X - Subscribers",
"ad_account_id": "8adc3db7-8148-4fbf-999c-8d2266369d74",
"status": "ACTIVE",
"source_type": "PROFILE_ENGAGEMENT",
"retention_in_days": 180,
"approximate_number_users": 15000,
"targetable_status": "READY",
"creation_spec": {
"engagement_type": "SUBSCRIBERS",
"source_profile_id": "405f4141-d3a1-4d54-a82c-5a44491b1be9"
}
}
}
]
}
This endpoint retrieves all audience segments within a specified ad account, including Profile Engagement segments.
HTTP Request
GET https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/segments
Parameters
| Parameter | Default | Description |
|---|---|---|
| ad_account_id | Ad Account ID |
Using Profile Engagement as Lookalike Seeds
Profile Engagement audiences can be used as seed segments for Lookalike Audiences.
curl -X POST \
-H "Authorization: Bearer meowmeowmeow" \
-H "Content-Type: application/json" \
-d '{
"segments": [{
"name": "Creator X Subscribers - Lookalike (Balance)",
"ad_account_id": "8adc3db7-8148-4fbf-999c-8d2266369d74",
"source_type": "LOOKALIKE",
"retention_in_days": 180,
"creation_spec": {
"seed_segment_id": "5652536396611584",
"lookalike_type": "BALANCE",
"country": "US"
}
}]
}' \
"https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/segments"
See Lookalike Audiences for full documentation.
Additional Notes
Automatic Audience Refresh
Profile Engagement audiences automatically update as the creator's follower base changes:
- When the creator gains new followers, they're added to SUBSCRIBERS audiences
- When users engage with new content, they're added to ENGAGERS audiences
- The
retention_in_daysparameter controls how long users remain in the audience
Partnership Expiration Impact
If the AD_LEVEL partnership with the creator expires:
- Existing Profile Engagement audiences become stale and stop updating
- You cannot create new audiences from that creator's profile
- Active campaigns using these audiences may pause
- Re-establish the partnership before expiration to maintain continuity
Recommendation: Monitor partnership expires_at timestamps and renew partnerships before expiration. See Partnership Setup - Managing Partnerships.
Audience Sizing Considerations
| Factor | Impact on Size |
|---|---|
| Creator follower count | Larger creators = larger subscriber audiences |
| Retention window | Longer windows = larger engager audiences |
| Geographic targeting | Country restrictions reduce available audience |
Related Documentation
- Creator Audience Targeting — Complete implementation guide for Profile Engagement audiences
- Partnership Setup — How to establish AD_LEVEL partnerships
- Partnership Roles API — Technical API reference for creator partnerships
- Lookalike Audiences — Expand reach using Profile Engagement as seeds
- Ad Partnerships — Run ads as creator's profile
Error Handling
Common errors when creating Profile Engagement audiences:
| Error | Cause | Solution |
|---|---|---|
| 403 Forbidden | No AD_LEVEL partnership with creator | Establish partnership via Partnership Roles API |
| 404 Not Found | Invalid source_profile_id | Verify creator's Public Profile ID |
| 400 Bad Request | Partnership status not ACCEPTED | Wait for creator to approve partnership invitation |
| TOO_FEW_USERS status | Creator's audience < 1,000 users | Use as lookalike seed or target a larger creator |