Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
finsilabs avatar

Content Commerce

  • 61 installs
  • 41 repo stars
  • Updated March 13, 2026
  • finsilabs/awesome-ecommerce-skills

Turn a blog into a sales channel by embedding shoppable product cards in editorial content and tracking content-influenced revenue.

About

A skill for connecting editorial content to purchasing via shoppable product embeds and content-attribution tracking. A developer uses it to capture high-intent organic traffic and measure which content drives revenue.

  • Embed products in blogs/guides without engineering help
  • Track which editorial pieces actually drive revenue

Content Commerce by the numbers

  • 61 all-time installs (skills.sh)
  • Ranked #1,271 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
  • Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill content-commerce

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs61
repo stars41
Last updatedMarch 13, 2026
Repositoryfinsilabs/awesome-ecommerce-skills

What it does

Turn a blog into a sales channel by embedding shoppable product cards in editorial content and tracking content-influenced revenue.

Files

SKILL.mdMarkdownGitHub ↗

Content Commerce

Overview

Content commerce bridges editorial content — blog posts, buying guides, lookbooks — with direct product purchasing, capturing high-intent organic traffic and shortening the path from discovery to purchase. Shopify and WooCommerce both have built-in blog functionality where you can link products directly; headless setups require a CMS integration. The key goal is making it easy for your editorial team to embed products without engineering help, and tracking which content pieces actually drive revenue.

When to Use This Skill

  • When a blog drives significant organic traffic but contributes little to revenue
  • When editorial team needs a no-code way to embed products inside articles
  • When implementing SEO-optimized buying guides that rank for "best [product category]" queries
  • When building a lookbook or collection page with editorial text and shoppable product grids
  • When needing to track which content pieces drive the most revenue

Core Instructions

Step 1: Determine the merchant's platform and content setup

PlatformContent ToolShoppable Embedding Approach
ShopifyShopify Blog (built-in)Use Shogun or PageFly page builder to embed product cards; or use Shopify's native blog with manual product links
WooCommerceWordPress native blogUse WooCommerce product blocks (Gutenberg) or WooCommerce Shortcodes to embed products inline
BigCommerceBigCommerce Blog or WordPressWordPress: use WooCommerce Shortcodes or a product block plugin; BigCommerce blog: manual product linking only
Headless / Custom CMSContentful, Sanity, PrismicBuild a product embed component using the CMS's custom content type system and Storefront API

Step 2: Set up shoppable content

---

Shopify

Option A: Shopify Blog with native product links (free, simple)

1. Go to Shopify Admin → Online Store → Blog Posts 2. In any blog post, highlight text and click the link icon to link to a product page (e.g., /products/product-handle) 3. To embed a product image with a buy button, use a section or block in your theme:

  • Go to Online Store → Themes → Customize
  • On the blog post template, add a "Product" or "Featured Product" section and configure it for each post

4. Limitations: no inline product cards; products appear as separate sections above/below the article body

Option B: Shogun or PageFly (recommended for buying guides)

1. Install Shogun or PageFly from the Shopify App Store 2. Create a new landing page for your buying guide or lookbook 3. Drag and drop Product Card elements directly into the editorial content 4. Each product card shows image, price, and "Add to Cart" button with live Shopify inventory 5. Publish the page and link to it from your blog or navigation

Option C: Instant (previously known as EcomSend) — for in-blog product embeds

1. Install the Instant page builder app 2. Use the blog post editor to add product cards inline within article text

---

WooCommerce

Using Gutenberg product blocks (built-in with WooCommerce):

1. Open any WordPress post in the Gutenberg editor 2. Click the + block button and search for "Products" 3. Insert a Products (Beta) block or Hand-picked Products block 4. Search for products by name and select them — a product grid with prices and "Add to Cart" appears inline in the article 5. For a single inline product card, use the Single Product block

Using WooCommerce Shortcodes (classic editor):

Insert a product anywhere in article text:

[product id="123"]
[products ids="123,456,789" columns="3"]
[product_page id="123"]

---

BigCommerce

1. For BigCommerce's built-in blog, you are limited to manual product links — no native product embed blocks 2. Recommended: run WordPress on a subdomain (blog.yourstore.com) with the BigCommerce for WordPress plugin 3. This gives you Gutenberg product blocks (same as WooCommerce setup above) while the main store runs on BigCommerce

