Tutorial · October 14, 2026

How to Automate AI Citation Tracking with Make

A six-module Make scenario that asks the AI engines your buyer questions every week, logs who they name, and only bothers you in Slack when your brand drops out of the answer.

TL;DR
You will build a Make scenario that tracks your AI citations on a schedule. Google Sheets Search Rows feeds in your buyer prompts, an HTTP module asks ChatGPT, Claude, Gemini, and Perplexity each one, Add a Row logs mentions, rank, and citations, and a Data store plus a Slack module alert you only when your brand drops out. About an hour to build, around forty Make credits per weekly run.

Ask ChatGPT the same buying question twice and you will probably get two different shortlists.

So one check tells you almost nothing. You need the same questions asked on a schedule, with every answer written down.

To automate AI citation tracking with Make, build a scheduled scenario that reads your buyer prompts from Google Sheets, sends each one to the AI engines through the HTTP module, and logs whether your brand was mentioned, ranked, and cited. A Data store remembers the last result so Slack only fires when visibility drops. It takes about an hour and runs weekly on Make's free plan.

How to automate AI citation tracking with Make: a scenario of Google Sheets, HTTP, Data store, and Slack modules that checks whether ChatGPT, Claude, Gemini, and Perplexity name your brand every week.

I wrote the n8n version of this tracker last week. This one is for teams that already run their ops on Make and would rather click modules together than write JavaScript.

It also fixes the three things most DIY Make trackers skip: they count mentions but ignore citations, they run by hand, and they never tell you when something changes.

What does a Make scenario for AI citation tracking look like?

A Make scenario for AI citation tracking is a chain of six modules that runs on a schedule. Google Sheets supplies the prompts, the HTTP module asks the AI engines, a second Sheets module logs the answer, two Data store modules compare today with last time, and Slack posts when your brand disappears. Search Rows outputs one bundle per prompt, so you need no Iterator at all.

ModuleIts jobKey setting
Google Sheets: Search RowsRead your buyer promptsOne bundle per row
HTTP: Make a requestAsk the AI engines each promptPOST, JSON body, Parse response: Yes
Google Sheets: Add a RowLog a dated resultMentioned, rank, cited per engine
Data store: Get a recordRead last run for this promptKey = the prompt text
Router filter + SlackAlert on a dropToday below last time
Data store: Add/replace a recordSave today as the new baselineSame key as the lookup
The Make scenario as a row of circular modules: Google Sheets Search Rows, HTTP Make a request, Google Sheets Add a Row, Data store Get a record, then a router that sends a Slack message on a drop and always saves the new baseline with Data store Add/replace a record.
Six modules, one schedule, and an alert that only fires on a change.

Is that worth an hour of your week? I think so, because buyers now build their shortlists inside these engines.

ChatGPT referrals to news sites grew from under one million visits in January to May 2024 to more than 25 million in the same stretch of 2025, according to Similarweb data reported by TechCrunch. Your buyers are asking these engines for shortlists, and you cannot see the shortlist unless you go and look.

What you need before you build

Before you open the scenario editor, gather five things: a Make account, a Google Sheet, a Slack channel, an API key for the engines you want to check, and your brand facts. The free Make plan is enough for a weekly tracker, and none of the setup needs a developer.

  • A Make account. The Free plan includes 1,000 credits a month, which covers a weekly run.
  • A Google Sheet with two tabs, Prompts and Log, connected to Make through a Google connection.
  • A Slack workspace with a channel for alerts and a Slack bot connection in Make.
  • An AI data source: either your own OpenAI and Perplexity API keys, or one key for an AI-visibility API that covers several engines in a single call.
  • Your exact brand name, any spelling variants, and your domain.

Spend your prep time on the prompts. Write the questions a buyer types before they know your name, like best AI visibility tools or alternatives to a competitor.

A prompt with your brand in it only proves the model can describe a company you handed it. Our guide to prompt monitoring covers how to pick prompts that map to real buying moments.

Step 1: Store your buyer prompts in Google Sheets

Put one buyer prompt per row in a Prompts tab, then start the scenario with the Google Sheets Search Rows module pointed at that tab. Search Rows returns each matching row as its own bundle, and Make runs every later module once per bundle. Ten rows means ten checks, with no Iterator to configure and no array to split.

Give the tab two header columns: Prompt and Active. Then add a filter in Search Rows so it only returns rows where Active is TRUE.

