agentleFS
claude-office-skillsclaude-office-skills/skills/facebook-ads/SKILL.md

Facebook/Meta Ads

Skill433 starsChanged 9 months agoMITView on GitHub

Automate Facebook and Instagram advertising campaigns, audience targeting, and performance optimization

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Test Audiences: Start broad, then refine

    line 449
  2. Distinctive:

    Creative Diversity: Test multiple formats

    line 450
  3. Distinctive:

    Pixel Accuracy: Verify tracking setup

    line 451

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Facebook/Meta Ads

Comprehensive skill for automating Facebook and Instagram advertising.

Core Workflows

1. Campaign Structure

META ADS HIERARCHY:
┌─────────────────────────────────────────────────────────┐
│ 🎯 CAMPAIGN (Objective)                                 │
│    Goal: Conversions, Traffic, Awareness, etc.         │
├─────────────────────────────────────────────────────────┤
│   ├── 📊 AD SET 1 (Audience + Budget)                  │
│   │   ├── Audience: Lookalike 1%                       │
│   │   ├── Budget: $50/day                              │
│   │   ├── Placement: Feed + Stories                    │
│   │   │                                                 │
│   │   ├── 📝 Ad 1: Image + Copy A                      │
│   │   ├── 📝 Ad 2: Video + Copy A                      │
│   │   └── 📝 Ad 3: Carousel + Copy B                   │
│   │                                                     │
│   └── 📊 AD SET 2 (Different Audience)                 │
│       ├── Audience: Interest Targeting                 │
│       ├── Budget: $30/day                              │
│       │                                                 │
│       ├── 📝 Ad 4: Image + Copy A                      │
│       └── 📝 Ad 5: Video + Copy B                      │
└─────────────────────────────────────────────────────────┘

2. Campaign Objectives

campaign_objectives:
  awareness:
    - brand_awareness
    - reach
    
  consideration:
    - traffic
    - engagement
    - app_installs
    - video_views
    - lead_generation
    - messages
    
  conversion:
    - conversions
    - catalog_sales
    - store_traffic

Audience Targeting

Custom Audiences

custom_audiences:
  website_visitors:
    source: pixel
    rules:
      - event: ViewContent
        retention_days: 30
        
  email_list:
    source: customer_file
    file: "customers.csv"
    mapping:
      - email
      - phone
      - first_name
      - last_name
      
  video_viewers:
    source: engagement
    video_id: "123456"
    watched_percentage: 75
    retention_days: 365
    
  page_engagers:
    source: page
    actions:
      - liked_page
      - commented
      - shared
    retention_days: 90

Lookalike Audiences

lookalike_audiences:
  - name: "High Value Lookalike 1%"
    source: purchasers_180d
    country: "US"
    percentage: 1
    
  - name: "Leads Lookalike 2%"
    source: lead_form_submitters
    country: "US"
    percentage: 2
    
  - name: "Engagers Lookalike 3%"
    source: page_engagers
    country: ["US", "CA", "UK"]
    percentage: 3

Interest Targeting

interest_targeting:
  detailed_targeting:
    interests:
      - "Online shopping"
      - "E-commerce"
      - "Fashion"
      
    behaviors:
      - "Engaged shoppers"
      - "Online buyers"
      
    demographics:
      age: [25, 54]
      gender: all
      
  exclusions:
    custom_audiences:
      - existing_customers
    interests:
      - competitors

Ad Creative

Ad Formats

ad_formats:
  single_image:
    image_specs:
      ratio: "1:1"
      size: "1080x1080"
      format: ["jpg", "png"]
    text:
      primary: 125 chars
      headline: 40 chars
      description: 30 chars
      
  video:
    specs:
      ratio: ["1:1", "4:5", "9:16"]
      duration: "15-60 seconds"
      format: ["mp4", "mov"]
    text:
      primary: 125 chars
      headline: 40 chars
      
  carousel:
    cards: [2, 10]
    specs:
      ratio: "1:1"
      size: "1080x1080"
    features:
      - swipeable
      - deep_links
      
  collection:
    cover: video_or_image
    products: 4
    instant_experience: required

Creative Testing

creative_testing:
  strategy: dynamic_creative
  
  assets:
    images:
      - "lifestyle_1.jpg"
      - "product_1.jpg"
      - "ugc_1.jpg"
      
    videos:
      - "hero_15s.mp4"
      - "testimonial_30s.mp4"
      
    headlines:
      - "Shop the Sale"
      - "Limited Time Offer"
      - "Free Shipping Today"
      
    primary_text:
      - "Discover our best-selling products..."
      - "Join thousands of happy customers..."
      
    cta:
      - SHOP_NOW
      - LEARN_MORE
      - GET_OFFER
      
  optimization:
    goal: conversions
    auto_optimize: true

Budget & Bidding

