Generate ad variations and pull campaign data for growth marketing

Posted on Nov 2, 2025. Task: Posted on Nov 2, 2025 Below I’ll explain what they built, why it matters, and how you can copy the patterns without a big team (with only Claude Code). Who is they you are asking? Well, Anthrophic! Read their full document here. What they built and why it matters They focused on four practical automations: automatic Google Ads creative generation, a Figma plugin for mass creative production, a Meta Ads MCP (Model Context Protocol) server for campaign pull, and a simple memory system - I personally recommend basic-memory for such use cases. Each automation handles a specific pain point. For Google Ads, the heavy lift is generating many compliant variations, then testing them. Ads have strict character limits, and manual creation is slow and error prone. The Claude Code workflow reads a CSV of past ads and metrics, flags underperformers, and spins up hundreds of new headline and description variations. Instead of a human spending hours or days, the system churns out candidates in minutes. For creative output on social, they automated what designers do manually. A Figma plugin finds frames and swaps text layers to produce batches of variations. That reduced a job that used to take hours of copy-pasting down to less than a second per batch. For measurement, they built a small MCP server that talks to the Meta Ads API and serves campaign performance directly into Claude Desktop. No more tab switching between platforms to pull numbers and form hypotheses. Finally, they added a lightweight memory system. It logs hypotheses, experiment parameters, and results so each new round of creative generation can reference past learnings. That makes the testing pipeline self-improving rather than starting from scratch every time. These are small, repeatable automations that buy hours per week and let a tiny team operate like a larger one. How the Google Ads automation works (practical details) They start with a CSV export that includes ad text and performance columns. Think columns like ad_id, headline, description, impressions, clicks, ctr, conversions, cost_per_conversion. The workflow first filters for ads that meet a "needs iteration" rule, for example CTR below a threshold with reasonable impressions. That keeps the system focused on ads that matter. Claude Code runs two focused sub-agents. One handles headlines and enforces the 30 character limit. The other handles descriptions and enforces the 90 character limit. Splitting the task makes each agent simpler to prompt and easier to debug. Each sub-agent is asked to produce N variants and to return both the copy and metadata like estimated tone and targeted audience hints. The workflow then writes the new variations back to a CSV, tags them for a staged rollout, and hands them off to the ad platform or human QA. Why split agents? Prompting one model to manage all constraints tends to create edge-case failures. Two small, single-responsibility agents give predictable outputs and make it simple to add more constraints later, like legal checks or localization. The Figma plugin for mass creative production Designers hate repetitive resizing and swapping. The plugin they wrote scans a Figma page for frames that match an ad template. It finds the text layers that contain headline and description, then programmatically replaces those with the generated copy. It can output up to 100 variations in one go. The plugin also exports image assets ready for upload to ad platforms. This approach does two useful things. First, it preserves layout and image composition, so designers don't lose control of the visual. Second, it scales testing by letting you attach many copy variants to a small set of visual templates. You end up testing more combinations without hiring more designers. A few practical tips here: keep text layers named consistently across templates, and bake in a fallback font size so long headlines truncate predictably. Also add a quick visual QA step. Even automated swaps can create weird line breaks or overlap. Meta Ads MCP server and measurement flow The MCP server is small and focused. It pulls campaign-level metrics, spend data, and ad creative performance from the Meta Ads API. The server normalizes the data and serves endpoints Claude Desktop can query. That means the marketing workflow can ask for the latest stats, form hypotheses, and generate new creatives without switching tools.; tools: Claude Code. Human role: The original post does not say how a person stayed involved.; limitations: Automated copy requires human QA for brand voice, legal compliance, and hallucination checks before going live. API rate limits, costs, and edge-case text behaviors like mobile layout breaks are practical constraints. The source is a secondary blog post describing internal tools, so exact implementation details, permissions, and current availability of the Figma plugin or MCP server are uncertain..

Tools

Claude Code

Published on Agent Work Atlas:

Overview

Posted on Nov 2, 2025

Workflow

