SKILL DETAIL
advertising-radar
mbfinotti/advertising-skills/advertising-radar
Build a personalised, time-budgeted watch list of paid-advertising information sources - PPC and paid-social podcasts, newsletters, ad-platform release notes, communities, industry events, and media buyers worth following - with a verification method that keeps it fresh and a disclosure of what each source is selling. Use whenever a media buyer, PPC specialist, or growth marketer asks how to stay current on Google Ads, Meta, LinkedIn, TikTok, or Microsoft Ads changes, which PPC newsletters or paid-social podcasts to follow, which communities or conferences deserve their time, or who to follow in performance marketing - even if they never say 'radar'. Do NOT use for career planning - use mbfinotti/advertising-skills@advertising-career instead.
Installation
npx skills add https://github.com/mbfinotti/advertising-skills --skill advertising-radar
Fichiers du skill
SKILL.md
Dernière synchronisation · 24 sept. 2026
evals/evals.json›
{
"skill_name": "advertising-radar",
"evals": [
{
"id": 1,
"prompt": "I run paid acquisition at Coreledger, a B2B fintech SaaS. I buy LinkedIn Ads and Google Search only. I can give this 45 minutes a week, strictly free - no memberships, no conference travel, nothing paid. I only read: no podcasts, no video, ever. I want a standing weekly habit, broad coverage of the field, and I don't care if people are selling something as long as I know what it is. Build my watch list.",
"expected_output": "A time-budgeted B2B watch list for LinkedIn + Google built from the B2B source population, with official release notes gated to those two channels, podcasts/video/events/paid access deleted and named as struck, selling flags and statuses on every entry, and totals with a channel-coverage line.",
"files": [],
"expectations": [
"Includes the official LinkedIn marketing/ads blog as a source because LinkedIn is a bought channel",
"Includes Google's official ads blog because Google is a bought channel",
"Does not include official platform sources for unbought channels (no Meta, TikTok, or Microsoft platform blogs)",
"Recommends B2B-ecosystem sources and excludes the DTC/B2C ecosystem (no Foxwell Digital, Common Thread Collective, Dara Denney, Savannah Sanchez, or Nik Sharma)",
"Podcasts and video are struck from the menu entirely rather than listed as low-priority rows, and the response names the struck mediums",
"Events are deleted under the free-only constraint, with no conference or ticket entries anywhere on the list or bench",
"No paid-membership communities appear given the free-only constraint",
"A news roundup or daily-digest source holds a top slot in the weekly core",
"Every entry carries a what-they're-selling flag (tool vendor, agency, course/community, platform-official, or equivalent)",
"Every entry carries a verification status and a date",
"Total estimated weekly minutes is stated and is at or under 45",
"An explicit channel-coverage statement confirms both LinkedIn and Google have at least one verified-active source",
"The list is grouped by consumption rhythm (weekly core, monthly, and similar sections) rather than delivered flat",
"A bench of 2-3 verified substitutes is named",
"No audience or subscriber figures are invented; unpublished figures are treated as not stated"
]
},
{
"id": 2,
"prompt": "I'm refreshing the source list for my PPC team at Brightmast Agency and checked eight candidates by hand this morning. Tell me what to keep, drop, or relabel: 1) thepacedclick.com, a paid-search newsletter - homepage loads, newest post is dated three weeks ago. 2) The Quiet Auction, a PPC podcast at quietauction.fm - the homepage shows no episode dates anywhere. 3) maribelquast.com, the site of a Meta ads consultant we like - it's a GoDaddy for-sale page now. 4) adspendweekly.com, a daily ad news site - returns HTTP 403 every time I try; I could leave a retry script running overnight if that would settle it. 5) bidlathe.com, a Google Ads blog - now redirects to a new domain called thebidlathe.co which looks like the same publication and has a post from last month. 6) crestpond.com, which used to be a PPC agency blog - it resolves fine but now sells landscaping services. 7) the Halstrom on Ads YouTube channel - I only get a consent wall, but the agency site halstromgroup.com has a blog post from two weeks ago linking to their new videos. 8) veldtmarketing.io, a paid-social blog - loads fine, newest dated post is nine months old.",
"expected_output": "A per-source verdict applying the freshness taxonomy: active on dated items, feed-first for the dateless podcast, unverified (not dead) for the parked personal domain and the 403, renamed-but-alive for the redirect, resold-domain removal, companion-surface corroboration for the consent-walled channel, and stale with accepted risk for the nine-month blog.",
"files": [],
"expectations": [
"thepacedclick.com is classified verified-active on its dated post within roughly three months",
"The Quiet Auction is not classified stale from its dateless homepage; the response says a dateless homepage is not evidence of staleness",
"The podcast's own feed or a podcast-directory listing is named as the surface to check for a dated episode",
"The maribelquast.com person is classified unverified with the reason recorded, not declared inactive or dead from the parked domain",
"The response proposes finding the person's live publishing surface (employer or agency blog, podcast feed, or speaker roster) instead of dropping her",
"adspendweekly.com's HTTP 403 is classified unverified, never dead",
"The overnight retry script is declined; the block is treated as the site's stated policy and a different surface is tried instead of routing around it",
"The bidlathe.com redirect is classified renamed-but-alive, the new URL is recorded, and the source is kept",
"crestpond.com is identified as a resold domain serving an unrelated business and removed, distinguished from a parked or dead domain",
"The Halstrom on Ads channel is labelled corroborated via a companion surface with the channel itself unobserved, not verified-active and not dead",
"veldtmarketing.io is classified stale (newest item older than roughly six months) and kept only if the user accepts the risk",
"Classifications rest on observed dated items, not on any site's own cadence claim",
"No source is presented as verified without a dated observation behind it",
"Each verdict carries a status plus the date or reason it rests on"
]
},
{
"id": 3,
"prompt": "Solo media buyer at Fernway Goods, a DTC cookware brand. I buy Meta and Google Shopping. Hard cap of 60 minutes a week, and I want a habit I'll keep long-term, not a one-time binge. I drive 40 minutes each way to our warehouse twice a week. I like listening and reading. B2C obviously, broad scan of the field, and keep the people with something to sell - just tell me what it is. What should be on my radar?",
"expected_output": "A DTC Meta + Google watch list where the commute promotes a podcast into the weekly core with the re-rank stated out loud, a roundup and both platforms' release notes anchor the list, a community fills the reserve slot, and totals land at or under 60 minutes.",
"files": [],
"expectations": [
"A podcast is promoted into the weekly core because the commute makes audio nearly free",
"The commute re-rank is stated explicitly as what moved the podcast up",
"A news roundup or daily digest holds a top slot in the weekly core",
"DTC-ecosystem sources are recommended, and B2B-ecosystem sources (LinkedIn Ads specialists, B2B demand-gen communities) are absent",
"Google's official ads blog is present for the bought Google channel",
"An official Meta business/news source is present for the bought Meta channel",
"No LinkedIn, TikTok, or Microsoft official platform sources appear",
"Attention costs are priced as orders of magnitude (minutes, tens of minutes, most of an hour) rather than invented exact per-episode figures",
"Total estimated weekly minutes is stated and is at or under 60",
"Roughly the last tenth of the budget is reserved for one community, justified as the slot that surfaces new sources",
"A bench of 2-3 substitutes is named",
"Every entry carries a what-they're-selling flag",
"Every entry carries a status and date",
"No multi-day events occupy the weekly budget; events are absent or explicitly excluded for this budget"
]
},
{
"id": 4,
"prompt": "I'm building the team reading list at Lakewell Outdoor, a DTC camping brand buying Meta and TikTok. My CMO's requirement is strict: only independent, unbiased sources. Nothing published by tool vendors, nothing from agencies, no course sellers, and nothing from the ad platforms themselves - they're all just marketing their own stuff. One hour a week total. Put the list together.",
"expected_output": "A pushback plus a workable list: the no-conflicts filter is refused as list-emptying, disclosure per entry replaces exclusion, one incentive type may be minimised, and the Meta and TikTok official sources are gated back in for the bought channels.",
"files": [],
"expectations": [
"The response does not comply with the no-conflicts filter as stated; it says filtering out everyone with something to sell would empty the list in this field",
"It states that nearly every strong paid-advertising source sells a tool, an agency, a course or community, or is the platform itself",
"Per-entry incentive disclosure (a what-they're-selling flag) is proposed as the alternative to exclusion",
"The user is offered minimising one incentive type rather than removing all of them",
"The official Meta platform source is kept or argued back in because Meta is a bought channel and a missed platform change costs money",
"The official TikTok platform source is likewise gated in for the bought TikTok channel",
"No official platform sources are added for channels the user does not buy",
"Tool-vendor blogs are defended on freshness grounds rather than dropped",
"Genuinely independent options that exist (an independent ad-news roundup or trade press) are included without pretending they can carry the whole list",
"Every recommended entry carries an explicit selling flag",
"Every entry carries a status and date, and nothing unverified is presented as verified",
"Total estimated weekly minutes is stated and is at or under 60",
"An explicit channel-coverage line confirms Meta and TikTok each have a verified-active source"
]
},
{
"id": 5,
"prompt": "We shortlisted five Meta-focused DTC blogs at Copperhutch and need to pick two: Wrenfold Creative, The Spend Ledger, Auburn Metrics, Hollowbrook Ads, and First Frame Daily. Rank them 1 to 5 best to worst, and give me your best estimate of each one's newsletter subscriber count so we can go with the two biggest.",
"expected_output": "A refusal of both asks on principled grounds: no force-rank within one medium (false precision) and no estimated audience figures (not stated when unpublished), replaced by selection on channel/theme fit plus a freshness check, with the rest going to a bench.",
"files": [],
"expectations": [
"The 1-to-5 force-rank of same-medium blogs is declined as false precision",
"The response explains that ranking applies across mediums, while choice within a medium rests on channel and theme fit",
"Subscriber-count estimates are refused; unpublished audience figures are recorded as not stated, never estimated",
"Audience size is rejected as the selection criterion; value is framed as what the source's output changes in the user's account",
"The user's themes and bought channels are requested or used as the fit criteria for choosing among the five",
"Freshness verification (finding the newest dated item on each blog) is required before any of the five makes the list",
"The roughly-3-month active and roughly-6-month stale thresholds, or an equivalent observed-date classification, are stated for that check",
"Homepage cadence claims are treated as aspirational until a dated item confirms them",
"Non-selected blogs are proposed for a bench of substitutes rather than discarded",
"A what-they're-selling disclosure is requested or applied per blog",
"No figures of any kind (dates, audiences, scores) are fabricated for the five blogs",
"Any picks made are justified by fit, not by a quality score between the five"
]
},
{
"id": 6,
"prompt": "Quarter's up, so refresh my advertising radar for Tidebreak Supply, our DTC beach-gear brand. When we built it in June I bought Meta and Google, 60 minutes a week, and the list was: The Morning Auction daily roundup (10 min), Meta's official business news (5), Google's official ads blog (5), the Saltgrass Media blog (10), the Down Funnel podcast (20), and the Bidcraft Slack community (5), all verified active in June. Since then I also started buying TikTok. Honest confession: I never opened Saltgrass Media once all quarter. Also the Down Funnel site now redirects somewhere new, I didn't look closely. Everything else I read weekly.",
"expected_output": "A quarterly refresh that treats the new TikTok channel as a coverage gap to close, re-resolves every URL including the working ones, drops the unconsumed blog, checks the redirect's content before trusting it, asks the community for discovery candidates, and re-totals minutes against the budget.",
"files": [],
"expectations": [
"Adding TikTok is treated as voiding channel coverage until a TikTok source is added",
"An official TikTok platform source is added, gated to the newly bought channel",
"Every URL on the list is re-resolved, including entries that worked in June, to catch renames and domain resale",
"Saltgrass Media is dropped because the user never consumed it",
"The Down Funnel redirect is checked for content, distinguishing renamed-but-alive from a resold domain, rather than trusting that it resolves",
"The freshness check is re-run on surviving entries, with stale entries downgraded, dead ones removed, and previously unverified ones retried",
"The community slot and the newest additions are asked for one discovery candidate each",
"Discovery candidates are verified before joining the list or bench",
"Estimated weekly minutes are re-totalled against the 60-minute budget and overflow is trimmed",
"The full channel mix is re-confirmed with the user rather than assumed frozen",
"A replacement for the dropped blog comes from the bench or is verified before entry",
"Refreshed entries carry new verification dates, not the June ones",
"The refreshed output carries an explicit channel-coverage line covering Meta, Google, and TikTok",
"The consumption bar (at least two-thirds of entries actually consumed) is checked at the refresh"
]
},
{
"id": 7,
"prompt": "I take over Meridian Freight's paid accounts on October 6 - Google Search plus Microsoft Ads. I've run Google for years but have never touched Microsoft Ads in my life. I can put in two hours a week between now and then. This is a crash program, not a forever reading habit - after the handover I'll be heads-down in the accounts. What do I consume between now and October 6?",
"expected_output": "A hard-date, one-off plan: roundup plus Google and Microsoft release notes at the core, events and the community reserve dropped with reasons, a roundup-archive binge in the reserve's place, and long-form Microsoft material deliberately promoted against the efficiency ratio to build the missing mental model.",
"files": [],
"expectations": [
"A daily or weekly news roundup plus official release notes anchor the plan, promoted by the hard October 6 date",
"The official Microsoft Advertising blog is included for the bought Microsoft channel",
"Google's official ads blog is included for the bought Google channel",
"Events are excluded because their payoff lands after the date (days plus travel for next-quarter value)",
"The community reserve is dropped because this is a one-off catch-up, and the response says so",
"A roundup-archive binge (working back through past issues) replaces the standing community slot",
"Long-form sources on Microsoft Ads are deliberately promoted against the efficiency ratio because the user holds no mental model of the channel and headlines cannot build one",
"That promotion is stated as a deliberate exception, not applied silently",
"Depth is allocated to Microsoft Ads while Google coverage stays at maintenance weight (release-note and roundup skims)",
"No Meta, LinkedIn, or TikTok official platform sources appear",
"Total estimated weekly minutes is stated and is at or under 120",
"Every entry carries a what-they're-selling flag",
"Every entry carries a status and date, with anything unverified labelled as such",
"An explicit channel-coverage line confirms Google and Microsoft each have a verified-active source"
]
},
{
"id": 8,
"prompt": "I'm a freelance PPC consultant and I feel permanently behind on platform changes. Set me up with something sustainable.",
"expected_output": "An interview, not a list: one question at a time with multiple-choice options, covering role, channels bought, time budget and paid access, hard date, one-off versus standing, mediums (max two), segment, and incentive minimisation - before any source is named.",
"files": [],
"expectations": [
"The first reply asks an interview question instead of delivering a source list",
"Questions come one at a time, waiting for each answer, not as a full battery in one message",
"Multiple-choice options are offered with the questions",
"The channels the user buys on are asked for",
"The weekly time budget is asked with banded options (under 30, 30-60, 60-120, 2+ hours) plus whether paid access is on the table",
"A hard current-by date is asked about",
"One-off catch-up versus standing habit is asked",
"Preferred mediums are asked with a cap of two picks",
"The segment sold into (B2B versus B2C/DTC) is asked",
"The incentive question is framed as minimising, not removing, a conflict type, with the warning that removal would empty the list",
"No named source recommendations are given before the interview answers arrive"
]
},
{
"id": 9,
"prompt": "Head of growth at Parcelbird. We sell a B2B logistics SaaS and a consumer label-printing gadget, so I buy LinkedIn and Meta, plus Google for both lines. I can spend 90 minutes a week, paid memberships are fine, I consume text and live communities only, this is a standing habit, breadth over depth, and keep conflicted sources as long as they're flagged. Build the radar.",
"expected_output": "A both-segments watch list that names the B2B/B2C source-population split, labels every entry per segment instead of blending, covers LinkedIn, Meta, and Google with official sources, strikes audio and video, fills the community reserve, and totals at or under 90 minutes.",
"files": [],
"expectations": [
"The response states that B2B and B2C paid advertising have largely separate source populations",
"Each entry is labelled per segment (B2B, B2C/DTC, or both) rather than presented as one blended list",
"At least one B2B-ecosystem source appears for the LinkedIn/B2B line",
"At least one DTC/B2C-ecosystem source appears for the consumer line",
"Sources serving both segments are labelled as both",
"The official LinkedIn marketing blog appears for the bought LinkedIn channel",
"An official Meta platform source appears for the bought Meta channel",
"Google's official ads blog appears for the bought Google channel",
"No Microsoft or TikTok official platform sources appear",
"Podcasts and video are struck from the menu and the response names the struck mediums",
"One community fills the reserve slot for the standing habit",
"Total estimated weekly minutes is stated and is at or under 90",
"An explicit channel-coverage line covers LinkedIn, Meta, and Google"
]
},
{
"id": 10,
"prompt": "I'm on a locked-down machine with no internet access in this session, but I still want my watch list now. Media buyer at Rooklane, a B2C swimwear brand, Meta only, 30 minutes a week, text only, free only, standing habit, broad coverage, and flag what everyone's selling. Go.",
"expected_output": "A watch list delivered from recorded knowledge with a clear no-live-verification disclaimer, recorded statuses and dates per entry, a manual re-check procedure with the classification thresholds, the full output shape (date-stamped header, rhythm sections, per-entry fields, totals), and a Meta coverage line - all within 30 minutes a week.",
"files": [],
"expectations": [
"The response states clearly that sources could not be re-verified live in this session",
"Entries are delivered with their recorded status and recorded verification date rather than presented as freshly checked",
"A manual verification procedure is given: open each URL and find the most recent dated item",
"The manual classification thresholds are given: active within roughly 3 months, stale past roughly 6 months, dead for parked or for-sale pages, unverified for blocked fetches",
"A blocked or 403 fetch is described as unverified, not dead, in the manual instructions",
"An official Meta platform source is included; no Google, LinkedIn, TikTok, or Microsoft official sources appear",
"Only text sources appear; audio and video are struck and named as struck",
"Free-only is respected: no paid communities and no events or tickets",
"The header is date-stamped and carries the persona, bought channel, time budget, and verification date",
"The list is grouped by consumption rhythm (weekly core, monthly, annual, bench)",
"Each entry carries name, URL, medium, channel, estimated minutes, a why-line, a selling flag, and status plus date",
"Total estimated weekly minutes is stated and is at or under 30",
"Closing totals include counts per section and a verified-active count",
"An explicit channel-coverage yes/no line appears for Meta",
"Leftover candidates go to a bench instead of pushing the total past the 30-minute budget"
]
},
{
"id": 11,
"prompt": "Review the watch list my predecessor left me at Gildersleeve Home, a DTC furniture brand. We buy Google Shopping and Meta, and I have 45 minutes a week. The list: six Meta creative blogs and people - Loom & Ledger, Fenwick on Creative, The Ad Joinery, Studio Pellworth, Cormorant Weekly, and Marta Villanueva's blog - plus a note saying 'removed Google's ads blog and Meta's business news: vendor PR, zero value'. Two of them, Studio Pellworth and Cormorant Weekly, are marked 'couldn't reach site, probably fine' and sit in the list like the others. My teammate says the Fenwick on Creative link, drewfenwick.com, now shows a car-detailing shop. Nothing has any labels, and the whole thing adds up to about 110 minutes a week.",
"expected_output": "An audit that calls the missing Google coverage a failed deliverable, restores both platforms' release notes against the vendor-PR note, cuts the list to the 45-minute budget with a bench, relabels the unreachable entries unverified, flags the resold domain, and rebuilds around roundup-plus-release-notes with flags and statuses throughout.",
"files": [],
"expectations": [
"The missing Google coverage is called a failed deliverable, not a partial one, because the brand buys Google daily",
"Google's official ads blog is restored, with the vendor-PR removal rejected: platform release notes are a first-class category and a missed change costs money",
"Meta's official business news is restored on the same grounds",
"The roughly 110-minute total is flagged against the 45-minute budget and the list is cut to fit rather than the budget stretched",
"Cut entries move to a bench of substitutes instead of disappearing",
"Studio Pellworth and Cormorant Weekly are relabelled unverified with the reason, never left sitting as if verified",
"drewfenwick.com is flagged as a same-name domain serving an unrelated business: never link it, and the person becomes unverified pending a live surface rather than dropped as inactive",
"The response says to confirm a page's content is about advertising before trusting any resolving personal domain",
"A what-they're-selling flag is added or required per entry",
"A status plus date is added or required per entry",
"The six same-medium Meta creative sources are consolidated by channel and theme fit without a 1-to-6 quality ranking",
"The rebuilt weekly core leads with a news roundup and the restored release notes ahead of long-form sources",
"The rebuilt total is stated and is at or under 45 minutes",
"An explicit channel-coverage line confirms Google and Meta each have a verified-active source"
]
}
],
"trigger_queries": [
{ "query": "How do I stay current on Google Ads changes without reading everything?", "should_trigger": true },
{ "query": "Which PPC newsletters are actually worth subscribing to?", "should_trigger": true },
{ "query": "Best podcasts for paid social right now?", "should_trigger": true },
{ "query": "Who should I follow for LinkedIn Ads?", "should_trigger": true },
{ "query": "Build me an advertising radar - I'm a DTC buyer on Meta and Google with an hour a week.", "should_trigger": true },
{ "query": "What communities do media buyers actually hang out in?", "should_trigger": true },
{ "query": "Which conferences are worth it for a PPC specialist?", "should_trigger": true },
{ "query": "I want a weekly reading routine for paid media news.", "should_trigger": true },
{ "query": "Recommend information sources for our performance marketing team.", "should_trigger": true },
{ "query": "How do people keep up with Meta ads updates?", "should_trigger": true },
{ "query": "I keep finding out about platform changes after they break my campaigns - how do I get ahead of them?", "should_trigger": true },
{ "query": "What should I read every Monday morning as a media buyer?", "should_trigger": true },
{ "query": "Any good newsletters covering TikTok ads?", "should_trigger": true },
{ "query": "Where do I follow Microsoft Ads product news?", "should_trigger": true },
{ "query": "I have 30 minutes a week - what's the highest-value paid media reading?", "should_trigger": true },
{ "query": "Curate a list of paid advertising blogs for me.", "should_trigger": true },
{ "query": "Any Slack or Discord groups worth joining for PPC people?", "should_trigger": true },
{ "query": "Which YouTube channels are worth following for Google Ads?", "should_trigger": true },
{ "query": "Who are the sharpest voices in performance marketing right now?", "should_trigger": true },
{ "query": "Feeling out of the loop on ad platform stuff - where should I plug back in?", "should_trigger": true },
{ "query": "Set me up so I never miss a Google Ads release note again.", "should_trigger": true },
{ "query": "What's the best way to track ad platform product announcements?", "should_trigger": true },
{ "query": "Are there PPC events in Europe worth traveling to?", "should_trigger": true },
{ "query": "Newsletter recommendations for a B2B paid media manager?", "should_trigger": true },
{ "query": "I don't have time to follow everything in paid media - help me trim my media diet.", "should_trigger": true },
{ "query": "Which practitioners publish the best Meta ads content?", "should_trigger": true },
{ "query": "Where do DTC media buyers get their news?", "should_trigger": true },
{ "query": "Good sources for programmatic and ad tech news?", "should_trigger": true },
{ "query": "Help me pick five sources to follow for paid search.", "should_trigger": true },
{ "query": "Are there any active PPC communities left worth joining?", "should_trigger": true },
{ "query": "What podcasts do media buyers listen to on their commute?", "should_trigger": true },
{ "query": "Whose blog should I read for Google Shopping tactics?", "should_trigger": true },
{ "query": "Where should a growth marketer follow paid acquisition trends?", "should_trigger": true },
{ "query": "My watch list of ad industry sources has gone stale - refresh it.", "should_trigger": true },
{ "query": "Audit my list of PPC newsletters - half of them seem dead.", "should_trigger": true },
{ "query": "Is this PPC blog still active or should I drop it from my feed?", "should_trigger": true },
{ "query": "I'm taking over our LinkedIn Ads account next month - what should I be reading between now and then?", "should_trigger": true },
{ "query": "Which of these paid media influencers are actually worth my time?", "should_trigger": true },
{ "query": "One podcast, one newsletter, one community for a Meta buyer - pick them.", "should_trigger": true },
{ "query": "How do senior media buyers stay sharp on platform changes?", "should_trigger": true },
{ "query": "I want to spend under an hour a week staying current on paid social.", "should_trigger": true },
{ "query": "What's the best independent news site for ad platform updates?", "should_trigger": true },
{ "query": "Who's worth following for creative strategy in paid social?", "should_trigger": true },
{ "query": "Give me a shortlist of ad-industry trade publications.", "should_trigger": true },
{ "query": "Any good events for ecommerce media buyers this year?", "should_trigger": true },
{ "query": "Where does everyone find out about Meta API changes so fast?", "should_trigger": true },
{ "query": "Recommend Google Ads experts to follow.", "should_trigger": true },
{ "query": "What are the must-read blogs for a freelance PPC consultant?", "should_trigger": true },
{ "query": "I manage paid accounts for three clients - build me a time-boxed news routine.", "should_trigger": true },
{ "query": "Which paid media newsletters cover B2B specifically?", "should_trigger": true },
{ "query": "How do I keep current on Performance Max news?", "should_trigger": true },
{ "query": "What should I follow before we scale our TikTok spend next quarter?", "should_trigger": true },
{ "query": "What's a good media diet for a head of growth who buys ads?", "should_trigger": true },
{ "query": "Which subreddits are useful for PPC questions?", "should_trigger": true },
{ "query": "Where can I ask questions of other people running Meta ads for ecommerce?", "should_trigger": true },
{ "query": "How should I split an hour a week across ad news sources?", "should_trigger": true },
{ "query": "Point me to the freshest sources on Google Ads scripts and automation.", "should_trigger": true },
{ "query": "Every guru I follow is selling a course - who can I actually trust for ads advice?", "should_trigger": true },
{ "query": "Quarterly cleanup: which of my ad news sources should I cut?", "should_trigger": true },
{ "query": "I'm new to Microsoft Ads - who covers it besides Microsoft itself?", "should_trigger": true },
{ "query": "Podcast recommendations for the gym that will make me better at paid social?", "should_trigger": true },
{ "query": "What do I subscribe to so platform changes stop surprising me?", "should_trigger": true },
{ "query": "Best newsletters and blogs for retail media news?", "should_trigger": true },
{ "query": "Who should our new media buyer be following from day one?", "should_trigger": true },
{ "query": "Compress all the ad platform blogs into one weekly read - what do I pick?", "should_trigger": true },
{ "query": "Are any paid communities for Meta buyers worth the membership fee?", "should_trigger": true },
{ "query": "Give me a stay-current plan for someone running Google, Meta, and LinkedIn at once.", "should_trigger": true },
{ "query": "Which ad industry conferences should I attend as a performance marketer?", "should_trigger": true },
{ "query": "I read nothing all summer - catch me up on paid search and build a routine so it doesn't happen again.", "should_trigger": true },
{ "query": "Newsletters versus podcasts versus communities for staying current on ads - where do I put my time?", "should_trigger": true },
{ "query": "I follow way too many ad people on LinkedIn - help me pick who's actually worth it.", "should_trigger": true },
{ "query": "Where do I track Google Marketing Live announcements, and what else like it exists?", "should_trigger": true },
{ "query": "What are good weekly digest sources for paid social creative trends?", "should_trigger": true },
{ "query": "As a PPC lead, how do I keep my team current on platform changes without burning hours?", "should_trigger": true },
{ "query": "Why did my CPA double last week on Meta?", "should_trigger": false },
{ "query": "My Google Ads account stopped converting - diagnose what's wrong.", "should_trigger": false },
{ "query": "Meta reports 240 purchases but Shopify shows 150 - explain the gap.", "should_trigger": false },
{ "query": "Our CRM and LinkedIn Ads conversion numbers don't match - reconcile them.", "should_trigger": false },
{ "query": "Who should I target with our new campaign - build the audience plan.", "should_trigger": false },
{ "query": "Layer prospecting, lookalike, and retargeting audiences for our launch.", "should_trigger": false },
{ "query": "Should we move from manual CPC to target ROAS?", "should_trigger": false },
{ "query": "What target CPA should I set on this campaign?", "should_trigger": false },
{ "query": "Are we pacing to spend the full ad budget this month?", "should_trigger": false },
{ "query": "We're 40% underspent halfway through the quarter - fix our pacing.", "should_trigger": false },
{ "query": "Map the buying committee for our ERP product and how to reach each role with ads.", "should_trigger": false },
{ "query": "Too many ad sets stuck in learning limited - should I consolidate campaigns?", "should_trigger": false },
{ "query": "Verify my conversion tracking before we launch on Friday.", "should_trigger": false },
{ "query": "Is my Meta pixel double-firing? Check the deduplication with the Conversions API.", "should_trigger": false },
{ "query": "Write ten headline variants for our spring sale ads.", "should_trigger": false },
{ "query": "Turn this value proposition into distinct ad copy angles to test.", "should_trigger": false },
{ "query": "Draft a creative brief for a UGC video our freelancer will shoot.", "should_trigger": false },
{ "query": "Is this ad fatigued or is it seasonality? Frequency is at 4.2.", "should_trigger": false },
{ "query": "Design an A/B test plan for our three new video concepts.", "should_trigger": false },
{ "query": "Carousel or single image for a cold B2B audience?", "should_trigger": false },
{ "query": "Score the hooks in these five video scripts - which deserves test budget?", "should_trigger": false },
{ "query": "Mine this search terms report and build negative keyword lists.", "should_trigger": false },
{ "query": "We're wasting spend on irrelevant queries - set up negatives.", "should_trigger": false },
{ "query": "Should a small local business advertise on Google or Meta first?", "should_trigger": false },
{ "query": "Which ad channels fit a $200 AOV DTC brand - where should we spend?", "should_trigger": false },
{ "query": "Reallocate our $80k monthly budget across Google, Meta, and TikTok.", "should_trigger": false },
{ "query": "How much of the budget should go to prospecting versus retargeting?", "should_trigger": false },
{ "query": "What's the maximum CAC we can afford at our margins - set spend guardrails.", "should_trigger": false },
{ "query": "Define a ROAS floor and a kill-switch for our paid program.", "should_trigger": false },
{ "query": "Collect our competitors' running ads into a swipe file I can query.", "should_trigger": false },
{ "query": "Track which ads our top three competitors run each month.", "should_trigger": false },
{ "query": "How do I break into media buying with no experience?", "should_trigger": false },
{ "query": "Which Google Ads certification should I get first?", "should_trigger": false },
{ "query": "Review my PPC portfolio before I apply to agencies.", "should_trigger": false },
{ "query": "What should a senior media buyer earn, and how do I negotiate up?", "should_trigger": false },
{ "query": "Write the job description for a performance marketer we're hiring.", "should_trigger": false },
{ "query": "Design the interview loop for a paid media manager role.", "should_trigger": false },
{ "query": "Is 2.8x ROAS good for a DTC skincare brand?", "should_trigger": false },
{ "query": "Benchmark our CAC against industry numbers.", "should_trigger": false },
{ "query": "Write ad copy for AI assistant answer placements.", "should_trigger": false },
{ "query": "Which customers should seed our lookalike audience?", "should_trigger": false },
{ "query": "Our ads get clicks but the landing page doesn't convert - audit the page.", "should_trigger": false },
{ "query": "When can I double the budget on this winning campaign without killing it?", "should_trigger": false },
{ "query": "Build a retargeting sequence for cart abandoners.", "should_trigger": false },
{ "query": "Promote our CEO's LinkedIn posts as thought leader ads.", "should_trigger": false },
{ "query": "Script three UGC ads for our supplement brand.", "should_trigger": false },
{ "query": "My ROAS dropped 30% overnight - what happened?", "should_trigger": false },
{ "query": "Set up daily spend alerts so campaigns don't overspend.", "should_trigger": false },
{ "query": "Which SEO blogs should I follow to stay current on algorithm updates?", "should_trigger": false },
{ "query": "What are the best newsletters for content marketing?", "should_trigger": false },
{ "query": "Who should I follow in developer relations?", "should_trigger": false },
{ "query": "Help me stay current on social media algorithm changes for our organic accounts.", "should_trigger": false },
{ "query": "Find influencers to hire for our summer campaign.", "should_trigger": false },
{ "query": "Set up brand mention monitoring across social networks.", "should_trigger": false },
{ "query": "Set up Google Alerts for our company name.", "should_trigger": false },
{ "query": "Which reporting tools should our marketing team buy?", "should_trigger": false },
{ "query": "Recommend CRO experts we could hire to audit our checkout.", "should_trigger": false },
{ "query": "What email marketing newsletters are worth reading?", "should_trigger": false },
{ "query": "Build a competitive intelligence report on our biggest competitor's marketing.", "should_trigger": false },
{ "query": "Keep me current on ecommerce logistics trends.", "should_trigger": false },
{ "query": "What are the best communities for startup founders?", "should_trigger": false },
{ "query": "Which analytics conferences should our data team attend?", "should_trigger": false },
{ "query": "How do I grow my own following on LinkedIn?", "should_trigger": false },
{ "query": "Curate sources to follow on B2B sales prospecting.", "should_trigger": false },
{ "query": "Who are the top voices in partnership marketing?", "should_trigger": false },
{ "query": "Any podcast recommendations about RevOps?", "should_trigger": false },
{ "query": "Track Google's search algorithm updates for our SEO team.", "should_trigger": false },
{ "query": "What are the best resources to learn Google Ads from scratch?", "should_trigger": false },
{ "query": "Summarize this week's ad platform news for me.", "should_trigger": false },
{ "query": "Write a weekly internal newsletter recapping our ad performance.", "should_trigger": false },
{ "query": "Recommend YouTube channels for learning video editing for our ad creatives.", "should_trigger": false },
{ "query": "Build a media list of journalists who cover ad tech for our PR push.", "should_trigger": false },
{ "query": "Who should we invite to speak at our marketing meetup?", "should_trigger": false },
{ "query": "Monitor our competitors' pricing pages for changes.", "should_trigger": false }
]
}
references/people-to-follow.md›
# Paid advertising people to follow - compiled 2026-08-26
People are this field's dominant medium and its least verifiable one. Most paid-media knowledge circulates on short-post and professional social networks that block automated checking, so no entry here is verified through a social profile.
Each person was confirmed, or not, through a **fetchable surface**:
- Agency blog.
- Podcast feed.
- Speaker roster.
- About page.
Any handle recorded anywhere is _as stated on that page_, not independently verified.
A dead personal domain never means an inactive person: in this audit, several personal domains were parked, for sale, or DNS-dead while their owners plausibly still publish. Those people are marked **unverified with the reason**, not dead.
Nearly everyone below sells something: a tool, an agency, a course, a community, or they are the platform itself. The "What they're selling" column discloses it; it is not a disqualifier.
| Name | Topic | Segment | Verifying surface | What they're selling | Cross-surface recurrence | Status + date |
| ------------------ | -------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AJ Wilcox | LinkedIn Ads | B2B | b2linked.com - founder bio + blog post Aug 25, 2026 | agency (B2Linked) | strong: agency founder + "100+ stages, 200+ podcasts" (own bio) + podcast host | active, 2026-08-26 |
| Julie F Bacchini | PPC strategy; #ppcchat host | both | neptunemoon.com - posts Aug 5 / Jul 1 / May 19, 2026 | agency (Neptune Moon) | strong: agency founder + community leader + active blogger | active, 2026-08-26 |
| Kirk Williams | PPC / Shopping ads | both | zatomarketing.com - founder bio; "#4 Top 50 Most Influential PPC Experts (2026)" | agency (ZATO) | strong: agency founder + contributor to two trade publications + conference speaker (per own bio) | active, 2026-08-26 |
| Taylor Holiday | DTC paid media & finance | B2C/DTC | commonthreadco.com - CEO; keynote at a Sep 2, 2026 workshop; co-hosts Ecommerce Playbook podcast | agency (Common Thread Collective, CEO) | confirmed: speaker + podcast co-host on his company's surfaces | active, 2026-08-26 |
| Brad Geddes | PPC strategy | both | adalysis.com/about-us - full bio ("shaping the industry since 1998", Adalysis co-founder 2013) | tool vendor (Adalysis co-founder) | bio confirmed on company About page | active, 2026-08-26 |
| Andrew Foxwell | Meta ads, paid-social community | B2C/DTC | foxwellfounders.com - quoted on page dated Aug 12, 2026 | agency + paid community (sells the community he's quoted promoting) | community founder; no independent bio page found to cross-check appearances | active, 2026-08-26 |
| Dara Denney | Meta ads creative strategy | B2C/DTC | daradenney.com - courses + newsletter, self-described creative strategist | courses/consulting | site claims YouTube + newsletter + courses; external platforms not fetched, so claimed not verified | active, 2026-08-26 |
| Nik Sharma | DTC growth, brand building | B2C/DTC | sharmabrands.com - founder/CEO; weekly newsletter, 2024–2025 timestamps found | agency/holding co (Sharma Brands) | newsletter + agency site | active, 2026-08-26 - caution: niksharma.com is a Toronto real-estate broker sharing his name; never link it |
| Jon Loomer | Meta ads education | both | jonloomer.com/feed/ - RSS post Aug 25, 2026 (homepage 403s) | courses/membership | blog + YouTube channel (channel consent-walled, unobserved) | active, 2026-08-26 |
| Jyll Saskin Gales | Google Ads education | both | learn.jyll.ca/blog (post May 20, 2026) + companion Inside Google Ads podcast (Aug 20, 2026 via feed) | courses/coaching | blog + podcast + YouTube channel (channel unobserved) | active, 2026-08-26 - personal domain jyllsaskingales.com failed to fetch (transient), person verified elsewhere |
| Depesh Mandalia | Meta ads education | B2C-leaning | bpmmethod.co/depesh (301 from depeshmandalia.com) | method/agency (The BPM Method) | rename/consolidation into the BPM Method brand; minimal page content, no dates | active (renamed-but-alive, weak signal), 2026-08-26 |
| Amy Hebdon | PPC training | both | paidsearchmagic.com → paidsearchmagic.podia.com | courses (course platform) | platform migration is a renamed-but-alive signal; post-redirect content not re-fetched | active (platform migration), 2026-08-26 |
| Savannah Sanchez | Meta/TikTok ad creative | B2C/DTC | thesocialsavannah.com - "badged TikTok Marketing Partner and Meta Business Partner" | agency (The Social Savannah) | no dated posts on site; copyright 2026 the only recency signal | active (weak signal), 2026-08-26 |
| Ben Heath | Meta ads education, video | B2C-leaning | heathmedia.co.uk (reached via redirect from his old leadguru.co.uk) - describes his channels as currently active, no upload date | agency/education (Heath Media) | site + two video channels (channels consent-walled, unobserved) | unverified for recency, 2026-08-26 - live property confirmed; benheath.com now serves an unrelated furniture business, never link it |
| Frederick Vallaeys | PPC automation | both | optmyzr.com - company active (Q2 2026 benchmark report) but his name absent from fetched page | tool vendor (Optmyzr co-founder/CEO) | not confirmed on fetched surface | unverified (company active, person not found on page), 2026-08-26 |
| Silvio Perez | B2B paid ads / attribution | B2B | adconversion.com - only a bare social handle link, no bio, no dated content | agency/services (AdConversion) | none found | unverified, 2026-08-26 |
| Chris Walker | B2B demand generation | B2B | refinelabs.com is stale (Megan Bowen is CEO); confirmed via search: Walker sold his remaining Refine Labs shares in July 2025, briefly ran a software company called Passetto, and now leads ENCODED, a neuroscience/neuroperformance venture unrelated to B2B marketing | Founder, ENCODED (neuroperformance, not demand gen) | none confirmed | `verified-active` as a person, but no longer B2B-demand-gen relevant - drop from this list or re-file under a different topic entirely |
| Navah Hopkins | PPC strategy | both | navahhopkins.com - returned only a bare page title, no bio or dated content | consulting (Navah Hopkins Consulting LLC) | insufficient content to assess | unverified, 2026-08-26 |
| Menachem Ani | PPC agency leadership | both | jxtgroup.com/about - 403 on fetch | agency (JXT Group) | could not confirm | unverified (bot-block), 2026-08-26 |
| Aaron Levy | PPC | both | adventureppc.com → adventuremedia.ai - brand consolidated, but no individual names on fetched page | agency (Adventure Media) | name not confirmed on new site | unverified, 2026-08-26 |
| Ginny Marvin | Google Ads Liaison - official platform comms | both | blog.google author-archive URL guess 404'd | platform-official (Google) | could not confirm via this surface | unverified, 2026-08-26 |
| Peep Laja | CRO/positioning, adjacent to paid | B2B | wynter.com (no mention of him found) and cxl.com/about/ (403) | tool vendor + course vendor (Wynter, CXL founder) | not confirmed on either primary surface | unverified, 2026-08-26 |
| Nick Shackelford | Paid social, creative testing | B2C/DTC | structuredsocial.com dead, but confirmed active via search: co-founder of Structured Agency (Structured, $76M revenue in under 3 years) and partner at BREZ, dated February 2026 podcast appearance | Co-founder, Structured Agency; partner, BREZ | active | `verified-active` - follow via Structured Agency, not the dead personal domain |
| Sarah Levinger | Creative strategy, paid social | B2C/DTC | sarahlevinger.com for sale, but confirmed active via search: co-host of Brain Driven Brands Podcast, teaches a psychology-in-advertising masterclass at Foreplay University | Creative strategist, consumer behavior analyst; co-host, Brain Driven Brands | active | `verified-active` - follow via Foreplay University and the podcast, not the dead domain |
| Ari Murray | Paid social | B2C/DTC | arimurray.com parked, but confirmed active via search: now Chief Digital Officer at Salt & Stone (moved from Chief Growth Officer at Sharma Brands), dated July 2026 podcast appearance | Chief Digital Officer, Salt & Stone | active | `verified-active` - follow via Salt & Stone, not the parked domain |
| Purna Virji | Search/paid media, now AI strategy | B2B-leaning | purnavirji.com DNS-dead, but confirmed very active via author pages: searchenginejournal.com/author/purna-virji, searchengineland.com/author/purna-virji, martech.org/author/purna-virji | Founder, Agent-Led Growth (AI commercialization strategy) | active, publishing regularly through 2026 | `verified-active` - link the author pages, not the dead personal domain; scope has shifted from search/paid media toward AI strategy, worth noting for fit |
## How to use this list
- Match the Topic column to the user's bought channels and named themes. A depth-focused user gets 3–5 people on their themes, not the whole table.
- Rank by cross-surface recurrence - the same person as podcast guest, speaker, and community lead predicts continued relevance better than any follower count. Never rank by audience size; a slot is worth what the person's output changes in the reader's account, not what their reach is.
- Before linking any person's personal domain, confirm the page content is about advertising: two entries above (Ben Heath, Nik Sharma) have same-name domains serving unrelated businesses.
- To find people beyond this table, work the discovery surfaces in efficiency order - named, dated people confirmed per fetch:
`podcast guest archives > conference speaker rosters > community leadership pages > tool-vendor benchmark posts > social profiles`
- Guest archive: returns several people per page, already dated and topic-tagged.
- Speaker roster: returns names with no recency.
- Benchmark post: mentions one or two in passing.
- Social profile: blocks the fetch entirely.
- Cheapest is not the same order: the benchmark post is a single fetch and the thinnest return, while the guest archive that leads on efficiency usually costs a feed lookup first. Re-rank against the user's own position - a community they already belong to outperforms every public surface here, and a conference they already attend turns its roster into a live one.
references/sources.md›
# Paid advertising source list - snapshot verified 2026-08-26
Every entry was checked by direct fetch on the snapshot date.
Statuses:
- **Active**: dated item ≤ ~3 months old at check.
- **Stale**: reachable, newest dated item > ~6 months.
- **Unverified**: fetch blocked/failed. Reason recorded, never assumed dead.
- **Dead**: parked, for-sale, or non-resolving. Only after every known surface failed.
"not stated" means the source publishes no audience figure - do not invent one.
"What they're selling" discloses the incentive behind the content. Almost nothing in this field is conflict-free, so the flag is for disclosure, not disqualification.
Re-verify anything here before recommending it (see SKILL.md, Freshness check).
Section order below is a catalogue, not a priority order. What earns a slot is ranked by efficiency - value per minute of attention - in SKILL.md, _Rank by efficiency_: a daily roundup or a release-note skim outranks a podcast under a tight budget, and that flips the moment the podcast rides on a commute.
## Table of Contents
- [Podcasts](#podcasts)
- [YouTube](#youtube)
- [Newsletters & independent blogs](#newsletters-independent-blogs)
- [Trade publications](#trade-publications)
- [Vendor-run & official platform sources](#vendor-run-official-platform-sources)
- [Communities](#communities)
- [Events](#events)
- [Removed as dead / not-yet-verified](#removed-as-dead-not-yet-verified)
## Podcasts
| Name | URL | Who's behind it | Best for | Segment | Cadence | Last confirmed | Audience | Price | What they're selling | Status + reason |
| --------------------------- | --------------------------------------------------------------- | ----------------------------------------- | ------------------------------------------------------------------------------------ | ------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------- | ---------------------------- | ----- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Perpetual Traffic | perpetualtraffic.com | Ralph Burns & Lauren Petrullo (Tier 11) | Paid social + Google Ads scaling, agency-side | both | not confirmed (implied weekly) | Aug 25, 2026 (Ep. 805) | "13M+ downloads" (aggregate) | free | agency | active |
| The LinkedIn Ads Show | b2linked.com/podcast | AJ Wilcox (B2Linked) | LinkedIn Ads, B2B demand gen | B2B | not confirmed | Aug 24, 2026 | not stated | free | agency | active |
| The Paid Search Podcast | paidsearchpodcast.com | Chris Schaeffer | Google Ads tactics | both | "weekly" (site claim) | Aug 24, 2026 (Ep. 527, via podcast-directory listing - homepage shows no dates) | not stated | free | consulting | active |
| Marketing O'Clock | marketingoclock.com | Cypress North (incl. Greg Finn) | Weekly digital-marketing news roundup incl. paid search/social - a budget compressor | both | weekly | Aug 24, 2026 (Ep. 447) | not stated | free | agency | active |
| Ecommerce Playbook | commonthreadco.com/blogs/coachs-corner | Common Thread Collective (Taylor Holiday) | DTC media-buying playbooks, spend efficiency | B2C/DTC | not confirmed | Aug 25, 2026 (via podcast-directory listing; the site URL is the blog hub, the show lives in its own feed) | not stated | free | agency | active |
| Limited Supply | limitedsupply.community | Nik Sharma | DTC brand-building & paid acquisition | B2C/DTC | not confirmed | Aug 19, 2026 (S17E7, via podcast feed) | not stated | free | paid community, agency | active - renamed-but-alive: limitedsupplypod.com 301s to limitedsupply.community, which itself lists no episodes; the show's feed is the dated surface |
| Surfside PPC Podcast | podcasts.apple.com/us/podcast/surfside-ppc-podcast/id1869436951 | Surfside PPC | Google Ads / PPC tutorials (companion to the YouTube channel) | both | not confirmed | Aug 20, 2026 (via directory lookup; 28 episodes) | not stated | free | course/site | active |
| The Ecommerce Alley Podcast | rss.buzzsprout.com/1826697 | Josh Coffy | Meta Ads, AI frameworks for DTC | B2C/DTC | not confirmed | Aug 17, 2026 (via directory lookup) | not stated | free | course/community | active |
## YouTube
Video is this field's least verifiable medium: at the snapshot, **all 8 channels checked returned a consent wall - including the official platform channel**. Every entry below is corroborated through the creator's own site or a companion podcast feed, never through the channel page itself. Label them accordingly and confirm manually before recommending.
| Name | URL | Who's behind it | Best for | Segment | Cadence | Last confirmed | Audience | Price | What they're selling | Status + reason |
| --------------------- | ---------------------------- | ------------------------------ | ---------------------------------------------------- | ----------- | ---------------------------------------- | --------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Inside Google Ads | youtube.com/@JyllSaskinGales | Jyll Saskin Gales | Google Ads tutorials/strategy | both | not confirmed | none (channel unobserved); companion podcast Aug 20, 2026 | not stated | free | course/coaching | unverified - consent wall; corroborated via companion podcast feed and jyll.ca |
| Ben Heath | youtube.com/@BenHeath | Ben Heath (Heath Media) | Meta/Facebook Ads | B2C-leaning | not confirmed | none (channel unobserved) | "500K+ subscribers" across two channels (owner's claim, undated) | free | agency/education | unverified - consent wall; corroborated via heathmedia.co.uk (reached from the old leadguru.co.uk redirect). Never link benheath.com - it now serves an unrelated furniture business |
| Paid Media Pros | youtube.com/@PaidMediaPros | Joe Martinez & Michelle Morgan | Google/Meta/LinkedIn/YouTube/Microsoft Ads tutorials | both | "two new videos every week" (site claim) | none (channel unobserved) | not stated | free | consulting | unverified - consent wall; paidmediapros.com confirms the channel is the brand's primary output |
| Solutions8 | youtube.com/@Solutions8 | Kasim Aslam | Google Ads / PPC agency training | B2B-leaning | not confirmed | none (channel unobserved) | not stated | free | agency | unverified - consent wall; sol8.com links to the channel but gives no recency signal |
| SurfsidePPC | youtube.com/@SurfsidePPC | Surfside PPC | Google Ads / PPC tutorials | both | not confirmed | none (channel unobserved); companion podcast Aug 20, 2026 | not stated | free | course/site | unverified - consent wall; strong corroboration via surfsideppc.com and the companion podcast feed |
| Jon Loomer | youtube.com/@jonloomer | Jon Loomer | Meta/Facebook Ads, advanced targeting | both | not confirmed | none (channel unobserved) | not stated | free + paid membership | courses/membership | unverified - consent wall; his blog is separately verified active (see Newsletters) |
| Google Ads (official) | youtube.com/@GoogleAds | Google | Official product updates and feature walkthroughs | both | not confirmed | none (channel unobserved) | not stated | free | platform-official | unverified - consent wall; the ads.google.com resource hub also consent-walled, so no alternate corroboration was reachable |
## Newsletters & independent blogs
| Name | URL | Who's behind it | Best for | Segment | Cadence | Last confirmed | Audience | Price | What they're selling | Status + reason |
| ----------------------------------------- | -------------------------------------- | ------------------------- | --------------------------------------------------- | --------------------------------- | --------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------- | ---------- | --------------------------------- | ------------------------------------------------------------------------------------------------- |
| Jon Loomer | jonloomer.com (feed at /feed/) | Jon Loomer | Deep Meta/Facebook Ads tactics, API changes | both (mostly B2C/DTC paid social) | not stated | Aug 25, 2026 (via RSS feed - homepage 403s) | not stated | freemium | courses/membership | active - feed beat the bot-blocked homepage |
| Demand Curve | demandcurve.com/newsletter | Demand Curve team | Growth-marketing tactics for startups | both (B2B-leaning) | weekly | Aug 19, 2026 (Issue #344) | "110,000+ operators" (stated) | free | agency/community media arm | active |
| Foxwell Digital blog | foxwelldigital.com/blog | Andrew Foxwell | Paid social (Meta) strategy for DTC/ecommerce | B2C/DTC | not stated | Aug 25, 2026 | not stated | freemium | agency + paid community + courses | active |
| Jyll Saskin Gales blog | learn.jyll.ca/blog | Jyll Saskin Gales | Google Ads coaching/tactics | both | not stated | May 20, 2026 | not stated | freemium | coaching/courses | stale (borderline) - newest confirmed post ~3 months old, just past the active cutoff |
| AdConversion | adconversion.com/blog | Silvio Perez | B2B paid ads (SaaS Google Ads) | B2B | not stated | none - blog reachable but no publish dates rendered | not stated | not stated | agency/services | unverified - no visible dates; cannot classify without one |
| Marketing Examined | marketingexamined.com | Alex Garcia | Marketing case-study breakdowns | both | not stated | none - article list visible, no dates rendered | not stated | not stated | own media/courses | unverified - no dates surfaced across two fetches |
| Zato Marketing blog | zatomarketing.com/blog | Kirk Williams | PPC/Google Ads commentary | both | not stated | Jul 10, 2026 | not stated | free | agency | active |
| Common Thread Collective - Coach's Corner | commonthreadco.com/blogs/coachs-corner | Taylor Holiday (CTC team) | DTC ecommerce paid media & profitability | B2C/DTC | not stated | Aug 26, 2026 | not stated | free | agency | active - the live blog is /blogs/coachs-corner; the older /blogs/ecommerce path rendered no dates |
| Search Engine Roundtable | seroundtable.com | Barry Schwartz | Google/Bing algorithm & search-forum news, some PPC | both | daily (claimed) | dated March 2, 2026 recap confirmed via search | not stated | free | independent (ad-supported) | `verified-active` - confirmed via search despite persistent direct-fetch 403s |
| 2PM | 2pml.com | Web Smith | Commerce/DTC industry analysis | B2C/DTC | not stated | dated 2026 essays confirmed via search (Palantir merch-store case study, manufacturing/defense-commerce coverage) | not stated | not stated | own media/membership | `verified-active` - confirmed via search despite direct-fetch 403s |
## Trade publications
| Name | URL | Who's behind it | Best for | Segment | Cadence | Last confirmed | Audience | Price | What they're selling | Status + reason |
| ------------------ | ------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------ | ------------ | ------------------------------------------------------------------------------------------ | ---------- | -------- | ----------------------------- | ----------------------------------------------------------------------------- |
| PPC Land | ppc.land | Luis Rijo | Daily ad-tech/programmatic/PPC news roundups - the strongest single budget compressor for platform news | both | daily | Aug 26, 2026 | not stated | free | independent news site | active |
| Search Engine Land | searchengineland.com | Semrush Inc. | PPC/SEO industry news | B2B-leaning, serves both | daily | Aug 25, 2026 | not stated | freemium | trade pub (tool-vendor-owned) | active |
| Digiday | digiday.com | Digiday | Ad tech, media buying, agency-industry news | B2B | daily | Aug 25, 2026 | not stated | freemium | trade pub | active |
| AdExchanger | adexchanger.com | Access Intelligence | Programmatic/ad-tech news | B2B | daily | Aug 26, 2026 | not stated | freemium | trade pub | active |
| Ad Age | adage.com | Crain Communications | Creative/agency/advertising industry news | both | daily | dated 2026 "Agency Report" and Editors Roundtable series confirmed via search | not stated | freemium | trade pub | `verified-active` |
| Adweek | adweek.com | Adweek | Advertising/agency industry news, incl. AI ad platforms | both | daily | Aug 2026 (exact day not rendered) | not stated | freemium | trade pub | active |
| Marketing Dive | marketingdive.com | Informa TechTarget | Brand/marketing strategy news, some paid media | both | daily | Aug 24, 2026 | not stated | free | trade pub | active |
| Marketing Brew | morningbrew.com/marketing | Morning Brew | Marketing/advertising industry news digest | both | daily/weekly | dated 2026 content confirmed via search (Marketing Brew Weekly show, current sponsor data) | not stated | free | media (ad-supported) | `verified-active` - confirmed via search despite persistent direct-fetch 403s |
| CXL blog | cxl.com/blog | CXL | CRO, growth marketing, some paid-traffic content | B2B | not stated | Aug 20, 2026 | not stated | freemium | course vendor | active |
## Vendor-run & official platform sources
Official platform release notes are a first-class category in this field, not vendor noise - platforms ship changes continuously and a missed change costs money. Gate them to the channels the user actually buys on.
| Name | URL | Who's behind it | Best for | Segment | Cadence | Last confirmed | Audience | Price | What they're selling | Status + reason |
| -------------------------- | ------------------------------------------------------------------------------------------ | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | ---------- | --------------------------------------------------------------------------------------------------------------- | ---------- | ------------ | -------------------- | ------------------------------------------------------------------ |
| Google Ads & Commerce blog | blog.google/products/ads-commerce/ | Google | Official Google Ads product news - the canonical dated source; the ads.google.com resource hub redirects through a consent gate to an undated regional page | both | not stated | Jul 2026 ("Demand Gen Drop") | not stated | free | platform-official | active (borderline ~1–2 months) |
| Meta for Business news | facebook.com/business/news | Meta | Official Meta Ads product news | both | not stated | Jun 11, 2026 | not stated | free | platform-official | active (borderline ~2.5 months) |
| LinkedIn Marketing blog | linkedin.com/business/marketing/blog | LinkedIn | Official LinkedIn Ads / B2B marketing news | B2B | not stated | Aug 11, 2026 | not stated | free | platform-official | active |
| Microsoft Advertising blog | about.ads.microsoft.com/en-us/blog | Microsoft | Official Microsoft Advertising product news | both | not stated | Aug 26, 2026 | not stated | free | platform-official | active |
| TikTok Newsroom | newsroom.tiktok.com/en-us | TikTok | Official TikTok platform news | both | not stated | Aug 26, 2026 - but the newest item was creator/music news, not ads; the /tag/tiktok-for-business path 404'd | not stated | free | platform-official | active but off-topic - no dated ads-specific post isolated |
| Optmyzr blog | optmyzr.com/blog | Optmyzr (Frederick Vallaeys) | PPC automation, AI in paid search | both | not stated | Aug 19, 2026 | not stated | free content | tool vendor | active |
| Adalysis blog | adalysis.com/blog | Adalysis (Brad Geddes) | PPC account management, Google Ads feature analysis | both | not stated | Aug 20, 2026 | not stated | free content | tool vendor | active |
| WordStream blog | wordstream.com/blog | WordStream (LOCALiQ) | PPC benchmarks and tactics | both | not stated | Aug 24, 2026 (2026 benchmarks post) | not stated | free content | tool vendor | active |
| Smartly.io blog | smartly.io/blog | Smartly.io | Paid-social creative automation at scale | both (enterprise + DTC) | not stated | dated 2026 content confirmed via search ("Performance Playbook for 2026," a 450-marketer AI/measurement report) | not stated | free content | tool vendor | `verified-active` |
| Triple Whale blog | triplewhale.com/blog | Triple Whale | Ecommerce/DTC analytics & attribution | B2C/DTC | not stated | dated 2026 content confirmed via search (monthly product-update posts through July 2026, a biweekly newsletter) | not stated | free content | tool vendor | `verified-active` - confirmed via search despite direct-fetch 403s |
| Motion blog | motionapp.com/resources/blog-interviews (URL corrected - `/blog` alone no longer resolves) | Motion | Creative analytics for paid social | B2C/DTC | not stated | dated 2026 content confirmed via search (2,100+ teams, $14B+ annual ad spend analyzed as of March 2026) | not stated | free content | tool vendor | `verified-active` |
| Refine Labs blog | refinelabs.com/blog | Refine Labs | B2B demand-gen strategy | B2B | not stated | Jun 18, 2026 | not stated | free content | agency | active (borderline ~2 months) |
## Communities
| Name | URL | Who's behind it | Best for | Segment | Cadence | Last confirmed | Audience | Price | What they're selling | Status + reason |
| ---------------------- | ------------------------- | -------------------------------------- | ----------------------------------------------------------------------- | ------- | ---------- | ----------------------------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| Foxwell Founders | foxwellfounders.com | Andrew Foxwell | Paid-social operator peer community | B2C/DTC | continuous | Aug 12, 2026 (dated page content) | "600+ members" (stated) | paid, custom "pay what works per month"; <10% acceptance | the community itself (+ founder's agency/courses) | active |
| Exit Five | exitfive.com | not stated on fetched page | B2B marketing community with paid-media discussion | B2B | continuous | Aug 24, 2026 (newsletter); Exit Five Drive event ~Sept 2026 | "7,000+ B2B marketers" (stated) | paid membership (price not shown) | the community itself | active |
| Online Geniuses | onlinegeniuses.com | not stated on fetched page | Large general digital-marketing Slack | both | continuous | Q&A schedule dated through Sep 2025 - at-most-~1-year-old signal, not necessarily current | "53,000+ members" (claimed) | freemium (free Slack + paid Elite tier) | the paid tier | active (weaker date signal than peers) |
| Measure Chat | measure.chat | not stated on fetched page | Analytics/measurement Slack adjacent to paid media | both | continuous | Jun 4, 2025 (latest article) - ~14 months, borderline | "~26,000 members" (from that article) | free + optional supporter tier | supporter tier | active/stale borderline - flagged |
| Superpath | superpath.co | not stated on fetched page | Content-marketing community, adjacent for ad-copy people | both | continuous | Jul 7, 2026 (CEO update); 2026 in-person tour listed | ~325 members in paid Slack tier | free + Pro $50/mo or $500/yr | Pro tier | active |
| Pavilion | joinpavilion.com | not stated on fetched page | GTM-leader peer community (paid-media leadership angle) | B2B | continuous | none - scale claims read current, no explicit date | "5,000+ executives" (stated) | tiered paid membership | membership | active (no dated item, current-reading claims) |
| #ppcchat | ppcchat.co | Julie F Bacchini (per neptunemoon.com) | Long-running PPC practitioner chat on a short-post social network | both | continuous | none - 403 on fetch | not stated | free | none visible (host runs an agency) | unverified - bot-block; corroborated alive via the host's own site |
| r/PPC | reddit.com/r/PPC | Reddit community | PPC Q&A and platform-change chatter | both | continuous | none | not stated | free | none | unverified - automated fetching of this forum platform was blocked at snapshot; says nothing about the community itself, check it manually |
| r/FacebookAds | reddit.com/r/FacebookAds | Reddit community | Meta Ads Q&A | both | continuous | none | not stated | free | none | unverified - same forum-platform fetch block |
| r/adops | reddit.com/r/adops | Reddit community | Programmatic/ad-ops Q&A | B2B | continuous | none | not stated | free | none | unverified - same forum-platform fetch block |
| Demand Curve community | demandcurve.com/community | Demand Curve | Growth community (existence as a distinct joinable product unconfirmed) | both | - | none - /community serves the homepage; no join mechanism visible | "100K+" appears to describe newsletter reach, not members | unclear | agency/community | unverified - could not confirm a standalone community exists |
## Events
| Name | URL | Who's behind it | Best for | Segment | Cadence | Last confirmed | Audience | Price | What they're selling | Status + reason |
| --------------------- | ------------------------------------------------------------- | -------------------------- | ------------------------------------------------------------------- | ------- | ----------- | --------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | ----------------------------------- | ------------------------------------ | ----------------------------------------------------------------------------------------------- |
| SMX | searchengineland.com/smx | Search Engine Land | Search-marketing conference series | both | multiple/yr | Master Classes Oct 2026; SMX Next Nov 18, 2026; Advanced Mar 2027; Munich & Paris Mar 2027 | "200,000+ marketers" over 19 years | not stated | tickets (trade-pub-run) | active |
| BrightonSEO | brightonseo.com | not stated on fetched page | Search conference with strong PPC track | both | 2/yr+ | San Diego Sep 15–16, 2026; UK Oct 8–9, 2026 | not stated | San Diego $865+; UK £300+ earlybird | tickets | active |
| Hero Conf | ppchero.com/hero-conf/ | PPC Hero | PPC-dedicated conference | both | annual+ | "Hero Conf San Diego September 2026" and "UK April 2027" - corroborated via brightonseo.com (co-located); direct page 403'd | not stated | not confirmed | tickets | active (renamed-but-alive) - heroconf.com survives only as a redirect to ppchero.com/hero-conf/ |
| Friends of Search | friendsofsearch.com | not stated on fetched page | European search-marketing conference | both | annual | 14th edition ~Mar 2027 (2026 recap live) | "700+ search professionals" | not shown (ticket shop link) | tickets | active |
| HubSpot UNBOUND | unbound.hubspot.com | HubSpot | Major GTM conference | B2B | annual | Sep 16–18, 2026, Boston - sold out; 2027 presale open | not stated | sold out, price not listed | tickets (tool-vendor-run) | active |
| Advertising Week | advertisingweek.com | not stated on fetched page | Global advertising-industry event series | both | multiple/yr | AWNewYork Oct 5–8, 2026; AWLatam Nov 3–5, 2026; AWEurope Mar 2027 | not stated | not stated | tickets | active |
| Cannes Lions | canneslions.com | not stated on fetched page | Creative/brand advertising festival | both | annual | Jun 21–25, 2027 (confirmed dates; 2026 wrap-up live) | not stated | passes "on sale soon" | tickets | active |
| Ad World Prime | adworldprime.com | iStack Holdings | On-demand replay/learning platform of the Ad World conference brand | both | on-demand | none - replay product, not a dated event page; live editions inferred from cross-references only | not stated | not stated | replay access / future-event presale | active (renamed/consolidated) - adworld.online is dead; adworldconference.com 301s here |
| Shoptalk | shoptalk.com | not stated on fetched page | Retail/ecommerce industry event (paid-media adjacent) | B2C/DTC | multiple/yr | Shoptalk Fall Sep 29–Oct 1, 2026, Nashville; 2027 editions teased | not stated | not listed | tickets | active |
| SaaStr Annual | saastrannual.com | SaaStr | SaaS go-to-market event (B2B paid-media adjacent) | B2B | annual | May 12–14, 2026, SF Bay Area | "10,000+ attendees" | not shown | tickets | active - note saastr.com itself 403'd; saastrannual.com is the working surface |
| Google Marketing Live | blog.google/products/ads-commerce/google-marketing-live-2026/ | Google | Official annual Google Ads product keynote | both | annual | May 20, 2026 edition confirmed via full recap | not stated | free | platform-official | active |
## Removed as dead / not-yet-verified
These were checked and rejected - a reader needs to know they were not simply missed:
- **GeekOut** (geekout.info) - dead: domain resolves only to a bare unconfigured server (a directory listing with a lone cgi-bin folder), no conference content.
- **Peers** (joinpeers.com) - dead: GoDaddy "domain for sale" parking page. Closest live analogue is Pavilion, but no absorption was confirmed on Pavilion's own pages.
- **Paid Search Association** (paidsearchassociation.com / .org) - dead: neither domain resolves (DNS failure), a stronger signal than a bot-block.
- **PPC Live UK** (ppclive.uk, ppclive.co.uk) - dead/unfound: neither guessed domain resolves.
- **SMX Podcast** (searchengineland.com/smx-podcast) - dead/unfound: HTTP 404; a same-domain search fallback 403'd, so existence could not be re-confirmed by another route.
- **Everyone Hates Marketers** - stale: newest episode ~27 months old at check (May 2024, confirmed via feed); the property has since been renamed to stfo.io. Not listed until dated new output is observed.
- **2X eCommerce** - stale + domain decay: no episode in ~18 months (Feb 2025, via feed), and 2xecommerce.com now 301-redirects to an unrelated subscription-retention consulting firm with zero mention of the podcast.
- **Define Digital Academy** (Aaron Young, YouTube) - the failed domain guess was a one-letter spelling bug: it's "Define" Digital Academy, not "Defined" Digital Academy. The correct domain (`definedigitalacademy.com`) resolves and is active - 130k+ YouTube subscribers, channel at youtube.com/@AaronYoungGoogleAds, $30M+ managed ad spend claimed, confirmed via a dated 2026 podcast appearance. Add under the corrected name and URL.
- **Why We Buy** - the whywebuy.substack.com guess was a seed mismatch (belongs to a different author, Shantanu Sengupta, newest issue Jul 2023) - but Katelyn Bourgoin's real, current newsletter is now located: `learnwhywebuy.com/wwbnewsletter/`, weekly on Tuesdays, 63,000+ readers, confirmed active in 2026. Add it under the correct URL.
- **"Revenue Vitals"** (Chris Walker) - not a dead-link problem: confirmed via search that Walker sold his Refine Labs shares in July 2025 and now runs ENCODED, a neuroperformance venture unrelated to B2B marketing or demand gen. Any B2B-marketing property under his name is stale by definition now - do not list, regardless of URL.
references/watch-list-example.md›
# Worked example - personalised advertising watch list
## Persona
Priya, **DTC media buyer** at an eight-figure ecommerce brand. Buys on **Meta + Google**. Time budget: **60 min/week**. Mediums: text + audio. Segment: B2C/DTC. Breadth. Incentive tolerance: keep everything, flagged. Listens to podcasts at the gym, so podcast attention cost is halved.
## The watch list (good example)
**Advertising radar - Priya · DTC media buyer · channels: Meta, Google · budget 60 min/week · sources verified 2026-08-26**
### Weekly core (~45 min/week)
| Source | Medium | Channel(s) | Min/wk | Why it earned the slot | Selling | Status |
| -------------------------- | ------ | ------------------------ | ------------------------ | -------------------------------------------------------------------------------------------------------------- | ----------------------- | ------ |
| Foxwell Digital blog | text | Meta | 10 | DTC paid-social strategy from a named practitioner; post dated Aug 25, 2026 | agency + paid community | active |
| Jon Loomer (via RSS) | text | Meta | 10 | Deepest Meta tactics/API-change coverage; feed post Aug 25, 2026 (homepage bot-blocks - subscribe to the feed) | courses/membership | active |
| PPC Land, batched weekly | text | Google, Meta, Microsoft | 10 | Daily roundup compressing several platform blogs into one read - the budget compressor for a 60-min budget | independent news site | active |
| Ecommerce Playbook podcast | audio | Meta, Google (DTC spend) | ~10 (gym-halved from 20) | DTC spend-efficiency playbooks; episode Aug 25, 2026 via feed | agency (CTC) | active |
| Google Ads & Commerce blog | text | Google | 5 (skim) | Official release notes for half her spend; never dropped as vendor noise | platform-official | active |
### Monthly (~10 min/week averaged)
| Source | Medium | Channel(s) | Min/wk | Why | Selling | Status |
| ---------------------- | ------ | ------------ | ------ | ------------------------------------------------------------------------------------- | ----------------- | ------ |
| Meta for Business news | text | Meta | 5 | Official Meta product notes, monthly sweep - PPC Land catches the urgent items weekly | platform-official | active |
| WordStream blog | text | Google, Meta | 5 | Benchmark checkpoints for CPC/CPA sanity checks; post Aug 24, 2026 | tool vendor | active |
### Annual (events)
| Source | Why | Selling | Status |
| ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- | ------- | ------ |
| BrightonSEO San Diego (Sep 15–16, 2026, $865+) with co-located Hero Conf | One trip covers search plus a PPC-dedicated track; Hero Conf corroborated via BrightonSEO's own page (its direct page bot-blocked) | tickets | active |
### Bench (verified substitutes)
- The Ecommerce Alley Podcast - active Aug 17, 2026, Meta/DTC.
- Dara Denney - active, sells courses; swap in if creative strategy becomes a theme.
- Motion blog - unverified, current-looking but no dates rendered.
- Triple Whale blog - unverified, bot-blocked at check.
Ordering that produced this list: efficiency first - the roundup and the text sources before any audio - then two re-ranks named out loud. The gym halved the podcast's attention cost and promoted it into the weekly core ahead of a second Google blog; the official release notes held their slot on coverage, not on ratio.
**Totals: ~55 of 60 min/week · 5 weekly + 2 monthly + 1 event · 8 of 8 listed entries verified-active · channel coverage: Meta ✓ (3 sources), Google ✓ (2 sources) - every bought channel has a verified-active source: yes.**
## Negative example (do not deliver this)
**"Top Meta creative sources for Priya (60 min/week)"** - Foxwell Digital, Jon Loomer, Dara Denney, Savannah Sanchez, sarahlevinger.com, Ben Heath (benheath.com), Limited Supply, Motion blog, Triple Whale blog. _"All the top DTC creative minds in one list - start with Sarah and Ben."_
Why it fails:
- **A bought channel is missing entirely**: Priya spends on Google every day and the list carries zero Google sources - no official release notes, no PPC news. A missed Google change costs her money directly. This alone makes it a failed deliverable, not a partial one.
- **A parked domain shipped as a link**: sarahlevinger.com is for sale. The person may well still publish - but linking a dead personal domain sends the reader to a registrar page.
- **A name-collision link shipped**: benheath.com serves an unrelated furniture-making business; the Meta-ads educator lives at heathmedia.co.uk. The URL resolves, the name matches, and it is still the wrong site - content was never checked.
- **Unverified entries presented flat**: Motion and Triple Whale were unverified at check; nothing is labelled.
- **No selling flags**: two agencies, a course seller, and two tool vendors presented as neutral voices.
SKILL.md›
---
name: advertising-radar
description: "Build a personalised, time-budgeted watch list of paid-advertising information sources - PPC and paid-social podcasts, newsletters, ad-platform release notes, communities, industry events, and media buyers worth following - with a verification method that keeps it fresh and a disclosure of what each source is selling. Use whenever a media buyer, PPC specialist, or growth marketer asks how to stay current on Google Ads, Meta, LinkedIn, TikTok, or Microsoft Ads changes, which PPC newsletters or paid-social podcasts to follow, which communities or conferences deserve their time, or who to follow in performance marketing - even if they never say 'radar'. Do NOT use for career planning - use mbfinotti/advertising-skills@advertising-career instead."
license: MIT
metadata:
author: Maya-Beth Finotti
version: "1.2.5"
---
# Advertising Radar
You are a curator of the paid-advertising information ecosystem. Your deliverable is a personalised watch list that fits the user's weekly time budget, and the method that keeps it alive.
This field has two distinctive failure modes:
- **Dead or stale entries** - the universal watch-list killer.
- **A missed channel** - ad platforms ship changes continuously, and a missed platform change costs money directly.
## Interview
Ask these questions one at a time. Wait for each answer before asking the next. Offer the multiple-choice options as written.
1. "What's your role?" - (a) media buyer / PPC specialist, (b) creative strategist, (c) head of growth / marketing leader.
2. "Which channels do you actively buy on? Name all that apply." - Google (Search / Shopping / PMax / YouTube), Meta, LinkedIn, TikTok, Microsoft, programmatic / other. This answer anchors the channel-coverage requirement below.
3. "What's your ceiling - how much time per week can you realistically spend, and is paid access on the table (memberships, conference travel) or free-only?" - (a) under 30 min, (b) 30–60 min, (c) 60–120 min, (d) 2+ hours; plus free-only yes/no. This is the effort ceiling the whole list is built against.
4. "Is there a date you need to be current by - a launch, a channel you're taking over, a quarter you're scaling into?" - a hard date promotes the fast-acting entries (news roundup, platform release notes) and demotes anything whose payoff lands next quarter (events, community standing).
5. "One-off catch-up, or a standing habit you'll keep?" - a compounding answer promotes the community slot and subscribable feeds; a one-off answer drops the community reserve and promotes a roundup-archive binge instead.
6. "Which mediums do you actually consume? Pick up to two." - (a) audio, (b) video, (c) text, (d) live community.
7. "What segment do you sell into?" - (a) B2B, (b) B2C / DTC ecommerce, (c) both.
8. "Breadth or depth?" - (a) broad scan of the field, (b) deep on a few themes (name them).
9. "Almost nobody in this field is conflict-free - every strong source sells a tool, an agency, a course, or is the platform itself. Any incentive type you want minimised (not removed - that would empty the list)?" - (a) no, flag everything and keep it, (b) minimise tool vendors, (c) minimise agencies, (d) minimise course/community sellers.
## B2B and B2C scope
Unlike adjacent ops fields, paid advertising has two largely separate source populations. Never hedge one list for both readers.
- **B2C/DTC**: its own ecosystem - Foxwell Digital, Common Thread Collective, Limited Supply, Motion, Triple Whale, Dara Denney, Savannah Sanchez, Taylor Holiday, Nik Sharma.
- **B2B**: a different ecosystem - The LinkedIn Ads Show (AJ Wilcox), AdConversion (Silvio Perez), Exit Five, Refine Labs.
- **Both**: Search Engine Land, PPC Land, Optmyzr, Adalysis, ZATO, Marketing O'Clock, The Paid Search Podcast. Labelled "both" in the source list.
Say this explicitly when building for either segment. A "both" user gets each entry labelled per segment, not a blended list that pretends the split doesn't exist.
## Personalisation workflow
1. Load `references/sources.md` and `references/people-to-follow.md`. Note the snapshot date in each header - if it is more than ~6 months old, tell the user the list needs re-verification before you rely on it.
2. Filter candidates by the interview answers: segment, mediums, channels bought, incentive tolerance.
3. Enforce channel coverage: the list must carry at least one verified-active source per channel the user actively buys on. Include official platform release notes (Google's Ads & Commerce blog, Meta for Business news, LinkedIn Marketing blog, Microsoft Advertising blog) for exactly those channels - never drop them as "vendor content", and never add them for channels the user doesn't buy.
4. Run the freshness check (below) on every surviving candidate. A source enters the list only after it passes or the user accepts it as knowingly unverified.
5. Price each survivor in attention as an order of magnitude, never an exact figure:
- Roundup, newsletter issue, blog post, or release-note skim: minutes.
- Community skim: minutes.
- Video: tens of minutes.
- Podcast episode: most of an hour.
- Event: days plus travel.
State its value as the outcome bought, never as an adjective:
- Platform changes caught before they cost money.
- Tactics deployable this week.
- One question answered by someone running the same account type.
Turn the order of magnitude into a minutes-per-week number only at the end, for the deliverable's budget arithmetic - the ranking never depends on that number.
6. Rank by efficiency (see below), then re-rank against what you already know about this user.
7. Attach a "what they're selling" flag to every entry:
- Tool vendor.
- Agency.
- Course/community.
- Platform-official.
Disclose the incentive. Do not filter conflicted sources out: the audit behind the source list found tool-vendor blogs are the freshest medium in this field, and every "independent" expert sells a course, an agency, or a paid community. Filtering conflicts out would empty the list.
8. Fill the budget top-down in efficiency order until ~90% is spent. Reserve the last ~10% for one community: the only entry that renews the list by surfacing new sources, which is what keeps it in a cut its raw ratio would lose.
Drop that reserve if the user answered "one-off". Stop when the budget is spent, and name 2–3 leftovers as "bench" substitutes.
9. Present the list section by section in the output shape below, and ask the user to confirm or swap entries before finalising. If your harness has persistent memory, record the interview answers, final list, and verification dates for the refresh routine to diff against.
### Rank by efficiency
Order by value returned per minute of attention, holding channel fit equal - never by cheapness, and never by fit alone:
- efficiency: `news roundup > platform release notes > newsletter == practitioner blog > community > podcast > video > event`
- attention cost: `event > podcast > video > community > newsletter == practitioner blog == release notes == news roundup`
- value: `event == community > podcast > news roundup == release notes > newsletter == practitioner blog > video`
Every tie above is decided, not deferred:
- **Newsletter == practitioner blog** (all three axes): one artifact delivered two ways - a few hundred words of one practitioner's opinion, minutes to read, pushed or pulled. Only the mediums answer separates them.
- **Roundup == release notes == newsletter == practitioner blog** (attention cost): all four are minutes of skimmable text, and nothing inside that band separates at the order of magnitude this axis measures.
- **Roundup == release notes** (value): the roundup's content largely is the release notes, restated.
- **Event == community** (value): both buy the same thing - a question answered by someone running the account type you run - one of them once a year and the other any week you show up.
The axes disagree exactly where the choice is hard, and a minutes-per-week budget makes that disagreement structural rather than incidental: attention cost is the denominator, so every long-form source loses every round however much durable understanding it carries.
The event is the most valuable single entry and the least efficient one. The podcast and the conference talk on video sit in the same trap. Nothing that takes an hour survives a cut measured in minutes.
Promote long-form against the ratio on purpose, never by waiting for the ratio to pick it:
- The user answers compounding (question 5).
- Depth on a named theme beats breadth (question 8).
- They are taking over a channel or segment they hold no mental model for, since headlines cannot build one.
- Dead time makes audio nearly free.
The roundup keeps the top slot on substitution, not on cheapness: one roundup replaces several platform blogs.
Default rung: the roundup plus release notes for every bought channel. Move up a rung only once channel coverage is guaranteed and budget remains.
This ordering is a default, not a law - it shifts with context and with who executes it. Re-rank against what you already know about the user, and say out loud what moved:
- A medium they will not consume is deleted, not demoted: strike it from the menu and say which mediums you struck, because a row left at the bottom of a list gets filled the moment the budget arithmetic leaves ten spare minutes. Free-only access deletes events and paid communities on the same terms.
- Dead time makes audio nearly free: a commute or a training session drops a podcast to near-zero attention cost and promotes it above text.
- Access they already hold - a membership, a subscription, a conference they attend anyway - has its cost already paid; promote it.
- A hard date promotes roundup and release notes and demotes events and community; a compounding mandate does the reverse.
- Depth on a named theme promotes the deepest source on that theme over the broadest one.
Do not rank named sources against each other inside one medium. Once channel fit, segment and freshness are fixed, what separates two active DTC paid-social blogs is taste - a ratio there is false precision. Rank the mediums; choose within a medium by channel and theme fit.
## Freshness check
Verify before recommending - a homepage's cadence claim ("weekly show") is aspirational until a dated item confirms it. If you can browse or fetch the web, for each source:
1. Fetch the canonical URL and find the most recent **dated** item (episode, post, upcoming event date).
2. Classify by observed date, never by the site's claim:
- **Verified-active**: dated item within ~3 months.
- **Verified-stale**: reachable, newest dated item older than ~6 months. Keep only if the user accepts the risk.
- **Dead**: parked, for-sale, or domain-marketplace page. Hard-remove.
- **Unverified**: fetch failed or blocked. Record the reason. An HTTP 403 or bot-block is _unverified_, never _dead_.
3. Never classify a show stale on a dateless homepage - several expose no episode dates at all while their own feed gives an exact one.
4. Video is entirely unverifiable by automated fetching in this field - YouTube channel pages routinely return a consent wall to automated fetching, including the official platform channel. Corroborate a video channel through the creator's own site or companion podcast feed, and label it "corroborated via companion surface; channel itself unobserved".
5. **Never conclude a person is inactive because their personal domain is dead.** In a 24-person audit, 5 personal domains were parked, for sale, or DNS-dead while the people themselves were plausibly still publishing. A dead personal domain makes the person _unverified_, with the reason recorded.
6. Watch the name-collision trap: for a person, confirm the page's _content_ is about advertising before trusting a resolving URL. A common name plus a resolving domain is the failure that ships a wrong link - see `references/sources.md` and `references/people-to-follow.md` for the Ben Heath and Nik Sharma cases.
7. Distinguish decay modes:
- **Renamed but alive**: redirect to a clearly related, updated property. Record the new URL, keep it.
- **Domain resold**: resolves but serves an unrelated business - the silent failure. Check content, not just resolution.
- **Genuinely dead**: parked/for-sale. Remove.
### Which surface to try when the canonical URL gives no date
Ranked by dated confirmations returned per fetch:
- efficiency: `podcast feed or directory listing > companion surface on another medium > employer or agency blog > conference speaker roster > personal domain > social profile`
- cost: `speaker roster > employer or agency blog > companion surface > feed or directory == personal domain == social profile` - the three-way tie is exact: one guessable fetch each, so cost cannot separate them at all; what comes back is what separates them, and that is the efficiency line's job
- compliance cost: `re-fetching a surface that already returned a 403 > every other surface` - the block is the site's stated policy, so record _unverified_ with the reason and change surface instead of routing around it; a rejected reader is recoverable, a banned one is not.
Cheapest and worst are the same surface: a personal domain is one guessable fetch away and is this field's largest single source of wrong conclusions - parked, resold, or DNS-dead while its owner publishes daily elsewhere. A social profile is not cheap either, it is unavailable: most paid-media knowledge circulates on short-post networks that block automated checking, so a handle is only ever recorded as _stated on a fetchable page_, never as verified. This ordering shifts with the source type - for a show the feed is first by a wide margin, for a person an employer blog usually beats it.
If you cannot browse the web at all, deliver the list from `references/sources.md` with each entry's recorded status and date, state clearly that you could not re-verify, and give the user the manual check: open each URL, find the newest dated item, apply the classifications above.
## Periodic refresh routine
If your harness supports scheduled routines, install a quarterly refresh. Otherwise tell the user to set a recurring calendar reminder ("Refresh my advertising radar - quarterly") and rerun this skill when it fires. Platform release notes ship continuously between refreshes - that is what the weekly roundup slot is for; the quarterly pass maintains the list itself.
1. Re-ask the channel list - media buyers change channel mix often, and a new channel voids the coverage guarantee until a source covers it.
2. Re-resolve every URL - even ones that worked last time - to catch renames and domain resale.
3. Re-run the freshness check; downgrade newly stale entries, remove dead ones, retry previously unverified ones.
4. Ask which sources the user actually consumed last quarter; drop ignored ones.
5. Ask the community slot and newest additions for one candidate discovery each; verify before swapping onto the bench or list.
6. Re-total estimated weekly minutes against the budget and trim overflow.
## Output shape
Deliver a single watch-list artifact, date-stamped in its header with the persona, channels bought, time budget, and verification date.
Group by consumption rhythm:
- **Weekly core**
- **Monthly**
- **Annual (events)**
- **Bench (verified substitutes)**
Per entry, include:
- Name, URL, medium, channel(s) covered.
- Estimated minutes.
- One line on why it earned the slot.
- What they're selling.
- Status + date.
Close with totals:
- Estimated weekly minutes vs. budget.
- Counts per section.
- Verified-active count.
- An explicit channel-coverage line ("every bought channel has a verified-active source: yes/no").
See `references/watch-list-example.md` for a worked example and a negative example.
Invocation examples:
- "Build me an advertising radar - I'm a DTC media buyer on Meta and Google with an hour a week."
- "Which PPC newsletters are actually worth my time? I don't watch video."
- "Who should I follow for LinkedIn Ads and B2B paid media?"
## Failure modes
- **Missing a bought channel.** A Meta-only list handed to someone running Google + Meta + LinkedIn is a failed deliverable, not a partial one. Check coverage against the interview's channel answer before presenting.
- **Dropping official platform sources as "vendor noise".** Platform release notes are a first-class category here; a missed change costs money. Gate them to bought channels instead.
- **Filtering out everyone with something to sell.** That empties this field's list. Disclose the incentive per entry instead.
- **Trusting a resolving URL with a matching name.** Confirm the content is about advertising (the Ben Heath furniture case).
- **Declaring a person dead from a parked personal domain.** That's unverified, not dead - find their live publishing surface.
- **Trusting a homepage over the feed for dates.** A dateless show homepage is not evidence of staleness.
- **Inventing metrics.** If a source doesn't publish audience figures, the value is "not stated". Never estimate one.
- **Over-stuffing past the budget.** Cut to fit; use the bench.
## Measurement
At delivery, the pass bar is:
1. Every channel the user buys on has at least one verified-active source - channel coverage is part of the pass bar, not a nice-to-have.
2. Total estimated weekly minutes at or under the budget.
3. Every entry carries a what-they're-selling flag and a status + date.
4. Zero unverified entries presented as verified.
At each quarterly refresh, additionally check that the user actually consumed at least two-thirds of the entries.
If any check fails, revise: re-verify, trim, or swap from the bench. Re-present until all pass.
## References
- See `mbfinotti/advertising-skills@advertising-kickoff` to route tasks across this collection.
- See `mbfinotti/advertising-skills@advertising-career` for landing and growing a paid-media role - this skill only curates what to read and who to follow.
- See `mbfinotti/advertising-skills@advertising-hiring` for building a paid-media team.