Last updated

Playlist CTA Options

Customize the Call-to-Action (CTA) displayed with media items in a playlist. CTAs can be set via HTML attributes or the SDK API.

Quick Start

<!-- Set CTA via HTML attribute -->
<fluid-media-widget
  playlist-id="12345"
  cta-options-manual-override='{"type":"cart"}'
></fluid-media-widget>
// Set CTA via SDK API for all media in a playlist
FairShareSDK.media.settings.setForPlaylist("12345", {
  ctaOptionsManualOverride: { type: "cart" }
});

CTA Types

TypeDescriptionRequired Fields
cartAdd to cart actionNone (displays tagged products)
linkExternal URL linkurl
emailEmail/contact formNone
phonePhone contactNone

CTA Options Reference

OptionTypeRequiredDescription
typestringYesCTA type: 'cart', 'link', 'phone', or 'email'
urlstringIf type is 'link'URL to navigate to when CTA is clicked
buttonTextstringNoCustom button text (not applicable for 'cart' type)
buttonDescriptionstringNoDescription text below the button (not applicable for 'cart' or 'link' type)

Setting CTA via HTML Attribute

Use the cta-options-manual-override attribute with a JSON string. This applies to all media items in the playlist:

Cart CTA

Displays all tagged products if available:

<fluid-media-widget
  playlist-id="12345"
  cta-options-manual-override='{"type":"cart"}'
></fluid-media-widget>
<fluid-media-widget
  playlist-id="12345"
  cta-options-manual-override='{"type":"link","url":"https://shop.example.com","buttonText":"Shop Now"}'
></fluid-media-widget>

Email CTA

<fluid-media-widget
  playlist-id="12345"
  cta-options-manual-override='{"type":"email","buttonText":"Get Updates","buttonDescription":"Join 10,000+ subscribers"}'
></fluid-media-widget>

Phone CTA

<fluid-media-widget
  playlist-id="12345"
  cta-options-manual-override='{"type":"phone","buttonText":"Call Now"}'
></fluid-media-widget>

Setting CTA via SDK API

Playlist-Specific Settings

Set CTA options for all media within a specific playlist. These persist in localStorage and are page-scoped:

// Cart CTA for all media in playlist
FairShareSDK.media.settings.setForPlaylist("12345", {
  ctaOptionsManualOverride: {
    type: "cart"
  }
});

// Link CTA for all media in playlist
FairShareSDK.media.settings.setForPlaylist("12345", {
  ctaOptionsManualOverride: {
    type: "link",
    url: "https://shop.example.com",
    buttonText: "Shop Now"
  }
});

// Email CTA for all media in playlist
FairShareSDK.media.settings.setForPlaylist("12345", {
  ctaOptionsManualOverride: {
    type: "email",
    buttonText: "Get Updates",
    buttonDescription: "Join 10,000+ subscribers"
  }
});

// Phone CTA for all media in playlist
FairShareSDK.media.settings.setForPlaylist("12345", {
  ctaOptionsManualOverride: {
    type: "phone",
    buttonText: "Call Now"
  }
});

Default Settings (Lower Priority)

Set default CTA options that apply to all media widgets on the page when no specific override exists:

// Set default CTA for all media widgets
FairShareSDK.media.settings.setDefault({
  ctaOptionsManualOverride: {
    type: "cart"
  }
});

Priority Order

CTA options are applied in the following priority (highest to lowest):

PrioritySourceDescription
1 (Highest)HTML Attributecta-options-manual-override attribute
2SDK API - Playlist-SpecificsetForPlaylist()
3 (Lowest)SDK API - DefaultsetDefault()

Examples

Product Showcase Playlist

<fluid-media-widget
  playlist-id="product-showcase"
  cta-options-manual-override='{"type":"cart"}'
></fluid-media-widget>

Tutorial Playlist with Sign-up CTA

<fluid-media-widget
  playlist-id="tutorials"
  cta-options-manual-override='{"type":"link","url":"https://example.com/signup","buttonText":"Start Free Trial"}'
></fluid-media-widget>

Set Different CTAs for Different Playlists

// Product videos: show cart
FairShareSDK.media.settings.setForPlaylist("products", {
  ctaOptionsManualOverride: { type: "cart" }
});

// Tutorial videos: link to signup
FairShareSDK.media.settings.setForPlaylist("tutorials", {
  ctaOptionsManualOverride: {
    type: "link",
    url: "https://example.com/signup",
    buttonText: "Get Started"
  }
});

// Support videos: show contact options
FairShareSDK.media.settings.setForPlaylist("support", {
  ctaOptionsManualOverride: {
    type: "email",
    buttonText: "Contact Support",
    buttonDescription: "We're here to help"
  }
});