Posted on Nov 2, 2025 Below I’ll explain what they built, why it matters, and how you can copy the patterns without a big team (with only Claude Code). Who is they you are asking? Well, Anthrophic! Read their full document here. What they built and why it matters They focused on four practical automations: automatic Google Ads creative generation, a Figma plugin for mass creative production, a Meta Ads MCP (Model Context Protocol) server for campaign pull, and a simple memory system - I personally recommend basic-memory for such use cases. Each automation handles a specific pain point. For Google Ads, the heavy lift is generating many compliant variations, then testing them. Ads have strict character limits, and manual creation is slow and error prone. The Claude Code workflow reads a CSV of past ads and metrics, flags underperformers, and spins up hundreds of new headline and description variations. Instead of a human spending hours or days, the system churns out candidates in minutes. For creative output on social, they automated what designers do manually. A Figma plugin finds frames and swaps text layers to produce batches of variations. That reduced a job that used to take hours of copy-pasting down to less than a second per batch. For measurement, they built a small MCP server that talks to the Meta Ads API and serves campaign performance directly into Claude Desktop. No more tab switching between platforms to pull numbers and form hypotheses. Finally, they added a lightweight memory system. It logs hypotheses, experiment parameters, and results so each new round of creative generation can reference past learnings. That makes the testing pipeline self-improving rather than starting from scratch every time. These are small, repeatable automations that buy hours per week and let a tiny team operate like a larger one. How the Google Ads automation works (practical details) They start with a CSV export that includes ad text and performance columns. Think columns like ad_id, headline, description, impressions, clicks, ctr, conversions, cost_per_conversion. The workflow first filters for ads that meet a "needs iteration" rule, for example CTR below a threshold with reasonable impressions. That keeps the system focused on ads that matter. Claude Code runs two focused sub-agents. One handles headlines and enforces the 30 character limit. The other handles descriptions and enforces the 90 character limit. Splitting the task makes each agent simpler to prompt and easier to debug. Each sub-agent is asked to produce N variants and to return both the copy and metadata like estimated tone and targeted audience hints. The workflow then writes the new variations back to a CSV, tags them for a staged rollout, and hands them off to the ad platform or human QA. Why split agents? Prompting one model to manage all constraints tends to create edge-case failures. Two small, single-responsibility agents give predictable outputs and make it simple to add more constraints later, like legal checks or localization. The Figma plugin for mass creative production Designers hate repetitive resizing and swapping. The plugin they wrote scans a Figma page for frames that match an ad template. It finds the text layers that contain headline and description, then programmatically replaces those with the generated copy. It can output up to 100 variations in one go. The plugin also exports image assets ready for upload to ad platforms. This approach does two useful things. First, it preserves layout and image composition, so designers don't lose control of the visual. Second, it scales testing by letting you attach many copy variants to a small set of visual templates. You end up testing more combinations without hiring more designers. A few practical tips here: keep text layers named consistently across templates, and bake in a fallback font size so long headlines truncate predictably. Also add a quick visual QA step. Even automated swaps can create weird line breaks or overlap. Meta Ads MCP server and measurement flow The MCP server is small and focused. It pulls campaign-level metrics, spend data, and ad creative performance from the Meta Ads API. The server normalizes the data and serves endpoints Claude Desktop can query. That means the marketing workflow can ask for the latest stats, form hypotheses, and generate new creatives without switching tools.

Reported result

The author reports ad copy creation time dropped from roughly two hours to about 15 minutes per campaign refresh, and Figma creative production reduced from hours to less than a second per batch. Creative output increased by approximately 10x, enabling a single-person team to operate like a larger group. These metrics are attributed solely to the author's account of Anthropic's internal use and are not independently verified.

Human role

The original post does not say how a person stayed involved.

Limitations

Automated copy requires human QA for brand voice, legal compliance, and hallucination checks before going live. API rate limits, costs, and edge-case text behaviors like mobile layout breaks are practical constraints. The source is a secondary blog post describing internal tools, so exact implementation details, permissions, and current availability of the Figma plugin or MCP server are uncertain.

Try it

Act as a growth marketing engineer using Claude Code. I have a CSV of past Google Ads performance [replaceable: file path] and a Figma template [replaceable: file path]. First, filter ads with CTR below [replaceable: threshold] and reasonable impressions. Use two sub-agents to generate 10 headline variants (max 30 chars) and 10 description variants (max 90 chars) for each flagged ad. Output results to a new CSV with metadata. Next, use a Figma plugin script to swap text layers in the template with these variants, exporting 5 sample images. Finally, query a Meta Ads MCP server [replaceable: endpoint] for current spend data. Do not publish or upload anything. Present the generated CSV and 5 sample images for my review. If inputs are missing, ask for the CSV schema and Figma node IDs. Measure success by verifying character limits are strictly enforced and visual QA shows no text overlap.

Original source

Source reports are not independently verified. Publication date is the catalog publication date, not the original article date.

More cases · Marketing & sales