{
  "schemaVersion": "1.0",
  "item": {
    "slug": "meta-ad-creatives",
    "name": "Meta Ad Creatives",
    "source": "tencent",
    "type": "skill",
    "category": "数据分析",
    "sourceUrl": "https://clawhub.ai/fortytwode/meta-ad-creatives",
    "canonicalUrl": "https://clawhub.ai/fortytwode/meta-ad-creatives",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/meta-ad-creatives",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=meta-ad-creatives",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "accounts_config.example.json",
      "SKILL.md",
      "scripts/meta_ad_creatives.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/meta-ad-creatives"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/meta-ad-creatives",
    "agentPageUrl": "https://openagent3.xyz/skills/meta-ad-creatives/agent",
    "manifestUrl": "https://openagent3.xyz/skills/meta-ad-creatives/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/meta-ad-creatives/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Meta Ad Creatives",
        "body": "Track creative performance and hit rates across multiple Meta Ads accounts."
      },
      {
        "title": "What This Skill Does",
        "body": "Calculate hit rates (% of creatives meeting performance benchmarks)\nTrack multiple metrics: CPT (cost per trial), CPI (cost per install), IPM (installs per mille), ROAS\nCompare performance across multiple accounts\nStore historical data for trend analysis\nIdentify winning creatives vs underperformers\nSupport currency conversion for international accounts"
      },
      {
        "title": "1. Environment Variables",
        "body": "FACEBOOK_ACCESS_TOKEN=your_token_here\nFACEBOOK_APP_ID=your_app_id\nFACEBOOK_APP_SECRET=your_app_secret"
      },
      {
        "title": "2. Accounts Configuration",
        "body": "Create accounts_config.json:\n\n{\n  \"accounts\": {\n    \"ClientName\": {\n      \"account_id\": \"123456789\",\n      \"filter\": \"CampaignNameFilter\",\n      \"geo_filter\": \"US\",\n      \"benchmark_value\": 100,\n      \"benchmark_display\": \"CPT < $100\",\n      \"active\": true\n    }\n  }\n}\n\nConfiguration fields:\n\naccount_id: Meta Ad Account ID (without act_ prefix)\nfilter: Campaign name filter (optional)\ngeo_filter: Geographic filter like \"US\" (optional)\nbenchmark_value: CPT threshold for \"winning\" creatives\nbenchmark_display: Human-readable benchmark description"
      },
      {
        "title": "Get Hit Rates for Current Month",
        "body": "from scripts.meta_ad_creatives import get_all_hit_rates\n\ndata = get_all_hit_rates(month_offset=0)\nprint(f\"Overall hit rate: {data['totals']['hit_rate']}%\")\nfor account in data['accounts']:\n    print(f\"  {account['account_name']}: {account['hit_rate']}%\")"
      },
      {
        "title": "Get Hit Rates for Previous Months",
        "body": "# Last month\ndata = get_all_hit_rates(month_offset=-1)\n\n# Two months ago\ndata = get_all_hit_rates(month_offset=-2)"
      },
      {
        "title": "Get All-Time Aggregated Data",
        "body": "data = get_all_hit_rates(all_time=True)"
      },
      {
        "title": "Get Individual Ad Performance",
        "body": "from scripts.meta_ad_creatives import get_individual_ads\n\n# All ads for an account\nads = get_individual_ads(account_name=\"ClientName\", month_key=\"2026-01\")\n\n# Only winning ads\nwinners = get_individual_ads(account_name=\"ClientName\", hit_only=True)\n\n# Sort by CPT\nads = get_individual_ads(sort_by=\"cpt\")"
      },
      {
        "title": "Monthly Comparison",
        "body": "from scripts.meta_ad_creatives import get_monthly_comparison\n\n# Compare last 3 months\nmonths = get_monthly_comparison(num_months=3)\nfor month in months:\n    print(f\"{month['month_label']}: {month['totals']['hit_rate']}%\")"
      },
      {
        "title": "Key Metrics",
        "body": "MetricDescriptionTotal AdsAds created in the periodAds with SpendAds that received budgetAds Hitting BenchmarkAds meeting CPT thresholdHit Rate% of ads meeting benchmarkCPTCost Per Trial (spend / trials)"
      },
      {
        "title": "Hit Rate Calculation",
        "body": "A creative \"hits\" the benchmark when:\n\nIt has spend > $0\nIt has trials > 0\nCPT < benchmark_value (e.g., $100)\n\nHit Rate = (Ads Hitting Benchmark / Ads with Spend) × 100"
      },
      {
        "title": "Data Storage",
        "body": "The skill stores historical data for trend analysis:\n\nFirestore (default for cloud deployments)\nSQLite (local fallback)\n\nSet USE_FIRESTORE=false to use SQLite locally."
      },
      {
        "title": "Common Questions This Answers",
        "body": "\"What's our creative hit rate this month?\"\n\"Which creatives are winning for [Client]?\"\n\"How does this month compare to last month?\"\n\"Show me all ads that hit the benchmark\"\n\"What's our all-time hit rate?\""
      }
    ],
    "body": "Meta Ad Creatives\n\nTrack creative performance and hit rates across multiple Meta Ads accounts.\n\nWhat This Skill Does\nCalculate hit rates (% of creatives meeting performance benchmarks)\nTrack multiple metrics: CPT (cost per trial), CPI (cost per install), IPM (installs per mille), ROAS\nCompare performance across multiple accounts\nStore historical data for trend analysis\nIdentify winning creatives vs underperformers\nSupport currency conversion for international accounts\nSetup\n1. Environment Variables\nFACEBOOK_ACCESS_TOKEN=your_token_here\nFACEBOOK_APP_ID=your_app_id\nFACEBOOK_APP_SECRET=your_app_secret\n\n2. Accounts Configuration\n\nCreate accounts_config.json:\n\n{\n  \"accounts\": {\n    \"ClientName\": {\n      \"account_id\": \"123456789\",\n      \"filter\": \"CampaignNameFilter\",\n      \"geo_filter\": \"US\",\n      \"benchmark_value\": 100,\n      \"benchmark_display\": \"CPT < $100\",\n      \"active\": true\n    }\n  }\n}\n\n\nConfiguration fields:\n\naccount_id: Meta Ad Account ID (without act_ prefix)\nfilter: Campaign name filter (optional)\ngeo_filter: Geographic filter like \"US\" (optional)\nbenchmark_value: CPT threshold for \"winning\" creatives\nbenchmark_display: Human-readable benchmark description\nUsage\nGet Hit Rates for Current Month\nfrom scripts.meta_ad_creatives import get_all_hit_rates\n\ndata = get_all_hit_rates(month_offset=0)\nprint(f\"Overall hit rate: {data['totals']['hit_rate']}%\")\nfor account in data['accounts']:\n    print(f\"  {account['account_name']}: {account['hit_rate']}%\")\n\nGet Hit Rates for Previous Months\n# Last month\ndata = get_all_hit_rates(month_offset=-1)\n\n# Two months ago\ndata = get_all_hit_rates(month_offset=-2)\n\nGet All-Time Aggregated Data\ndata = get_all_hit_rates(all_time=True)\n\nGet Individual Ad Performance\nfrom scripts.meta_ad_creatives import get_individual_ads\n\n# All ads for an account\nads = get_individual_ads(account_name=\"ClientName\", month_key=\"2026-01\")\n\n# Only winning ads\nwinners = get_individual_ads(account_name=\"ClientName\", hit_only=True)\n\n# Sort by CPT\nads = get_individual_ads(sort_by=\"cpt\")\n\nMonthly Comparison\nfrom scripts.meta_ad_creatives import get_monthly_comparison\n\n# Compare last 3 months\nmonths = get_monthly_comparison(num_months=3)\nfor month in months:\n    print(f\"{month['month_label']}: {month['totals']['hit_rate']}%\")\n\nKey Metrics\nMetric\tDescription\nTotal Ads\tAds created in the period\nAds with Spend\tAds that received budget\nAds Hitting Benchmark\tAds meeting CPT threshold\nHit Rate\t% of ads meeting benchmark\nCPT\tCost Per Trial (spend / trials)\nHit Rate Calculation\n\nA creative \"hits\" the benchmark when:\n\nIt has spend > $0\nIt has trials > 0\nCPT < benchmark_value (e.g., $100)\n\nHit Rate = (Ads Hitting Benchmark / Ads with Spend) × 100\n\nData Storage\n\nThe skill stores historical data for trend analysis:\n\nFirestore (default for cloud deployments)\nSQLite (local fallback)\n\nSet USE_FIRESTORE=false to use SQLite locally.\n\nCommon Questions This Answers\n\"What's our creative hit rate this month?\"\n\"Which creatives are winning for [Client]?\"\n\"How does this month compare to last month?\"\n\"Show me all ads that hit the benchmark\"\n\"What's our all-time hit rate?\""
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/fortytwode/meta-ad-creatives",
    "publisherUrl": "https://clawhub.ai/fortytwode/meta-ad-creatives",
    "owner": "fortytwode",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/meta-ad-creatives",
    "downloadUrl": "https://openagent3.xyz/downloads/meta-ad-creatives",
    "agentUrl": "https://openagent3.xyz/skills/meta-ad-creatives/agent",
    "manifestUrl": "https://openagent3.xyz/skills/meta-ad-creatives/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/meta-ad-creatives/agent.md"
  }
}