Daily TikTok ad creative fatigue check

By General Input

Every morning at 9am, spot TikTok ads whose creative is burning out and post a refresh brief for the creatives team in Slack.

Integrations

  • TikTok Ads
  • Slack Bot

Type

Agentic Task

Categories

  • Marketing
  • Operations

Build me an agent workflow that hunts for TikTok ad creative fatigue once a day and posts a refresh brief to my creative team in Slack. Run it on a cron trigger every day at 9am in my local timezone.

Inputs I want on the workflow: the TikTok Ads advertiser id to monitor, the Slack channel to post to (default #creative), and tunable thresholds for fatigue (default: CTR down 15% or more week over week, frequency at or above 2.5, rising CPM with flat reach, spend past a floor like $100 with zero conversions).

Steps the agent should perform each run:

1. Use tiktok-ads Get Ads to enumerate the live/active ads for the configured advertiser. If any of those live inside Smart+ or ACO groups, also call tiktok-ads Get ACO Ad Materials so the agent can talk about the specific hooks, videos, images, and CTAs that are decaying instead of just an ad id.

2. Use tiktok-ads Run Synchronous Report broken down per ad for the last 7 days to pull CTR, frequency, CPM, impressions, spend, and conversions. Then run it again for the previous 7 days (day 8 through day 14) so we have a week-over-week comparison for every ad.

3. For each ad, reason about whether it is truly fatigued or just noisy. Do not just apply a hard threshold. Consider: is CTR down 15% or more week over week, is frequency above 2.5, is CPM rising while reach is flat, has spend crossed the floor with zero conversions? Small-volume ads with a couple of clicks are not fatigue signals — require enough impressions or spend to trust the trend.

4. Group the fatigued ads by campaign. For each ad, name the specific hook or creative element that is decaying (using ACO material names when available), list the concrete symptoms with before/after numbers, and write a short refresh recommendation: a new hook, a new opening frame, or a swapped CTA. Keep each recommendation to one or two sentences.

5. Draft a single Slack message and post it with slackbot Send a Message to the configured channel (default #creative). Use Slack mrkdwn: a short lede that says how many ads look fatigued today across how many campaigns, then per-campaign sections, then per-ad bullets with symptoms and the refresh idea. If nothing looks fatigued today, post a one-line ‘all clear’ message instead of skipping — the team should know the check ran.

Tone for the Slack post: direct, useful, no fluff. This goes to creatives, not analysts, so lead with what to reshoot and why, not a data dump. Include ad names or hook names so people know which asset to open in Ads Manager.

Operations to use: tiktok-ads Get Ads, tiktok-ads Run Synchronous Report, tiktok-ads Get ACO Ad Materials, slackbot Send a Message.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them