GuidesAPI ReferenceRelease Notes
HomeLog InHome
Guides

Content recommendations

Recommendations help you maintain viewer engagement by keeping the next item served to viewers relevant. In a sports app, relevance might mean what everyone is watching right now, what this viewer tends to open, or a mix across surfaces. Experiences gives you different tools for those cases, so you are not forced into one algorithm for every widget.

Trending is the shared feed option. It is a shared ranking based on aggregated engagement signals (with time decay). It isn’t personalized per viewer, so viewers see a shared order. You still configure the Recommendations data source in the SDK, but you pick the Trending type. See Recommendations data source and the Trending section below.

Personalization is the per-viewer option. Your integration either uses explicit preferences and app state (for example, favorite teams and followed players) and maps that to labels or ranked content IDs (explicit personalization). Or it lets the service infer interest from behavior and return For you (implicit personalization, for Moments and Stories). Walk through the patterns in Explicit personalization and Implicit personalization.

flowchart TD
  R[Recommendations]
  R --> T[Trending global]
  R --> P[Personalization viewer-specific]
  P --> E[Explicit labels IDs follows]
  P --> I[Implicit For you behavior]

Trending (global recommendations)

Trending is the global recommendations path: content is ranked from aggregated engagement signals (with time decay), not per viewer. You point a widget or player source at the Recommendations data source with the Trending type. Viewers see what is broadly popular without your app sending viewer preference signals for that ranking.

Use Trending when you want a shared feed (for example, a home-screen highlights rail) or when tracking limits mean you can't use For you (see Viewer privacy considerations and privacy compliance).

You can also fetch the trending ranking server-side, outside the SDK, with the Recommendations endpoint. Use that when your backend needs the trending set itself: to build a custom feed, to check whether a piece of content is currently trending, or to drive push notifications.

Personalization (viewer-specific)

Personalization covers recommendations tailored to a viewer. It breaks into explicit (declared preferences and your mapping to labels or ranked IDs) and implicit (the service ranks from behavior; For you).

ExplicitImplicit (available for Moments and Stories only)
What it isViewers explicitly select what they want.
  • Who to follow
  • What tab to view
The recommendations service learns what the viewer likes from the viewer's behavior.
ExampleThe viewer selects the favorite teamThe viewer watches a series of goals
Implementation
  • You map the viewer selections to labels and optionally to content IDs in the app backend.
  • The SDK serves the content based on the label and the content ID list.
  • To use content IDs, you need to ingest the content catalog using the Blazefeed API and search for content that matches the viewer’s preferences.
The Experiences AI-driven recommendation engine provides a ranked content list that the SDK uses to serve content. The recommendations engine does the mapping for you.

SDK API reference

In Concepts, Recommendations, Trending, and Personalization (explicit vs implicit) describe how content is chosen. The SDK uses different names in code. Those API names aren't the same as the Concepts terms:

  • BlazeRecommendationsType (native) and the Web recommendations builder load For you and Trending from the recommendations service.

  • BlazeDataSourcePersonalizedType (iOS and Android) and Web personalized on labels() with BlazePersonalized add optional ID or label filters on certain data sources. They don't mean "Personalization" in the Concepts sense by themselves.

  • BlazeDataSourceType: iOS, Android

  • BlazeRecommendationsType: iOS, Android

  • BlazeDataSourcePersonalizedType: iOS, Android

  • Web (BlazeSDK): DataSourceBuilder on the BlazeSDK class for recommendations (For you and Trending) and optional personalized on labels (BlazePersonalized)



Did this page help you?