That Active column lets you park a prompt without deleting it, and lets a teammate edit the list without touching the scenario.

Step 2: Schedule the scenario to run weekly

Open the scenario's schedule settings and switch it from the default to Weekly or Daily at a fixed hour. By default a Make scenario runs every 15 minutes, which would burn credits and API budget on answers that barely change. A weekly run catches real movement, and daily is the most any brand needs during a launch or a competitive push.

Weekly and Daily both sit in the schedule menu, per Make's scheduling docs.

So why not just check every hour and be safe? Because AI answers are noisy at the level of a single run.

A SparkToro and Gumshoe study ran 2,961 prompts through ChatGPT, Claude, and Google's AI and found less than a 1-in-100 chance of getting the same brand list twice, Search Engine Journal reported in January 2026. Checking hourly would only hand you more of that randomness.

Run your first test with the Run once button, not the schedule. Make only lets you map the parsed fields from the HTTP module after it has run once, so a manual run is how you unlock the mapping for Steps 4 and 5.

Step 3: Ask the AI engines with the HTTP module

Add the HTTP app's Make a request module after Search Rows. Set the method to POST, the body content type to application/JSON, store your API key in the module's Credentials, map the prompt from Step 1 into the request body, and set Parse response to Yes. The module now sends one request per prompt and hands back structured fields you can map.

Make's HTTP app documentation recommends putting authentication in the Credentials field rather than typing it into Headers. It keeps the key out of your scenario blueprint when you share or export it.

The HTTP Make a request module settings for the tracker: URL https://api.mentionsapi.com/v1/check, method POST, authentication through an API key credential in the Authorization header, body content type application/JSON, a JSON body with mode, query mapped from the prompt, and brand, timeout 120 seconds, and Parse response set to Yes.
The five HTTP settings that matter, and the one most people forget.

Here is the request body if you point the module at a visibility API that covers all four engines:

URL:     https://api.mentionsapi.com/v1/check
Method:  POST
Auth:    API key credential -> Authorization: Bearer lvk_live_...
Body:    application/JSON (JSON string)

{
  "mode": "quick",
  "query": "{{1.Prompt}}",
  "brand": "YourBrand"
}

Set the Timeout to around 120 seconds. Make allows anything from 1 to 300, and a four-engine call takes longer than a typical API request.

You can also call each engine yourself. That is cheaper for one engine and gets painful fast for four, so it is worth seeing the tradeoff before you commit.

ApproachHTTP modules per promptWhat you have to handle
Call OpenAI and Perplexity directlyOne per engineSeparate keys, body shapes, and citation formats
One AI-visibility API callOne for all enginesA per-check fee; fields already normalized
Scrape the chat appsNot practical in MakeBreaks often and violates the terms of service

And you do want more than one engine. Between September and November 2025, ChatGPT referrals grew 52% year over year while Gemini referrals grew 388%, per Similarweb figures compiled by Digiday. Watch only ChatGPT and you miss the engine your buyers are moving to.

Step 4: Log mentions, citations, and rank to Google Sheets

Add a Google Sheets Add a Row module pointed at your Log tab and map three fields per engine: whether your brand was mentioned, its rank in the answer, and whether your domain appears in the cited sources. Add the run date and the prompt as the first two columns. Every run appends rows, and after a few weeks those rows are the trend line you actually care about.

With Parse response on, the fields arrive ready to map. The mentioned flag and the rank map straight across, for example providers.chatgpt.mentioned and providers.chatgpt.rank.

The cited column needs one formula, because citations come back as a list of URLs. Paste this into the mapping field and swap in your domain:

contains(join(map(2.providers.chatgpt.citations; "url"); " "); "yourbrand.com")
How one parsed HTTP response maps into a Google Sheets row: the date and prompt, then for each engine the mentioned flag, the rank, and a cited flag computed by checking whether the brand's domain appears in the citations list.
One response becomes one dated row, with mention, rank, and citation kept apart.

Keep mentioned and cited in separate columns. They measure different wins.

A mention is the model saying your name. A citation is the model linking to your site as a source, which is the stronger signal of trust and the only one that can send a click.

And clicks are scarce. When Google shows an AI summary, users click a result link on 8% of visits versus 15% without one, and click a source inside the summary on just 1% of visits, according to Pew Research Center. Analytics will undercount what AI does for your pipeline, and this sheet catches what the clicks miss.