---

Custom / Headless

For headless setups with Contentful, Sanity, or Prismic, build a product embed content type:

Sanity schema for a product embed:

// schemas/productEmbed.ts
export const productEmbedType = {
  name: 'productEmbed',
  title: 'Product Embed',
  type: 'object',
  fields: [
    {
      name: 'productId',
      title: 'Product ID',
      type: 'string',
      description: 'Shopify/BigCommerce product ID or handle',
    },
    {
      name: 'displayStyle',
      title: 'Display Style',
      type: 'string',
      options: { list: ['card', 'inline', 'full'] },
      initialValue: 'card',
    },
    {
      name: 'ctaText',
      title: 'CTA Text',
      type: 'string',
      initialValue: 'Shop Now',
    },
  ],
};

React component that fetches live price and inventory from the Storefront API:

export function ProductEmbed({ productId, displayStyle, ctaText, articleSlug }: ProductEmbedProps) {
  const [product, setProduct] = useState<Product | null>(null);

  useEffect(() => {
    fetch(`/api/products/${productId}?fields=name,price,images,slug,inStock`)
      .then(r => r.json())
      .then(setProduct);
  }, [productId]);

  if (!product) return <div className="product-embed-skeleton" />;

  return (
    <div className={`product-embed product-embed--${displayStyle}`}>
      <img src={product.images[0]?.url} alt={product.name} />
      <div className="product-embed__info">
        <h3>{product.name}</h3>
        <p>${(product.priceInCents / 100).toFixed(2)}</p>
        {!product.inStock && <span>Out of stock</span>}
      </div>
      <a href={`/products/${product.slug}?utm_source=content&utm_campaign=${articleSlug}`}>
        {ctaText}
      </a>
    </div>
  );
}

Step 3: Add UTM attribution to all content links

Append UTM parameters to every product link within content so you can track which articles drive revenue in Google Analytics:

  • For Shopify/WooCommerce native embeds: add ?utm_source=content&utm_medium=blog&utm_campaign=ARTICLE-SLUG to product URLs manually or via a theme setting
  • For Shogun/PageFly: each button has a URL field — include UTM params there
  • For headless: build UTM parameters into the product embed component automatically using the article slug

Step 4: Track content-driven revenue

In Google Analytics 4: 1. Go to Reports → Acquisition → Traffic Acquisition 2. Filter by Session source = content to see all orders attributed to blog content 3. For more detail: go to Explore → Funnel Exploration and filter by utm_medium = blog

In Shopify Analytics: 1. Go to Analytics → Reports → Sales by traffic source 2. Filter by source to see UTM-tagged content traffic

Best Practices

  • Fetch product prices live — never hardcode prices in CMS content; prices change and stale prices erode trust
  • Show "Out of Stock" state in product embeds — a broken-looking card hurts conversion more than no card at all
  • Place product embeds high in the article — data shows most readers don't scroll past 60% of an article; embed the first product recommendation within the first 400 words
  • Use UTM `utm_content` = product slug — this lets you see which specific product in an article drove the conversion, not just which article
  • Give editorial team a product search tool — in Shopify, editors can search products by name when building pages in Shogun/PageFly; do not require them to know product IDs

Common Pitfalls

ProblemSolution
Product prices in articles are staleAlways fetch prices from the storefront API at render time; never embed prices as static CMS content
Out-of-stock products remain embedded in live articlesAdd an inventory check in your product embed component; show "notify me" or a related product instead
CMS editors can't find products to embedUse Shogun/PageFly's product search widget; for headless, build a product picker that queries the Storefront API
Content attribution double-counts — same order attributed to both content and emailIn GA4, use last non-direct click as the attribution model, or manually review multi-touch paths in the Path Exploration report
Buying guide SEO titles not rankingEnsure article titles match the exact query format ("Best [Product Type] for [Use Case] in [Year]") and include product schema.org markup

Related Skills

  • @social-commerce
  • @influencer-tracking
  • @ecommerce-seo
  • @email-marketing-automation
  • @marketing-attribution-dashboard

Related skills

Marketing & SEOcontentseo

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.