Implicit personalization
Implicit personalization is available for Moments and Stories.
Implicit personalization is the For you path in Concepts: the service learns from viewer behavior and returns a ranked list the SDK serves to the viewer. You configure the Recommendations data source with the For you type. This article describes that behavior-driven flow only.
Trending also uses the Recommendations data source in the SDK, but it ranks global popularity. Trending is not implicit personalization. See Content recommendations for how Trending and Personalization (explicit and implicit) fit under the recommendations umbrella. To fetch the trending ranking server-side rather than through the SDK, see Recommendations.
Implicit personalization implementation
Implicit personalization ranks Moments and Stories using viewer behavior and machine learning. Point a widget or player source at the Recommendations data source with For you. There is no need for you to interpret or remap viewer signals to labels or content IDs.
Until a viewer crosses the interaction threshold, For you may use label-based cold start instead of full recommendations-engine ranking. See Cold start for For you below.
See Recommendations data source and Player sources for availability.
For you parameters
When you configure For you, you can use two optional label parameters. They have different purposes:
| Parameter | What it does | When it applies |
|---|---|---|
anyLabelFilter | Limits For you to content that has at least one of these labels. The recommendations engine still ranks the results. | Always, for new and returning viewers. |
coldStartLabels | Sets the cold-start labels for viewers who don't have enough interactions yet. | Only below the interaction threshold. Ignored after the viewer reaches the threshold. |
The For you cold start parameter was renamed from promotedLabels to coldStartLabels in Web SDK 0.35.6, iOS SDK 1.20.0, Android SDK 1.20.3, React Native SDK 1.20.0, and Flutter SDK 1.20.0. There's no alias, so update any For you data source that still passes promotedLabels. On earlier SDK versions, use promotedLabels.
Use anyLabelFilter when For you should stay inside a content category, like soccer. Use coldStartLabels when you want to control the starter content for new viewers before the recommendations engine has enough viewer behavior.
Cold start for For you
Set coldStartLabels on the For you Recommendations data source when you want to control what viewers see before they have enough interactions for full recommendations-engine ranking.
For you uses an interaction threshold. The WSC Sports team sets the threshold per app (default 100). Views, likes, shares, and similar interactions count toward that total.
What each viewer sees depends on their interaction count and whether you set coldStartLabels:
- At or above the threshold: The recommendations engine ranks content from viewer behavior.
coldStartLabelshas no effect. - Below the threshold and
coldStartLabelsis set: Viewers see label-based content that matches those labels. This path is separate from recommendations-engine ranking; it does not reorder or filter recommendations-engine results. - Below the threshold and
coldStartLabelsis not set: Viewers see content from the recommendations engine.
For example, a viewer with no interactions and no coldStartLabels configured is served content from the recommendations engine.
coldStartLabels applies to For you only. It does not affect Trending.
See Recommendations data source for the parameter on the For you type.
Privacy considerations for implicit personalization
For implicit personalization (For you), ranking is handled by the recommendations service based on viewer behavior. For the recommendations service to work, the SDK passes the viewer ID and viewer behavior signals to the service. The service then provides you with a ranked list of content relevant to the viewer.
Consider: if the viewer has the do-not-track setting on, you can provide Trending recommendations, but not For you.
Updated 1 day ago
