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

Where Product Tagging Works
| Content type | Tag mechanism | Max tags | Pinning | Platforms |
|---|---|---|---|---|
| Text post | productTags — reference product by position in text | 20 | — | iOS, Android, Web |
| Image post | attachmentProductTags — link products to specific images by fileId | 20 | — | iOS, Android, Web |
| Video post | attachmentProductTags — link products to specific videos by fileId | 20 | — | iOS, Android, Web |
| Livestream | productTags + pinnedProductId on room post | 20 | 1 at a time | iOS, Android, Web |
Flutter and React Native do not yet support product tagging.
Step 0: Set Up Your Product Catalogue
Before any tagging can happen, products must exist in Admin Console → Product catalogue.Add products individually or in bulk
Click + Add product to create one product at a time, or use Import to upload a CSV for bulk creation. Each product needs:
- Product ID — unique identifier (cannot change after creation)
- Product Name — display name shown when tagged
- Product URL — link for viewers to click through
- Status — must be Active to appear in tag search

Tag Products in Posts
UIKit (recommended)
The post composer includes built-in product tagging — type@ and switch to the product tab:
Tag products while composing

Tagged products displayed below the post

| Component | Role |
|---|---|
ProductTagSelectionComponent | Search and multi-select products (mode: create, edit, or livestream) |
ProductTagListComponent | Read-only list below the post (mode: post, image, video, livestream) |
SDK: Text Post with Product Tags
Tag products inline within the text. Each tag references a product by ID and a position range in the text.SDK: Image Post with Attachment Product Tags
For image (and video) posts, attach products to specific media files usingattachmentProductTags. Products are linked by the fileId of each uploaded image.
Tag Products in Livestreams
Livestream product tagging adds pinning — the host (or authorized co-host) can pin one product at a time as a prominent overlay visible to all viewers.Host view — pinned product overlay

Viewer view — scrollable product list

Key differences from post tagging
| Capability | Posts | Livestreams |
|---|---|---|
| Pin a product as overlay | — | ✅ (1 at a time, auto-replaces) |
| Swap pin mid-session | — | ✅ |
| Co-host product permissions | — | ✅ (host grants per co-host) |
| Update tags after creation | ✅ | ✅ (full replacement) |
| Viewer click-through | ✅ | ✅ (in-app browser, stream continues) |
Manage tagged products during the stream

Track Product Engagement
Both post and livestream product tags support fire-and-forget analytics for views and clicks. Events are automatically deduplicated per product per source.| Event | Deduplication key | Notes |
|---|---|---|
markAsViewed | {productId}.view.{sourceType}.{sourceId} | Same product in different posts = separate events |
markAsClicked | {productId}.linkClicked.{sourceType}.{sourceId} | Fire before opening the product URL |
Admin Console: Review product performance
Tagged posts surface in the console with linked product cards — admins can see which products are referenced and filter posts by tag.
Posts vs. Livestreams: Choosing the Right Approach
Shoppable feed (posts)
Shoppable feed (posts)
Best for: Product reviews, influencer recommendations, curated collections, community marketplaces.
- Tag products in text, image, or video posts
- Products appear as a “Products tagged in this post” section below the content
- Viewers browse and click through at their own pace
- No real-time coordination required
Live commerce (livestreams)
Live commerce (livestreams)
Best for: Flash sales, product demos, Q&A sessions, unboxing events.
- Pin one product at a time as a prominent overlay
- Swap pins mid-stream to match what the host is discussing
- Co-hosts can manage products if the host grants permission
- Pair with live chat for real-time questions about the product
Hybrid: post-stream replay
Hybrid: post-stream replay
Best for: Maximizing content lifespan.
- After a livestream ends, the post remains in the feed with all tagged products still browsable
- Viewers who missed the live event can still shop the product list
- Pin overlay is removed in replay, but the product list persists
Common Mistakes
Best Practices
Catalogue management
Catalogue management
- Use CSV import for initial catalogue setup with many products
- Use consistent Product IDs (e.g.,
SKU-001) — they’re immutable after creation - Archive seasonal products instead of deleting to preserve tag history
- Keep thumbnails at 1:1 aspect ratio for consistent display
Tagging strategy
Tagging strategy
- Tag 3–5 products per post for best engagement — too many dilutes focus
- For livestreams, pre-tag all products before going live so they’re ready immediately
- In image posts, link each product to the specific image that shows it
- Use text tags for editorial posts, attachment tags for visual-first content
Analytics & optimization
Analytics & optimization
- Call
markAsViewedwhen the product card enters the viewport (use intersection observer on Web) - Call
markAsClickedon tap before opening the URL - Review view-to-click ratios in the Admin Console to optimize product placement
- A/B test text tags vs. attachment tags to see which drives more clicks
Related Topics
Livestream Product Tagging
Deep-dive: pin/unpin, co-host permissions, and per-stream analytics.
Rich Content Creation
Text, image, video, poll, and file posts with @mentions and hashtags.
Product Catalogue (Console)
Admin guide for uploading, importing, and managing your product database.
UIKit Components
ProductTagSelectionComponent, ProductTagListComponent, and ManageProductTagListComponent.
Text Post SDK
productTags parameter reference for text posts.
Video SDK Product Tagging
Room post creation, pinProduct, unpinProduct, and co-host permissions.