Budget Strategies

budget_config:
  campaign_budget_optimization:
    enabled: true
    daily_budget: 200
    
  ad_set_budgets:
    - ad_set: "prospecting"
      allocation: 60%
    - ad_set: "retargeting"
      allocation: 40%
      
  bid_strategy:
    type: lowest_cost  # or cost_cap, bid_cap
    
  scheduling:
    start_time: "2024-01-15T00:00:00"
    end_time: "2024-01-31T23:59:59"
    dayparting:
      enabled: true
      hours: [8, 22]  # 8 AM - 10 PM

Automated Rules

automated_rules:
  - name: "Pause Low Performers"
    conditions:
      - metric: cpa
        operator: greater_than
        value: 50
      - metric: spend
        operator: greater_than
        value: 100
    action:
      type: pause_ad
      notification: email
      
  - name: "Scale Winners"
    conditions:
      - metric: roas
        operator: greater_than
        value: 3
      - metric: impressions
        operator: greater_than
        value: 1000
    action:
      type: increase_budget
      value: 20%
      max_budget: 500
      
  - name: "Ad Fatigue Alert"
    conditions:
      - metric: frequency
        operator: greater_than
        value: 3
    action:
      type: notification
      channel: slack

Pixel & Tracking

Pixel Events

pixel_events:
  standard_events:
    - PageView
    - ViewContent
    - AddToCart
    - InitiateCheckout
    - Purchase
    - Lead
    - CompleteRegistration
    
  custom_events:
    - name: "ProductViewed"
      parameters:
        content_ids: ["SKU123"]
        content_type: "product"
        value: 29.99
        currency: "USD"
        
  conversions_api:
    enabled: true
    events:
      - Purchase
      - Lead
    deduplication: true

Attribution Settings

attribution:
  window:
    click: 7_days
    view: 1_day
    
  model: data_driven  # or last_touch
  
  conversion_events:
    - name: "Purchase"
      value_optimization: true
    - name: "Lead"
      value_optimization: false

Analytics Dashboard

META ADS PERFORMANCE - LAST 7 DAYS
═══════════════════════════════════════

SPEND: $2,450
RESULTS: 156 purchases
CPA: $15.70
ROAS: 4.2x

BY CAMPAIGN:
┌────────────────────┬─────────┬────────┬───────┐
│ Campaign           │ Spend   │ Conv.  │ ROAS  │
├────────────────────┼─────────┼────────┼───────┤
│ Prospecting - LAL  │ $1,200  │ 68     │ 3.8x  │
│ Retargeting - Cart │ $450    │ 52     │ 6.2x  │
│ Retargeting - View │ $350    │ 24     │ 4.5x  │
│ Brand Awareness    │ $450    │ 12     │ 2.1x  │
└────────────────────┴─────────┴────────┴───────┘

BY PLACEMENT:
Feed        ████████████████ 62%
Stories     ████████░░░░░░░░ 24%
Reels       ████░░░░░░░░░░░░ 10%
Audience Net ██░░░░░░░░░░░░░░ 4%

TOP CREATIVE:
1. Video testimonial: 4.8x ROAS
2. Carousel product: 4.2x ROAS
3. Static lifestyle: 3.5x ROAS

API Examples

Create Campaign

// Create Campaign
const campaign = await fb.api('/act_123/campaigns', 'POST', {
  name: 'Q1 Prospecting',
  objective: 'CONVERSIONS',
  status: 'PAUSED',
  special_ad_categories: []
});

// Create Ad Set
const adSet = await fb.api('/act_123/adsets', 'POST', {
  name: 'LAL 1% - US',
  campaign_id: campaign.id,
  optimization_goal: 'OFFSITE_CONVERSIONS',
  billing_event: 'IMPRESSIONS',
  bid_strategy: 'LOWEST_COST_WITHOUT_CAP',
  daily_budget: 5000, // cents
  targeting: {
    geo_locations: { countries: ['US'] },
    custom_audiences: [{ id: 'lookalike_id' }]
  },
  promoted_object: {
    pixel_id: 'pixel_123',
    custom_event_type: 'PURCHASE'
  }
});

// Create Ad
const ad = await fb.api('/act_123/ads', 'POST', {
  name: 'Video Ad - Copy A',
  adset_id: adSet.id,
  creative: {
    creative_id: 'creative_123'
  },
  status: 'PAUSED'
});

Best Practices

  1. Test Audiences: Start broad, then refine
  2. Creative Diversity: Test multiple formats
  3. Pixel Accuracy: Verify tracking setup
  4. Budget Allocation: 70% prospecting, 30% retargeting
  5. Frequency Cap: Watch for ad fatigue
  6. Mobile First: Design for mobile experience
  7. A/B Testing: Systematic creative tests
  8. Attribution: Understand your customer journey

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.