Weekly LinkedIn Ads performance digest in Slack

Every Monday at 9am, get a Slack summary of last week's LinkedIn Ads spend, top and bottom campaigns, creative drops, and where to reallocate budget.

Agentic Task
LinkedIn AdsSlack BotMarketingAI ReportsDaily Digests

Every Monday at 9am in my local timezone, generate a weekly LinkedIn Ads performance digest and post it to a specific Slack channel. I should be able to configure the LinkedIn Ads account, the Slack channel, and the time when I set this up.

How the agent should work:

1. Use LinkedIn Ads Search Campaigns to list every campaign in my ad account that is currently active. Ignore paused, archived, draft, and completed campaigns.

2. Use LinkedIn Ads Get Ad Analytics for the last 7 completed days (Monday through Sunday of the previous week), pivoted by campaign, to pull spend, impressions, clicks, click-through rate, cost per click, conversions, and cost per lead (cost per conversion) for each active campaign. Then call Get Ad Analytics again for the same period pivoted by creative so I can see which individual ads are driving or dragging the campaign-level numbers.

3. Call Get Ad Analytics one more time for the prior 7 days (the week before last) at the campaign level so we can compute week-over-week shifts for spend, click-through rate, cost per click, conversions, and cost per lead.

4. Analyze the results. Rank campaigns into top performers (best cost per lead and click-through rate, weighted by spend so tiny test campaigns don't dominate) and underperformers (worst cost per lead and click-through rate relative to the account average). Surface the biggest week-over-week movers, both positive and negative. Specifically call out any creative whose click-through rate dropped more than 20% week over week.

5. Write 2 to 3 concrete reallocation recommendations in plain English. Examples: "Shift $X from Campaign A to Campaign B," "Pause Creative X in Campaign Y because CTR fell 35%," "Increase daily budget on Campaign Z because cost per lead dropped 22% week over week." Recommendations must reference specific campaign or creative names and specific numbers.

6. Use Slack Bot Send a Message to post the digest to my configured Slack channel. Format it using Slack mrkdwn and Block Kit blocks: a header block with the date range, a short summary block (total spend, total conversions, total leads, blended cost per lead, and the headline takeaway in one or two sentences), a metrics block or table listing each active campaign with its key numbers and the week-over-week delta, a creative alerts block listing creatives with CTR drops over 20%, and a recommendations block with the 2 to 3 reallocation suggestions as bullets. Keep the message scannable: the reader should grasp the week in under 30 seconds, with the detail available if they want to dig in.

Notes for the agent: if there are no active campaigns or no spend in the last 7 days, post a short Slack message saying so instead of an empty digest. If LinkedIn returns an error or rate-limits the analytics call, back off and retry, and if the digest still cannot be generated, post a Slack message explaining why so I know to investigate.

Additional information

What does this prompt do?
  • Pulls every active campaign in your LinkedIn Ads account and looks at the last 7 days of performance.
  • Ranks your top performers and underperformers on spend, click-through rate, cost per click, conversions, and cost per lead.
  • Flags any creative whose click-through rate dropped more than 20 percent week over week.
  • Writes 2 to 3 concrete reallocation recommendations so you walk into Monday knowing where to shift budget.
  • Posts the whole digest to a Slack channel as a clean summary, a metrics table, and a recommendations block.
What do I need to use this?
  • A LinkedIn Ads account where you have access to Campaign Manager reporting.
  • A Slack workspace and the channel where you want the Monday digest to land.
  • About 5 minutes to connect both accounts the first time you run it.
How can I customize it?
  • Change the day and time. Move the digest to Friday afternoon or Tuesday morning if Monday 9am does not fit your team's rhythm.
  • Point it at a different Slack channel, like #paid-media or your weekly marketing standup.
  • Adjust the alerting thresholds. The default flags a 20 percent click-through rate drop, but you can tighten or loosen it, or add a spend or cost-per-lead trigger.

Frequently asked questions

Will this work if I run multiple LinkedIn ad accounts?
Yes. Pick the ad account you want covered when you set it up. If you want digests for several accounts, run a copy of the workflow per account so each one posts to its own Slack channel.
What metrics are included?
Spend, impressions, click-through rate, cost per click, conversions, and cost per lead. Each is shown for last week and compared to the prior week so you can see the direction of travel.
Does the agent change my campaigns or only report on them?
It only reads and reports. The reallocation suggestions are written into the Slack message for you to act on. Nothing in Campaign Manager is paused, edited, or rebudgeted automatically.
How does it pick top performers and underperformers?
It looks at the full set of active campaigns and ranks them on cost per lead and click-through rate against your account average for the week, weighted by spend so a tiny test campaign does not skew the call.
Can I get this in a private Slack channel instead of a public one?
Yes. Invite the Slack bot to the private channel and point the workflow at it. The digest will post there the same way.

Stop manually pulling Campaign Manager exports every Monday.

Connect LinkedIn Ads and Slack once, and Geni runs this digest every Monday at 9am so your team walks in already knowing what to reallocate.