- Brand
- LoomaScale
- Category
- Marketing
- Primary Subcategory
- Ad Campaign Analytics & Reporting
Integration details
Description
LoomaScale helps users inspect connected Google and Meta ad accounts, review campaign performance and pacing, research keywords and search terms, create paused campaigns, and manage campaign delivery and budgets. Activating a campaign starts real ad spend; every create, activation, and budget change is validated against a user-configured daily spend cap.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Ad Campaign Analytics & Reporting
- Secondary Subcategories
- None listed
- Brand
- LoomaScale
- Access
- Account required
- First tracked
- 2026-09-14
- Tool count
- 102
- Market
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for LoomaScale
Get updates when LoomaScale’s Discoverability Score or category rank changes.
Competing in ChatGPT Ad Campaign Analytics & Reporting
View Category102 tools agents can invoke
Activate a PAUSED Google Ads campaign so it starts spending. Only works on campaigns created through this server, and re-checks the budget against your daily cap first. If you also run Meta ads, that server exposes meta_activate_campaign.
google_activate_campaign
Add keywords to an existing Google Ads ad group, each with its own match type and optional CPC bid. Set negative=true to exclude a search term instead of targeting it. Google cannot move a keyword between ad groups: remove it with google_remove_keywords and add it here instead, which resets its quality score and history. Up to 50 keywords per call.
google_add_keywords
Audit several of your Google Ads accounts at once and get the biggest problems across all of them, ranked by what they cost: campaigns spending without converting, search terms worth adding as negatives, missing or broken conversion tracking, campaigns held back by their budget, and disapproved ads. Defaults to every account this connection reaches. Use this rather than checking each account in turn — one call covers the portfolio, handles accounts in different currencies, and reports which accounts could not be read. Reads only; changes nothing.
google_audit_portfolio
Check whether a Google Ads account is able to spend at all: its account status, whether a billing setup is approved and which payments account and profile it points at, and whether an account budget is pending, cancelled or exhausted. Use this when campaigns look enabled and ads look approved but nothing serves. The Google Ads API exposes no card balance, no billing hold and none of the payment-failure banners the Google Ads UI shows, so an empty blocker list means only that nothing billing-shaped is visible to the API — the result says where to look next. For today's spend and delivery use google_check_pacing; for per-campaign eligibility use google_list_campaigns.
google_check_billing
Check today's spend and delivery health for a Google Ads account: pacing against daily budgets and enabled campaigns with zero delivery. If you also run Meta ads, that server exposes meta_check_pacing.
google_check_pacing
Compare spend and performance across several of your Google Ads accounts over the same dates — impressions, clicks, cost, conversions and conversion value per account, each in its own currency plus a US dollar conversion so the accounts can be ranked. Defaults to every account this connection reaches. Use this instead of calling google_get_insights once per account: it is one call, it handles accounts in different currencies and time zones correctly, and it reports which accounts could not be read rather than failing. Reads only.
google_compare_accounts
Create a new responsive search ad in an ad group that already exists, without touching the ads already running there. This is how you test new copy against current copy: the existing ad keeps serving and its history, and the new one competes alongside it. The ad is always created PAUSED, so it does not serve or spend until you enable it with google_set_status, and Google reviews it before it can serve. To change the copy of an existing ad instead of adding one, use google_update_ad; to build a whole new campaign, use google_create_campaign; to turn this ad on afterwards, use google_set_status.
google_create_ad
Create an ad group inside an existing Google Ads Search campaign, optionally with keywords and a default CPC bid. The ad group is created PAUSED and without ads, so it cannot spend until an ad exists: add a responsive search ad with google_create_ad, then enable the ad group with google_set_status. Use this to split a bloated ad group into tighter themes; Google cannot move keywords, so the ones that belong here are re-created with google_add_keywords and dropped from the old ad group with google_remove_keywords, losing their history.
google_create_ad_group
Create a Google Ads Search campaign with a responsive search ad and keywords. The campaign is created PAUSED — nothing spends until you run google_activate_campaign. Headlines are limited to 30 characters each (3-15 of them) and descriptions to 90 characters each (2-4). Pass locations to scope it geographically — without them the campaign targets every location on earth, which is Google's default; use google_find_locations to turn place names into ids. Pass languages the same way, or the ads show to people browsing Google in any language. If you also run Meta ads, that server exposes meta_create_campaign.
google_create_campaign
Create a conversion action in a Google Ads account: UPLOAD_CLICKS to import offline sales or leads tied to ad clicks, UPLOAD_CALLS to import calls from ads that later converted (send both with google_upload_conversions), or WEBPAGE for a website tag, whose code snippets are returned to put on the site. Sets category, counting type, default value and currency, lookback windows and whether it is primary. Google makes a new action primary by default, which means Smart Bidding starts optimizing toward it; pass primary_for_goal false to only report it. An action with the same name is reused, not duplicated. To change an existing action use google_update_conversion_action.
google_create_conversion_action
Create a Customer Match list in a Google Ads account — an audience built from your own customers' emails and phone numbers — or call it with no name to list the account's customer lists with their ids and matched sizes. Fill a list with google_update_customer_list_contacts and target or observe it on a campaign with google_update_campaign_criteria (add_audiences, user_list_id). The account must have accepted Google's Customer Match terms in Google Ads. A list with the same name is reused, not duplicated.
google_create_customer_list
Create a Google Ads Performance Max campaign complete enough to serve: a budget, the campaign, one asset group with headlines, descriptions and images, optional YouTube videos and search themes. The campaign is created PAUSED — nothing spends until you run google_activate_campaign. Performance Max needs more copy than a Search ad: 3-15 headlines of 30 characters, 1-5 long headlines of 90, 2-5 descriptions of 90 with at least one under 60, a business name, and images in three required slots — Google will not run an asset group without them. It bids to maximize conversions; pass target_roas to bid on conversion value instead. Pass locations to scope it geographically — without them the campaign targets every location on earth, which is Google's default; use google_find_locations to turn place names into ids. For a Search campaign use google_create_campaign, and to change this campaign afterwards use google_update_asset_group_assets, google_update_asset_group_media, google_update_brand_assets and google_update_search_themes.
google_create_pmax_campaign
Add sitelinks — the extra links under a Search ad — and attach them to the whole account, to one campaign or to one ad group. Each sitelink needs link text of at most 25 characters and an https landing page, and may carry two description lines of at most 35 characters each — Google shows both lines or neither, so pass both or neither. Google serves at most 20 sitelinks per level, and this call is refused if the new ones would not fit. Calling it twice creates two sets: unlike ad copy, Google does not recognise a sitelink it already holds, and an asset can never be deleted. Read what is already there with google_list_sitelinks first.
google_create_sitelinks
Record whether a Google Ads campaign contains political advertising in the European Union. Google requires this declaration on every campaign and refuses every change to a campaign that has none — targeting, budget, bidding and ads alike — with "This operation is only allowed after you confirm if this campaign has European Union political ads". Campaigns created outside this server, or before the rule, are the ones missing it. The declaration is a legal statement the advertiser makes about their own ads: ask the person whose account it is and pass their answer. Never assume it, and never call this tool to clear an error without asking first. Declaring political advertising also obliges the advertiser to complete Google's EU political advertising verification before those ads may run.
google_declare_eu_political_ads
Look up Google Ads locations by name and get the geo target constant id of each, with its canonical name and target type (Country, Region, City). Use this before changing location targeting with google_update_campaign_targeting, or before creating a campaign with google_create_campaign, whenever you have a place name rather than an id. Pass country_code when a name is ambiguous.
google_find_locations
Get Google Ads performance broken down by audience: impressions, clicks, cost, CTR, conversions and conversion value per audience criterion attached to an ad group (remarketing lists, interest categories, audience segments), ordered by spend. Note that Google returns the audience as a resource name, which is not always readable. For breakdowns by device, day of week, hour or network use google_get_insights with its segments argument; for locations use google_get_geo_insights.
google_get_audience_insights
Get Google Ads performance broken down by location: impressions, clicks, cost, CTR, conversions and conversion value per geographic area, ordered by spend, with the location named rather than left as an id. Use this to find regions that spend without converting. For breakdowns by device, day of week, hour or network use google_get_insights with its segments argument; for audiences use google_get_audience_insights.
google_get_geo_insights
Get Google Ads performance metrics — impressions, clicks, cost, CTR, average CPC, conversions, and conversion value — for the whole account, per campaign, per ad group, per individual ad, or per keyword, over a preset or custom date range. Split rows by device, day of week, hour, or network with `segments`, and add search impression share and the share lost to budget or rank with `include_impression_share` — that is how to tell whether a campaign has room to spend more. Use level ad to find the ads wasting money and to compare the responsive search ads in an ad group against each other; rows carry each ad's status so an already-paused ad is not mistaken for one worth pausing, and the row name is the ad's name or, as most responsive search ads have none, its first headline. The ad_group, ad and keyword levels, and any segmented query, are capped at the highest-impression rows. For an ad's full copy — every headline, description and landing page — use google_list_ads. For the keyword list and why keywords do or do not serve, use google_list_keywords; for the queries users actually typed, use google_list_search_terms; for performance by location use google_get_geo_insights and by audience google_get_audience_insights. If you also run Meta ads, that server exposes meta_get_insights.
google_get_insights
List the fields a Google Ads resource exposes to GAQL, with each field's data type, its enum values, and whether it can be selected, filtered or sorted on. Use it before google_query when unsure what a resource is called or which fields it has — a guessed field name costs a rejected query. Pass a resource name in snake_case: campaign, ad_group, ad_group_criterion, ad_group_ad, customer, keyword_view, search_term_view, geographic_view, campaign_budget, conversion_action, asset, asset_group. Pass `contains` to narrow a wide resource, e.g. resource=campaign contains=bidding. Segments and metrics are their own resources: use resource=segments or resource=metrics to list those.
google_get_resource_metadata
List the Google Ads accounts you can manage, including accounts reached through a manager (MCC) account, and which manager each is reached through. Says which accounts are managers (they hold no campaigns themselves), which cannot serve ads right now, and which is the stored default. To work in an account, pass its id or name as customer_id to any other tool — no dashboard change needed. Filter by name with name_contains when the list is long. If you also run Meta ads, that server exposes meta_list_ad_accounts.
google_list_ad_accounts
List individual ads in a Google Ads account with their status, policy approval verdict, landing pages (the final URLs a click goes to) and, for responsive search ads, their headlines, descriptions and display paths. Use this to answer where an ad sends people and what it says. Optionally filtered by campaign or ad group. This is ad copy only, with no metrics: for impressions, clicks, cost and conversions per ad — which ad is wasting money, which responsive search ad is winning — use google_get_insights with level ad. For campaigns and ad groups, use google_list_campaigns. If you also run Meta ads, that server exposes meta_list_ads.
google_list_ads
Audit Performance Max campaigns by asset group — the level PMax actually spends at. Returns each asset group's status, ad strength, why it is or is not serving, and its impressions, clicks, cost, conversions and conversion value for the range, ordered by spend. Set include_assets to also list the assets in each group with the slot they fill and whether they are serving, and include_search_themes to list the search themes and audience signals the campaign has been told to chase. For campaign-level numbers use google_get_insights, and for the list of campaigns and their channel types use google_list_campaigns.
google_list_asset_groups
List campaigns in a Google Ads account, including each campaign's status, channel type, daily budget in the account's own currency (reported in the currency field), bidding strategy, the Max CPC limit of Maximize clicks campaigns, the target CPA or target ROAS an automated strategy bids to, the dates the campaign runs between, the locations and languages each campaign targets, and Google's own eligibility verdict per campaign (primaryStatus) with the reasons it is not serving. Optionally includes ad groups. For individual ads, use google_list_ads. If you also run Meta ads, that server exposes meta_list_campaigns.
google_list_campaigns
Audit how a Google Ads account counts conversions: every conversion action with its category, type, status, whether it is primary (so it feeds bidding and the conversions column), its counting type, attribution model, value settings and lookback windows, plus how many conversions each one actually recorded over the date range. Use this to find duplicated actions, actions marked primary that should not be, missing conversion values, and primary actions that have stopped firing. Also returns the account's conversion goals — the (category, origin) groups bidding optimizes towards — and, when campaign_id is given, that campaign's own goals and whether it uses campaign-specific goal settings; change those with google_update_campaign_conversion_goals. For the performance numbers those conversions roll up into, use google_get_insights.
google_list_conversion_actions
List the keywords of a Google Ads account, campaign, or ad group with their match type, status, serving status, eligibility reasons, quality score with its three components (ad relevance, landing page experience, expected CTR), and effective CPC bid. Use this to explain why a campaign gets no impressions: a keyword can be enabled and still never serve. Negative keywords are included and flagged. For per-keyword performance numbers use google_get_insights with level=keyword; for the queries users actually typed use google_list_search_terms; for new keyword suggestions use google_keyword_ideas.
google_list_keywords
List the actual search queries that triggered Google Ads ads, with impressions, clicks, cost, CTR, conversions, the keyword each query matched, and whether the query is already added as a keyword or excluded as a negative. Ordered by impressions and capped. Use this to find wasted spend and missing keywords. For the keyword list itself use google_list_keywords; for suggestions not yet in the account use google_keyword_ideas. Meta has no search term equivalent.
google_list_search_terms
List the sitelinks of a Google Ads account — the extra links shown under a Search ad — with their link text, the two description lines, the page each one sends people to, and whether they are attached to the whole account, to one campaign or to one ad group. Use this to find campaigns running without sitelinks, sitelinks pointing at dead or generic pages, and sitelinks that just repeat the ad's own headlines. Set include_metrics to also get each sitelink's clicks, impressions, cost and conversions for the range; the clicks are split into clicks on the sitelink itself and clicks elsewhere in the ad while it was showing, because Google reports the two together and only the first belongs to the sitelink. For the ads themselves use google_list_ads, and for Performance Max asset groups use google_list_asset_groups.
google_list_sitelinks
Permanently remove ads from a Google Ads account. Removal cannot be undone: Google keeps no way back through the API, and the ad takes its performance history with it out of the account's default views. Pause with google_set_status when the ad may come back — a paused ad costs nothing and keeps its history. Two safeguards apply to every entry: the ad must already be PAUSED, and confirm_headline must match one of that ad's own headlines. Ids that are already gone are reported as skipped instead of failing the call, but a wrong headline or a still-serving ad refuses the whole call and removes nothing. Find ids and headlines with google_list_ads. Up to 20 ads per call.
google_remove_ad
Stop callouts, structured snippets, call, price, promotion, app, lead form or image assets serving on the whole account, on one campaign or on one ad group. This removes the link, not the asset: it stays in the account and can be linked again, and other campaigns using the same asset are left alone. An asset id that is not linked at the level given is reported as skipped rather than failing the call. Find asset ids with google_query, e.g. SELECT asset.id, asset.callout_asset.callout_text FROM campaign_asset WHERE campaign_asset.field_type = 'CALLOUT'. For sitelinks use google_remove_sitelinks.
google_remove_asset_links
Permanently remove a Google Ads campaign. Removal cannot be undone: Google keeps no way back through the API, and the campaign and its history leave the account's default views. Pause with google_set_status when the campaign may come back — a paused campaign costs nothing and keeps its history. Two safeguards apply: the campaign must already be PAUSED, and confirm_campaign_name must match its exact name. Find ids and names with google_list_campaigns.
google_remove_campaign
Permanently remove keywords from a Google Ads ad group. Removal cannot be undone: re-adding the same text later creates a fresh criterion with no quality score or history, so pause with google_update_keyword when the keyword may come back. Ids that are already gone are reported as skipped instead of failing the call. Find criterion ids with google_list_keywords. Up to 50 per call.
google_remove_keywords
Stop sitelinks serving on the whole account, on one campaign or on one ad group. This removes the link, not the sitelink: the asset stays in the account and can be linked again, and unlinking it from one campaign leaves the other campaigns using it alone. An asset id that is not linked at the level given is reported as skipped rather than failing the call. Get asset ids and their levels from google_list_sitelinks. To rewrite a sitelink instead of removing it, use google_update_sitelink — that keeps its performance history.
google_remove_sitelinks
Research new Google Ads keywords: average monthly search volume, competition level, and low/high top-of-page bid estimates for terms seeded from keyword phrases, a landing page url, or both. Use this to find terms worth adding and to check whether an existing keyword has any search volume at all. Returns the first page of results only. For keywords already in the account use google_list_keywords; for queries that already triggered ads use google_list_search_terms.
google_keyword_ideas
Run a read-only Google Ads Query Language (GAQL) SELECT against the account and return the raw rows. Use this for reporting questions the typed tools do not cover — a breakdown by device and day of week, impression share lost to rank, month-over-month by network, ad approval status. Prefer the typed tools where one fits: google_get_insights for standard performance, google_list_campaigns, google_list_ads, google_list_keywords, google_list_search_terms. This tool cannot change anything; every write has its own tool. Call google_get_resource_metadata first when unsure which fields a resource has. Note the case difference: the query is written in snake_case (campaign.name, metrics.cost_micros) and the rows come back in camelCase (campaign.name, metrics.costMicros), because that is what the API returns. Money arrives in micros — divide by 1,000,000. A query with no LIMIT gets LIMIT 100, and LIMIT above 1000 is lowered to it. GAQL has no OR and no parentheses: use IN, REGEXP_MATCH, or separate queries. Campaign dates are campaign.start_date_time and campaign.end_date_time. change_event only reaches back 30 days and needs a LIMIT. Not every resource accepts segments.date — check google_get_resource_metadata first.
google_query
Set the optional default Google Ads account that reads use when they pass no customer_id, by customer id or by account name. Rarely needed: every tool takes customer_id (id or name), so switching accounts in a conversation is just passing the other one. The default belongs to the connection and is shared by every chat you have open, and changes never fall back to it when you have several accounts. Changes nothing in Google Ads itself.
google_select_account
Pause or resume a Google Ads object: an individual ad, an ad group, or a whole campaign. Pausing stops its spend; resuming re-checks the governing campaign budget against your cap first (a campaign whose budget cannot be read is refused; an ad or ad group under it is enabled within that campaign's existing budget). Use google_list_campaigns or google_list_ads to find ids. If you also run Meta ads, that server exposes meta_set_status.
google_set_status
Raise the account-level spending limit of an invoiced Google Ads account, the total cap above every campaign budget. Use when google_check_billing reports the account budget is exhausted and nothing is serving. Cannot exceed your configured total account-budget cap and never sets an unlimited budget. Accounts that pay by card have no account budget, so this does not apply to them. For a campaign's daily budget, use google_update_budget.
google_update_account_budget
Rewrite the copy of an existing responsive search ad: its headlines, descriptions, landing page and display paths. The ad keeps its id and performance history, and Google puts it back into policy review after the edit. Each list you pass REPLACES the whole list — send every headline you want the ad to have, not just the new ones — and a field you omit is left untouched. Read the current copy first with google_list_ads. Only responsive search ads can be edited this way; for other ad types create a new one with google_create_ad.
google_update_ad
Rename a Google Ads ad group and/or set its default max CPC bid, which applies to every keyword in it that has no bid of its own. A bid only affects delivery when the campaign uses Manual CPC; the result says so when it does not. To pause or resume the ad group use google_set_status, and to change its keywords use google_add_keywords, google_update_keyword, or google_remove_keywords.
google_update_ad_group
Change the settings of a Performance Max asset group: its name, whether it is enabled or paused, the landing pages it sends clicks to and the display paths shown after the domain. This is how one asset group of a campaign is stopped or restarted without touching the others. final_urls REPLACES the whole list, and a field you omit is left untouched. An asset group cannot be moved to a different campaign. For the headlines and descriptions inside the group use google_update_asset_group_assets, and for its search themes google_update_search_themes.
google_update_asset_group
Replace the images, logos, YouTube video or call-to-action of a Performance Max asset group. Images are given as public https URLs, which this server downloads and uploads to Google; videos are given as YouTube video ids, not URLs. Each list REPLACES the whole slot — send every image you want the slot to have — and a slot you omit is left untouched. An image whose bytes Google already holds keeps its existing asset and its performance history, so passing the same URLs again changes nothing; note that the match is on exact bytes, so a re-encoded copy of the same picture counts as a new image. Google's shapes are enforced before anything is uploaded: marketing images 1.91:1, square 1:1, portrait 4:5, logos 1:1, landscape logos 4:1. For headlines and descriptions use google_update_asset_group_assets.
google_update_asset_group_media
Rewrite the text of a Performance Max asset group: its headlines, long headlines and descriptions. Each list you pass REPLACES the whole list for that slot — send every headline you want the asset group to have, not just the new ones — and a slot you omit is left untouched. Text that is already there keeps its existing asset and its performance history, so repeating a headline you want to keep costs nothing. Read the current copy first with google_list_asset_groups and include_assets. Google's minimums apply and cannot be crossed: 3 headlines, 1 long headline, 2 descriptions, with at least one description of 60 characters or fewer. For images, logos and video use google_update_asset_group_media; for search themes google_update_search_themes; for a responsive search ad google_update_ad.
google_update_asset_group_assets
Change the business name and logos of a Google Ads campaign. On a Performance Max campaign with brand guidelines enabled — Google's default for campaigns created recently — these three assets live on the campaign rather than on each asset group, which is why google_update_asset_group_assets and google_update_asset_group_media refuse them and send you here. Logos are given as public https URLs, which this server downloads and uploads to Google: square logos must be 1:1 and at least 128x128, landscape logos 4:1 and at least 512x128. Each list REPLACES the whole slot and a slot you omit is left untouched. Brand guidelines make a business name and at least one logo mandatory, so neither can be emptied.
google_update_brand_assets
Change the bidding settings of a Google Ads campaign: set or clear the Max CPC limit of a Maximize clicks campaign, and/or switch the campaign between Maximize clicks and Manual CPC. Use this when a campaign gets few or no impressions because its Max CPC limit is below the market bid, or before setting manual bids with google_update_ad_group or google_update_keyword, which Google only honours under Manual CPC. Also switches a campaign to Maximize conversions, optionally with a target CPA — the strategy that optimizes towards the campaign's conversion goals, which google_update_campaign_conversion_goals selects. Also switches a campaign to Maximize conversion value, optionally with a target ROAS given as a RATIO (pass 4 to mean 400%) — the strategy Performance Max and value-based search campaigns use to bid on revenue rather than on conversion count. Refuses campaigns governed by a portfolio bidding strategy. For daily budgets use google_update_budget.
google_update_campaign_bidding
Change the daily budget of a Google Ads campaign. Cannot exceed your configured daily spend cap, and refuses budgets shared across several campaigns and campaigns that run on a total budget for a date range (Google allows no daily amount on those); shared budgets are managed with google_update_shared_budget. If you also run Meta ads, that server exposes meta_update_budget.
google_update_budget
Choose which conversion goals a Google Ads campaign optimizes for, which is what the Google Ads UI calls campaign-specific goal settings. Goals are groups of conversion actions by category and origin — pass the categories the campaign should bid towards (for example SIGNUP) and every other goal is switched off for that campaign alone. Use this before switching a campaign to MAXIMIZE_CONVERSIONS with google_update_campaign_bidding, or when a campaign optimizes for the wrong events. Read the current goals and the categories available with google_list_conversion_actions. Pass use_account_goals to hand the campaign back to the account-level goals.
google_update_campaign_conversion_goals
Change a Google Ads campaign's device bid adjustments, ad schedule and audiences. Set a device adjustment from -100% (stop showing on that device) to +900%; add ad schedule windows (a day with start and end time on the quarter hour, optional bid adjustment) so ads only run at those times; add audiences by user list id (remarketing, customer lists) or user interest id (affinity, in-market), optionally with a bid adjustment; switch audiences between OBSERVATION (adjust bids, keep reach) and TARGETING (reach only those audiences); change or remove existing criteria by criterion id. Call it with only campaign_id to read the current settings. Customer lists and their ids come from google_create_customer_list; other audience ids from google_query on user_list or user_interest. Automated bidding ignores bid adjustments other than a -100% device exclusion. Not for Performance Max. For locations and languages use google_update_campaign_targeting.
google_update_campaign_criteria
Stop a Google Ads campaign from serving on queries and brands you do not want it on. Adds campaign-level negative keywords with EXACT, PHRASE or BROAD match, and for Performance Max and search campaigns adds brand exclusions — a brand list Google matches against every variation and misspelling of a brand, which plain negative keywords cannot do. Together these are the fix for a Performance Max campaign cannibalizing your own brand search: exclude your brand to push branded traffic back to the search campaign that was already winning it, or exclude a competitor's brand to stop paying for their name. Also removes negative keywords, detaches a brand list from a campaign, and takes individual brands out of a list. Attaches and detaches the account's shared negative keyword and placement exclusion lists (create and edit those with google_update_shared_list). Call it with no changes to read what a campaign already excludes. A search campaign needs AI Max turned on (google_update_campaign_settings with ai_max) before a brand list can be attached to it; a Performance Max campaign needs nothing. Refuses to edit a brand list that is shared with other campaigns. For ad-group-level negatives use google_add_keywords and google_remove_keywords; for locations and languages use google_update_campaign_targeting.
google_update_campaign_negatives
Rename a Google Ads campaign, change the dates it runs between, and turn AI Max for Search on or off (search campaigns only; AI Max widens matching beyond your keywords and lets Google rewrite headlines and landing pages, and is required before a search campaign can take a brand list). Removing an end date is the fix for a campaign that looks ENABLED but spends nothing because its end date has passed — pass end_date as null to let it run until it is paused. An end date in the past is refused, because it would stop a campaign retroactively; use google_set_status with PAUSED for that, which is reversible. The start date of a campaign that has already started cannot be moved. For daily budgets use google_update_budget, for pausing and enabling google_set_status, for bidding google_update_campaign_bidding, and for locations and languages google_update_campaign_targeting.
google_update_campaign_settings
Change where and in which languages a Google Ads campaign may show: add targeted locations, add excluded locations, add languages, remove existing location or language criteria, and set whether location targeting applies to people present in an area or also to people interested in it. Location entries may be geo target constant ids or place names — use google_find_locations when you only have a name; language entries may be language constant ids, ISO codes (en, uk) or names (English). Read the current targeting with google_list_campaigns and include_targeting. This tool only adds what you name and removes what you name, with one exception: excluding a location the campaign currently targets replaces that criterion, and targeting one it currently excludes does the same, because Google cannot flip a criterion in place. It never replaces the whole list. add_radius targets a circle (1-500 miles or 1-800 km) around a city, postcode, street address or latitude/longitude point, for 'within 25 miles of Austin' targeting; Google places the centre itself from the address. A campaign with no targeted locations reaches every location on earth, and one with no languages shows to every language.
google_update_campaign_targeting
LoomaScale ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve LoomaScale's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are LoomaScale alternatives on ChatGPT?
As of 2026-10-29, LoomaScale competes with Ad Account Health Check, Ad Reporting by PaidSync.ai, Ad Superpowers, Adalysis, AdKit - Ads Manager, Adlane, Admiral, AdPage and 64 more in ChatGPT Ad Campaign Analytics & Reporting, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.