Last updated

Media CTA Options

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

Quick Start

<!-- Set CTA via HTML attribute -->
<fluid-media-widget
  media-id="12345"
  cta-options-manual-override='{"type":"cart"}'
></fluid-media-widget>
// Set CTA via SDK API
FairShareSDK.media.settings.setForMedia("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:

Cart CTA

Displays all tagged products if available:

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

Email CTA

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

Phone CTA

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

Setting CTA via SDK API

Media-Specific Settings (Higher Priority)

Set CTA options for specific media IDs. These persist in localStorage and are page-scoped:

// Cart CTA for specific media
FairShareSDK.media.settings.setForMedia("12345", {
  ctaOptionsManualOverride: {
    type: "cart"
  }
});

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

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

// Phone CTA for specific media
FairShareSDK.media.settings.setForMedia("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 - Media-SpecificsetForMedia()
3 (Lowest)SDK API - DefaultsetDefault()

Examples

Override CTA for a Promotional Video

<fluid-media-widget
  media-id="promo-video-123"
  cta-options-manual-override='{"type":"link","url":"https://example.com/sale","buttonText":"Shop the Sale"}'
></fluid-media-widget>

Set Default Cart CTA, Override for Specific Media

// Default: show cart for all media
FairShareSDK.media.settings.setDefault({
  ctaOptionsManualOverride: { type: "cart" }
});

// Override: specific video links to landing page
FairShareSDK.media.settings.setForMedia("landing-video", {
  ctaOptionsManualOverride: {
    type: "link",
    url: "https://example.com/signup",
    buttonText: "Get Started"
  }
});