Onsite: contextual placements across homepage, category, and product pages
Onsite is video on your own properties, placed where the page's context and the viewer's history say it belongs, with the goal of longer sessions, more return visits, and higher lifetime value. Reading time about 5 minutes.
What a contextual placement is
A placement (see Register your placements on the Hierarchical Grid) plus the context of the page it sits on. The embed can pass live context per page view (data-genuin-context), so a PDP for running shoes gets running-shoe video and a recipe article gets the cooking group, without a separate placement per page.
Recommended layout by page type
| Page type | Placement position | Experience | Why |
|---|---|---|---|
| Homepage | Below the first fold, full width | Shorts + Shoppable | Discovery without pushing the hero down |
| Article or episode | After paragraph three, or end of article | Shorts | Matches reading intent; highest completion rates |
| Category | Between row one and two of the grid | Shoppable | Products in motion next to products in stills |
| Product detail | Beside the gallery or under the buy box | Shoppable | Answers "how does it look in use" |
| Search results with no results | Top | Shorts | Keeps the session alive |
| Post-purchase or confirmation | Full width | Community | Turns a buyer into a member |
Continuity across the journey
When auto login (see Bring your audience in with auto login and SSO) is on, Maya carries what a viewer watched on one page into the next placement, so a session reads as one story rather than six unrelated feeds. This is the contextual continuity that lifts per-minute watch time, the engagement metric Maya is measured on (see Personalization and relevance: how Maya ranks every feed).
Measuring Onsite
Reports → Onsite shows watch time per minute per user, return rate, pages per session with and without the placement, and assisted conversions when a commerce event is connected (see Attribution: closed-loop commerce and conversion forecasts).
How it runs
The placements, feeds, destinations, and identity settings described here are proposed from your grid and audience, applied on confirmation, and tuned on a cadence from the reports.
Support. Help is available 24/7 from Brand Control Center and from every page of these docs. Ask in plain language; when a person is needed, an account manager, developer, or Ops engineer joins the same thread and stays on it until it is resolved. Every Business Account owner has this on every plan (see 24/7 Octo-enabled support: how Octo brings in account managers, developers, and Ops).
API & SDK
Access: the calls in the table are the proposed Business Account API (see Business Account API: provisioning, OAuth, and the resource map), authenticated with a key scoped to the account and a role or an OAuth client acting for it; every confirmation in this article becomes a proposal you can approve by API (POST /proposals/{proposalId}:approve). Live today, the server API under /api/thirdparty authenticates with a gn-access-token (see Generate an access token), and Live API today and the Business Account API roadmap maps what is live to what is proposed.
| Call | Purpose |
|---|---|
| POST /brands/{brandId}/placements | Register a placement on a page type |
| GET /placements/{placementId}/embed | Embed snippet for the placement (Web SDK attributes pre-filled) |
| GET /placements/{placementId}/feed | Server-side render of the ranked feed for a page context (SSR and native apps) |
| GET /reports/engagement | Watch time, completion, lift, cohorts by placement, feed, community |
// proposed server SDK (Business Account API)
import { Genuin } from '@genuin/sdk';
const genuin = new Genuin({ apiKey: process.env.GENUIN_KEY });
await genuin.placements.create(brandId, { pageType, size: '9:16', experiences: ['shorts'] });
await genuin.placements.embed(placementId);
await genuin.placements.feed(placementId, { context });Live today: Add a Genuin placement to your website · Embed the Genuin Web SDK on your website · Customize the Genuin video player · Receive engagement events in your own analytics.
SDKs: Web SDK 2.0.6 (see Embed the Genuin Web SDK on your website), iOS SDK 2.1.5 (see Integrate the Genuin iOS SDK), Android SDK 2.1.5 (see Integrate the Genuin Android SDK), React Native 3.0.3 (see Integrate the Genuin SDK with React Native apps), and Flutter (see Integrate the Genuin SDK with Flutter apps) render Genuin and sign members in; the Node (@genuin/sdk) and Python (genuin) server SDKs are proposed with Business Account API: provisioning, OAuth, and the resource map.

