Skip to main content

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

AttributeDescriptionRequiredPossible Values
ad_account_idAd Account IDRUUID
nameAudience Segment nameR375 characters max
source_typeData source typeRPROFILE_ENGAGEMENT
retention_in_days# of days to retain audience membersRMax 180 days
creation_specProfile Engagement Creation SpecRSee below
approximate_number_usersApproximate # of users in the segmentRead Only
statusStatus of the segmentRead OnlyACTIVE, PENDING
targetable_statusStatus of whether this segment can be targetedRead OnlyNOT_READY, TOO_FEW_USERS, READY

Creation Spec

AttributeDescriptionRequiredPossible Values
engagement_typeType of engagement with the creator profileRSUBSCRIBERS, ENGAGERS
source_profile_idThe creator's Public Profile IDRUUID
retention_in_daysOptional retention overrideOInteger (days)

Engagement Types

TypeDescription
SUBSCRIBERSAll users who follow/subscribe to the creator's Public Profile
ENGAGERSUsers 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

ParameterDefaultDescription
ad_account_idAd Account ID

Prerequisites

Active AD_LEVEL Partnership Required

Before creating Profile Engagement audiences, you must:

  1. Establish an AD_LEVEL partnership with the creator through the Partnership Roles API
  2. Verify partnership status is ACCEPTED
  3. Confirm creator's profile ID is correct

API Documentation:

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 TypeMinimum Size
Direct segments1,000 users
Lookalike seeds1,000 users

Segment Status

StatusDescription
ACTIVEAudience is ready to use
PENDINGAudience is being built
Targetable StatusDescription
NOT_READYThis segment won't work when used in targeting
TOO_FEW_USERSThis segment doesn't have enough users to target (< 1,000)
READYSegment 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

ParameterDefaultDescription
ad_account_idAd 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_days parameter 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

FactorImpact on Size
Creator follower countLarger creators = larger subscriber audiences
Retention windowLonger windows = larger engager audiences
Geographic targetingCountry restrictions reduce available audience

Error Handling

Common errors when creating Profile Engagement audiences:

ErrorCauseSolution
403 ForbiddenNo AD_LEVEL partnership with creatorEstablish partnership via Partnership Roles API
404 Not FoundInvalid source_profile_idVerify creator's Public Profile ID
400 Bad RequestPartnership status not ACCEPTEDWait for creator to approve partnership invitation
TOO_FEW_USERS statusCreator's audience < 1,000 usersUse as lookalike seed or target a larger creator
Was this page helpful?
Yes
No