How contextual feeds choose videos

Learn how Genuin turns the context a page sends into the videos an embed or a placement shows, and how often that result changes.

A contextual feed is an embed or a placement whose videos are picked when the page asks for them, not when you configured it. The page describes itself, and the feed service matches that description against the text of your videos. This page explains the mechanism; the parameters and the code are in Deliver contextual feeds with page, user, and location context.

Signals that go in

  • Your page sends contextual_params: the page context, the previous page's context, and the viewer's intent. It can add a location, a time, audience segments and interests, and ids that scope the feed to brands, communities, groups, or authors.
  • The SDK adds the page URL, a device id, and a page session that keeps paging consistent.
  • Brand Control Center supplies the embed or placement and its feed source. For a placement it adds the style's sections, with their titles, descriptions, categories, and keywords, and its content restrictions.

How a video is chosen

  1. The feed type is decided. For an embed, group ids make a group feed and community ids a community feed. Otherwise a non-empty page context makes the request contextual, unless it contains "surprise me", which asks for the default feed. A placement always follows step 5.
  2. Candidates are retrieved. The context phrase is searched across your brand's videos and any network brands you named. Three fields are matched: the description with a weight of 2, the AI-generated description with 1.8, and the transcript with 1.5. A video needs a match in one field, and its best field sets its score.
  3. Matches are scored. Match scores and recency are each scaled to 0 to 1 across the result set. The final score is 80 percent context and 20 percent recency, so among equally relevant videos the newer one leads.
  4. Non-matches fall back. A video with no text match keeps the default home-feed order, which leads with recency. Ties go to the newer video.
  5. Placements fill their sections. Each section of the style runs its own query from its title and description. The query is boosted by the style's categories, topics, and keywords, and filtered by brand, community, group, pinned-only, and aspect ratio. Up to 200 videos per section are kept, ordered by match score; a style without sections runs one query from its keywords. The page context reaches a placement only through Genuin's recommendation service, which also receives location, place, segments, age, and interests. Where that service is enabled for the brand, its result replaces the keyword search.
  6. Dynamic sections are generated. A placement on the dynamic algorithm asks the recommendation service to invent sections for the page, keyed by its URL and context. Until they're ready, the feed shows one "Latest Highlight" section with the default feed. Pages without their own sections borrow the ones generated for the site root.
  7. The result is paged. The first response carries a page session. The SDK returns it with the last video id to fetch the next page from the same ranking, so the feed doesn't reshuffle while a visitor scrolls.
Embed with page contextPlacement
What triggers itA page_context and no community or group idsAlways; the style decides the sections
What is matchedThe page context against description, AI description, and transcriptEach section's title and description, boosted by the style's categories, topics, and keywords
Where videos come fromYour brand and any brands_ids you addThe placement's feed type, communities, groups, and network brands, after the style's restrictions
How results are ordered0.8 × context score + 0.2 × recencyBy match score within each section; the recommendation service's order when enabled
How long a result is reusedPer page session; the response expires after 30 minutesSections for 12 hours per identical query; page sessions for a day; dynamic sections for 15 minutes

When the feed changes

Nothing refreshes on a timer inside the page. The SDK requests a feed when the container loads, when you call update with new contextual_params, and when the visitor scrolls past the loaded videos. A new video appears in an embed's contextual feed at the next page load, and in a placement once its 12-hour section cache expires. Dynamic sections are rebuilt in the background when their 15-minute window ends.

Limits

  • Text is required. A video with no description, AI description, or transcript never scores on context.
  • Fixed weights. The 80 to 20 split and the field weights aren't configurable per brand, embed, or request.
  • Placements don't search the page context. Without the recommendation service, a placement's order comes from its sections and keywords.
  • Caching bounds freshness. Section results for 12 hours, page sessions for 24 hours, dynamic sections for 15 minutes.

See also

TRUST AND COMPLIANCE

© 2026 Genuin Inc.

Genuin Footer