content-commerce

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

11 stars

Best use case

content-commerce is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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

Teams using content-commerce should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/content-commerce/SKILL.md --create-dirs "https://raw.githubusercontent.com/finsilabs/awesome-ecommerce-skills/main/skills/marketing-growth/content-commerce/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/content-commerce/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How content-commerce Compares

Feature / Agentcontent-commerceStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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

| Platform | Content Tool | Shoppable Embedding Approach |
|----------|-------------|------------------------------|
| **Shopify** | Shopify Blog (built-in) | Use Shogun or PageFly page builder to embed product cards; or use Shopify's native blog with manual product links |
| **WooCommerce** | WordPress native blog | Use WooCommerce product blocks (Gutenberg) or WooCommerce Shortcodes to embed products inline |
| **BigCommerce** | BigCommerce Blog or WordPress | WordPress: use WooCommerce Shortcodes or a product block plugin; BigCommerce blog: manual product linking only |
| **Headless / Custom CMS** | Contentful, Sanity, Prismic | Build 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:**
```typescript
// 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:
```tsx
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

| Problem | Solution |
|---------|----------|
| Product prices in articles are stale | Always fetch prices from the storefront API at render time; never embed prices as static CMS content |
| Out-of-stock products remain embedded in live articles | Add an inventory check in your product embed component; show "notify me" or a related product instead |
| CMS editors can't find products to embed | Use 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 email | In 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 ranking | Ensure 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

accessibility-commerce

11
from finsilabs/awesome-ecommerce-skills

Make your store usable by everyone with WCAG 2.1 AA compliance — screen reader support, keyboard navigation, and accessible cart and checkout flows

gdpr-ecommerce

11
from finsilabs/awesome-ecommerce-skills

Make your store GDPR-compliant with cookie consent, customer data export on request, right-to-deletion workflows, and data processing agreements

woocommerce-subscriptions

11
from finsilabs/awesome-ecommerce-skills

Add subscription products to WooCommerce with automatic recurring billing, renewal notifications, and subscriber self-service management

woocommerce-rest-api

11
from finsilabs/awesome-ecommerce-skills

Integrate or build headless frontends on WooCommerce using its REST API for products, orders, customers, and coupons with key authentication

woocommerce-plugin-development

11
from finsilabs/awesome-ecommerce-skills

Create custom WooCommerce plugins using action/filter hooks, the Settings API, and REST API extensions to add features without modifying core

woocommerce-performance

11
from finsilabs/awesome-ecommerce-skills

Fix slow WooCommerce stores by optimizing database queries, clearing transients, enabling Redis object caching, and configuring page caching

woocommerce-blocks

11
from finsilabs/awesome-ecommerce-skills

Customize WooCommerce checkout and cart pages using Gutenberg blocks with server-side rendering, slot-fills, and extensibility hooks

video-commerce-integration

11
from finsilabs/awesome-ecommerce-skills

Enable shoppable video experiences with live shopping events, interactive product hotspots, and one-click checkout directly from video and livestream content

social-commerce

11
from finsilabs/awesome-ecommerce-skills

Sync your catalog to Instagram, TikTok, and Facebook to enable shoppable posts and in-app checkout directly from your social content

google-ads-ecommerce

11
from finsilabs/awesome-ecommerce-skills

Build and optimize Google Ads campaigns for ecommerce with Performance Max, Shopping feeds, conversion tracking, and Smart Bidding strategies for ROAS

ecommerce-seo

11
from finsilabs/awesome-ecommerce-skills

Maximize organic search traffic with optimized product page meta tags, JSON-LD structured data for Google Shopping, and automated XML sitemaps

monitoring-alerting-commerce

11
from finsilabs/awesome-ecommerce-skills

Track store health in real time with dashboards for checkout success rate, payment failures, cart errors, and custom SLO alerting