<1 in 100chance an AI returns the same brand list twice (SparkToro, 2026)
1%of visits click a source inside a Google AI summary (Pew, 2025)
388%YoY growth in Gemini referrals, Sep-Nov 2025 (Similarweb)

Step 5: Alert Slack only when the answer changes

Add a Data store and use it as the scenario's memory. Get a record looks up the last result for this prompt, a Router filter passes only when today's engine count is lower than the stored one, a Slack Create a Message module posts the drop, and Add/replace a record saves today's count. You get one alert when visibility falls, instead of the same alert every morning.

Create the Data store with two fields: prompt as the key and engines as a number. Then add a single Make formula on the HTTP output that counts how many engines named you:

if(2.providers.chatgpt.mentioned; 1; 0) + if(2.providers.claude.mentioned; 1; 0)
+ if(2.providers.gemini.mentioned; 1; 0) + if(2.providers.perplexity.mentioned; 1; 0)

Put a Router after Get a record with two routes. The alert route carries a filter: today's count is less than the stored engines value, and it ends in Slack. The second route has no filter and always runs Add/replace a record with the same prompt key.

Alert-on-change logic in Make: the Data store returns last week's count of engines naming the brand, today's count is compared against it, a drop such as three engines to one sends a Slack message, and both routes save today's count as the new baseline.
Compare, alert on a drop, then overwrite the baseline either way.

Keep the Slack text to one line: the prompt, the count before and after, and which engines dropped you.

Make sure the key you save matches the key you look up, character for character. A stray space or a capital letter makes Get a record come back empty, and the alert route never fires.

A tracker that alerts on every absence trains you to mute the channel. One that alerts on a change is the one you still read in month three.Why the Data store matters

How many Make credits does AI citation tracking use?

Plan on roughly four Make credits per prompt per run. Make charges about one credit per module action, and each prompt passes through the HTTP module, Add a Row, Get a record, and Add/replace a record, while the Router itself is free. Ten prompts cost around forty credits a run, so a weekly schedule stays well inside the 1,000-credit Free plan.

Those rules come from Make's pricing page, which says most actions cost one credit and that Router and error handler modules cost none. Search Rows adds a credit at the start, and Slack adds one each time an alert actually fires.

Make credit math for ten prompts: about 41 credits per run, about 176 credits a month on a weekly schedule, which fits the 1,000-credit Free plan, and about 1,230 credits a month on a daily schedule, which needs a paid plan.
Ten prompts: weekly fits the Free plan, daily does not.
PromptsCredits per runWeekly, per monthDaily, per month
5about 21about 90about 630
10about 41about 176about 1,230
25about 101about 434about 3,030

Treat these as estimates and check the real number in the scenario's execution history after the first run. Alerts and any extra modules you add will move it.

Make credits are only half the bill. The API you call charges too: on MentionsAPI, a fresh quick check covering all four engines is 150 credits, and a repeat of a recently asked query costs 5.

One HTTP module, four engines
MentionsAPI checks whether ChatGPT, Claude, Gemini, and Perplexity mention, rank, and cite your brand for any prompt, and returns clean fields Make can map straight into Google Sheets. 300 free credits, no card.

Should you build this tracker in Make or n8n?

Build it in Make if your team already uses Make and wants a visual, form-based scenario with Google Sheets and Slack connected in minutes. Build it in n8n if you want to self-host, write JavaScript in a Code node, or keep costs flat as the workflow grows, since n8n bills per execution while Make bills per module action. Both can run the identical tracker.

QuestionMaken8n
How you build itVisual modules and formsNodes plus a JavaScript Code node
How it billsPer module action (credits)Per workflow execution
Brand detectionMake formulas in mapping fieldsA few lines of JavaScript
HostingCloud onlyCloud or self-hosted
Best forOps and marketing teamsDevelopers and self-hosters

My honest take: pick the tool your team will still maintain in six months. A tracker nobody opens is worse than no tracker, whatever it runs on.

How to read your AI citation tracking data

Read the Log tab for frequency over weeks, not for any single rank on any single day. The most reliable number is your mention rate: the share of prompt runs where an engine names you. Rank jumps around run to run, so a brand that sits at position two today and five tomorrow has not necessarily moved.

