SDK v7.x · Last verified March 2026 · iOS · Android · Web
Speed run — just the code
Speed run — just the code

Prerequisites:
- A room and livestream post already exist → Go Live & Room Management
- Product Catalog is configured and enabled in your Admin Console
- Available on iOS, Android, and Web only (Flutter / React Native not yet supported)
How Product Tagging Works
| Phase | Who can tag | Who can pin |
|---|---|---|
| Pre-live (backstage) | Host only | Host only |
| During livestream | Host + co-host (if granted) | Host + co-host (if granted) |
| Post-live (management) | Host only | — |
| Limit | Value |
|---|---|
| Max products per livestream | 20 |
| Simultaneously pinned products | 1 |
Admin Console: Set Up Your Product Catalogue
Before you can tag products in a livestream, your catalogue must be populated in Admin Console → Product catalogue.Add products
Click + Add product to create products individually, or use Import to upload a CSV for bulk creation. Each product needs an ID, name, URL, and status set to Active.

In-App: Tag & Pin Products
Once products exist in the catalogue, hosts (and co-hosts with permission) can tag and pin them during the stream.Tag products

Manage tagged products

Viewer experience
Viewers see a tag icon with a badge count. Tapping opens a scrollable product list with prices and “View” buttons.
Step-by-Step Implementation
Create a room post with product tags
Pin and swap products mid-stream
Only one product can be pinned at a time. Pinning a new product automatically replaces the previous one — no need to unpin first.
Update the tag list during the stream
updateProductTags does a full replacement. To add a product, merge it with the existing array. If the currently pinned product is not in the new array, it is automatically unpinned.Grant co-host product permissions
By default co-hosts cannot manage products. The host must explicitly grant permission.Full reference → Co-Host Management
UIKit: Pre-Built Product Tagging Components
If you’re using UIKit, the product tagging UI is handled with two shared components:| Component | Used for | Platforms |
|---|---|---|
ProductTagSelectionComponent | Searching and selecting products to tag (up to 20 in livestream mode) | iOS, Android, Web |
ManageProductTagListComponent | Managing tagged products with pin/unpin/remove (host view); browsable read-only list (viewer view) | iOS, Android, Web |
Common Mistakes
Best Practices
Merchandising strategy
Merchandising strategy
- Pre-tag all products before going live so they’re ready immediately
- Pin the highest-margin or most-relevant product first
- Swap the pinned product every 3–5 minutes to keep the showcase fresh
- Remove sold-out products from the tag list in real-time
Co-host coordination
Co-host coordination
- Grant product permissions to a dedicated “product manager” co-host
- Have the host focus on presenting while the co-host manages pin swaps
- Revoke permissions if a co-host leaves mid-stream
Analytics & optimization
Analytics & optimization
- Call
markAsViewedwhen the product card enters the viewport (use intersection observer on Web) - Call
markAsClickedon tap/click before opening the product URL - Review view-to-click ratios in the Admin Console to optimize product placement
- A/B test pin timing to find the optimal pin duration per product category
Next Steps
Go Live & Room Management
Room creation, broadcast setup, and lifecycle management.
Co-Hosting
Invite co-hosts to share the stage during a broadcast.
Live Chat & Engagement
Wire up chat, reactions, and viewer count alongside the video.
