- 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
- 61
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
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 Category61 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
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
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 and google_set_status enables it. 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 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. Manager accounts hold no campaigns themselves. 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, 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
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.
google_query
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. 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 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. 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
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. Call it with no changes to read what a campaign already excludes. A search campaign needs AI Max turned on in Google Ads 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 and change the dates it runs between. 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. A campaign with no targeted locations reaches every location on earth, and one with no languages shows to every language.
google_update_campaign_targeting
Change how a Google Ads conversion action counts and values conversions: its counting type (ONE_PER_CLICK counts one conversion per click, MANY_PER_CLICK counts every occurrence), its category, whether it is primary and therefore feeds Smart Bidding and the conversions column, its default value and currency, and its click-through and view-through lookback windows. Use it to fix what google_list_conversion_actions reports — a purchase action counting every occurrence, a lead action inflating the number, a flat default value on an action that should send real order values. Read the action first with google_list_conversion_actions. Only the settings you pass change; the rest are left alone. Note that Google Ads only imports an action whose type starts with GOOGLE_ANALYTICS_4_, UNIVERSAL_ANALYTICS_, FIREBASE_ or THIRD_PARTY_APP_ANALYTICS_, and refuses to change its counting type or its lookback windows through the API — those live in the system that produces the conversion, so for a Google Analytics key event the counting method is set in Analytics. A UNIVERSAL_ANALYTICS_ import and an action owned by a different account (cross-account conversion tracking) cannot be edited here at all. This changes counting from now on and does not restate past conversions, and Smart Bidding takes a week or two to settle afterwards. To choose which conversions a single campaign optimizes for, use google_update_campaign_conversion_goals instead. Deleting a conversion action is not offered here because it cannot be undone.
google_update_conversion_action
Pause or resume a single Google Ads keyword and/or change its max CPC bid. Pausing a keyword stops it serving without deleting its history — prefer it to google_remove_keywords when the keyword may come back. A bid only affects delivery when the campaign uses Manual CPC; the result says so when it does not. Find criterion ids with google_list_keywords.
google_update_keyword
Set the search themes of a Performance Max asset group — the phrases that tell Google which demand this asset group is meant to capture, which is one of the few direct controls a Performance Max campaign has. The list you pass REPLACES the whole set: send every theme you want the asset group to have, including the ones already there. A theme that drops out of the list is deleted and this tool cannot bring it back. At most 25 themes of 80 characters each. Audience signals on the same asset group are never touched. Read the current themes first with google_list_asset_groups and include_search_themes.
google_update_search_themes
Rewrite an existing Google Ads sitelink: its link text, its two description lines or the page it sends people to. Editing keeps the sitelink's id and its performance history, which is why this is the right way to fix a dead landing page or reword a link rather than removing it and creating a replacement. A sitelink is one shared asset: if it is linked to several campaigns or ad groups, this changes it in all of them, and the result lists everywhere it is used — tell the user before calling. Get asset ids from google_list_sitelinks. Pass only the fields you are changing.
google_update_sitelink
Report how many LoomaScale tasks the user has left in the current period: used, limit, remaining, and when the counter resets. A task is one request in this chat — all the tool calls made to answer a single message count as one. The allowance comes from the user's plan (free, plus, pro or max); legacy plans are unlimited. Calling this is free — it never consumes a task and keeps working after the quota runs out. This is the LoomaScale task allowance only, not ad spend, ad account balance, or campaign budget.
loomascale_check_quota
Activate a PAUSED Meta 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 Google Ads, that server exposes google_activate_campaign.
meta_activate_campaign
Check today's ad spend and delivery health for a Meta ad account: pacing against daily budgets, zero-delivery active campaigns, and delivery problems.
meta_check_pacing
Add a new ad, with a new creative, to an ad set that already exists — use this instead of meta_create_campaign when the campaign and ad set are already set up. The ad is created PAUSED even if the ad set is active, so it does not spend until you run meta_set_status on the returned adId. Any image is uploaded to the ad account rather than hotlinked. Use meta_list_campaigns to find the ad set id.
meta_create_ad
How do I improve a ChatGPT Plugin's 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-09-29, LoomaScale competes with Ad Superpowers, AdKit - Ads Manager, AdPage, adplane, AdsAgent, Adspirer, Adszy, Adzviser TikTok Ads, AgencyAnalytics, Agentio, Billy Grace Insights, Channel99, DashThis, Data Bloo, Delivra, Dynamoi, Flyweel, Groas, HireOtto Performance Ads, HYPD AI - Paid Ads & Analytics, Hyros, Jepto, Kreel, Lead Recorder, Lily Apple Ads, Markifact - Ads & Analytics, Masha, Metadata, Momently, Nanga, Nexoya, Optmyzr, PaidSync, Reportei, Roivenue, StoreAdOps, Supermetrics, Tap, Triple Whale, Voluum, Wask, Whatagraph, Windsor.ai Facebook Ads, Windsor.ai Google Ads, Windsor.ai TikTok Ads 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.