The same SparkToro study backs this up. In one headphone test, Bose, Sony, Sennheiser, and Apple each appeared in 55% to 77% of 994 responses, even though the order kept changing.

So build a pivot on the Log tab: mention rate per engine per week, and citation rate beside it. That gives you two lines you can trust.

When you want to turn those into a single competitive number, the next step is share of model, and our AI search analytics guide covers the wider metric set.

The data is only worth collecting if you act on it. The Princeton GEO study found that adding statistics and cited sources to a page raised its visibility in AI answers by 30% to 40%. Aim fixes like that at the prompts your sheet says you are losing.

Mistakes that make a Make tracker lie to you

Most broken trackers fail quietly. The scenario runs, the sheet fills up, and the numbers are wrong because of a setup choice nobody revisited. These are the mistakes I see most often in Make builds, and each one makes your visibility look better or worse than it really is.

  1. Putting your brand name in the prompts, which tests recall and inflates your mention rate.
  2. Leaving the default 15-minute schedule on, which burns credits for answers that have not changed.
  3. Logging only mentions, so you never learn whether any engine trusts you enough to link.
  4. Matching a brand name that is also a common word, which logs false positives all day.
  5. Alerting on every absence instead of on a change, which teaches everyone to ignore Slack.
  6. Mismatched Data store keys, so Get a record always comes back empty and no alert ever fires.
  7. Tracking ChatGPT alone while your buyers drift to Gemini and Perplexity.

Frequently asked questions

Can Make.com track whether ChatGPT mentions my brand?
Yes, but you build the tracker yourself. A scheduled Make scenario reads your buyer prompts from Google Sheets, sends each one to the AI engines with the HTTP module, maps whether your brand was mentioned and cited, and writes the result to a sheet. Make has no native AI-visibility app, so the HTTP module calling an engine API or a visibility API does the actual checking.
How many Make credits does an AI citation tracking scenario use?
Roughly four credits per prompt per run, because Make charges about one credit per module action and each prompt passes through the HTTP, Google Sheets, and two Data store modules. Ten prompts cost around forty credits a run. Run that weekly and you use under 200 credits a month, well inside the 1,000-credit Free plan. Daily runs need a paid plan.
How do I stop Make from sending the same Slack alert every day?
Store yesterday's result in a Make Data store and compare before you alert. Use Get a record with the prompt as the key, add a filter that only passes when today's engine count is lower than the stored count, then save today's count with Add/replace a record. You hear about a drop once, on the day it happens, instead of every morning after.
Should I use Make or n8n to track AI citations?
Use Make if your team already lives in it and wants a visual, no-code build with Google Sheets and Slack connected in a few clicks. Use n8n if you want to self-host, write JavaScript in a Code node, or keep execution costs flat as the scenario grows. Both tools can run the same tracker; the difference is billing and how much code you want to touch.
How often should I check AI answers for my brand?
Weekly is enough for most brands, and daily is the most anyone needs. AI answers shift over days and weeks, and a single run is noisy because engines rarely return the same brand list twice. Weekly runs keep your Make credits and API costs low while still catching real changes. Move to daily only for a launch or a competitive fight you are watching closely.
Do I need to code to build an AI visibility tracker in Make?
No. Every module in this scenario is configured through forms: Google Sheets, HTTP, Data store, Router filters, and Slack. The only thing that looks like code is a short JSON request body and a few Make formulas, such as if() and contains(), that you paste into mapping fields. If you can build a basic Make scenario, you can build this one in about an hour.

Build the scenario this week, read it next month

To automate AI citation tracking with Make, do this next: create the Prompts tab with five neutral buyer questions, build the six modules, press Run once to unlock the mapping, then set the schedule to Weekly. Leave it alone for four runs before you change anything, so you have a baseline to compare against.

After a month, add prompts and engines where the sheet shows gaps. If you would rather the scenario stay at one HTTP module however many engines you track, point it at an AI-visibility API like MentionsAPI and spend your time on the fixes instead of the plumbing.

Nikhil Kumar
Founder, MentionsAPI

Growth marketer at the intersection of marketing, product, and technology. 8+ years across startups and scale-ups in India, Switzerland, and the Netherlands. Founder of Landkit (landkit.pro).

Four engines, one Make module.

Check whether ChatGPT, Claude, Gemini, and Perplexity mention and cite your brand for any prompt, straight from your Make scenario. 300 free credits, no card.