- Brand
- Blend AI
- Category
- Marketing
- Primary Subcategory
- Ad Campaign Analytics & Reporting
Integration details
Description
Blend AI connects ChatGPT to the advertising accounts you have linked in your Blend account: Meta, Google Ads, TikTok, Pinterest, Microsoft Advertising, LinkedIn Ads, Amazon Ads, and Reddit Ads. Ask questions about campaigns, ad sets and ad groups, ads, keywords, search terms, spend, impressions, clicks, conversions, and ROAS, and get answers from live platform data. When you ask for a change, such as pausing a campaign, adjusting a budget, or creating a campaign or ad, Blend AI applies it through the platform's API and reports exactly what was changed. Built for marketers, agencies, and business owners who run paid media. Limitations: Blend AI only accesses ad accounts connected to your Blend account and only with the permissions you granted each platform. Each request works on one platform at a time; cross-platform comparisons are answered with one request per platform. Uploading media requires a public HTTPS URL. Changes are made in your live ad accounts and can affect spend.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Ad Campaign Analytics & Reporting
- Secondary Subcategories
- None listed
- Brand
- Blend AI
- Access
- Account required
- First tracked
- 2026-11-07
- Tool count
- 20
- 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 Blend AI
Get updates when Blend AI’s Discoverability Score or category rank changes.
Competing in ChatGPT Ad Campaign Analytics & Reporting
View Category20 tools agents can invoke
List available Blend business accounts and ad account aliases for the authenticated user. Use this to find account_id aliases, see the default account, or switch between agency/client accounts. Returns each alias, account name, and is_default flag. Pass an alias verbatim as account_id on channel tools.
blendmcp_list_accounts
Modify Amazon Ads campaigns, ad groups, keywords, and product ads (Sponsored Products, Sponsored Brands, Sponsored Display) using natural language. Describe what you want to change and this tool will execute it directly. Amazon-specific capabilities: - Campaigns (SP / SB / SD): create, update budget/name/dates, pause, enable, archive - Ad Groups (SP / SD): create, update default bid / name / status, pause, enable, archive - Keywords (SP only): create, update bid, update match type, pause, enable, archive - Product Ads (SP only): create from ASIN or SKU, pause, enable, archive - Product targets (SP only): create ASIN same-as targets from exact ASINs, update bid, pause, enable - Negative keywords (SP only): create campaign-level or ad-group-level negative exact / phrase keywords - Budget and bid values in normal account currency units, e.g. $50 — server passes through without conversion (Amazon uses decimal currency, not cents or micros) - Status values: ENABLED, PAUSED, ARCHIVED (Amazon has no hard-delete; archive is the closest) Safety defaults: - New campaigns, ad groups, keywords, product ads, and product targets are created PAUSED. Activate explicitly after review. - Negative keywords are created ENABLED (they block traffic immediately); pausing or removing one is done in the Amazon Ads console. - Archive/delete requests set state to ARCHIVED. Not yet supported through this tool: - Sponsored Brands ad-group, keyword, or creative mutations (campaign-level only for SB today). - Sponsored Display product / contextual targeting mutations (campaign + ad-group only for SD today). - Creating negative (exclusion) product targets, or category or brand targets. Bid, pause, and enable of an existing target ID (auto, product, category, or brand) stay supported. - One-call campaign → ad group → keyword/productAd creation. Create each parent first, then pass returned IDs. - Bulk operations larger than 10 per call. Examples: - "Pause Amazon campaign 1234567890" - "Set Amazon campaign 555 daily budget to $75" - "Create a Sponsored Products manual campaign called Spring Sale with a $50 daily budget" - "Add an exact-match keyword 'running shoes' bid $1.25 in ad group 8888 campaign 7777" - "Add ASIN B07XYZ1234 as a product ad to ad group 8888 campaign 7777" - "Archive Amazon keyword 9999" - "Raise the bid on Amazon keyword 9999 to $2" Note: Entity IDs are required for updates. Look up campaign / ad group / keyword IDs with the corresponding read-only reporting tool first.
blendmcp_smart_action_amazon
Modify Google Ads campaigns, ad groups, and ads using natural language. Describe what you want to change and this tool will execute it directly. Google Ads-specific capabilities: - Campaigns: status, budget (via campaign_budget resource), bid strategy, name, network settings - Ad Groups: status, bid amount, targeting (keywords, audiences, demographics) - Ads: status, responsive search ad headlines/descriptions - Keywords: match type, bid, status - Budgets: daily budget in dollars (converted to micros automatically) - Labels: apply/remove labels from campaigns, ad groups, and ads - Image assets: create image assets for Performance Max and display ads Supported ad formats: - Responsive search ads: headlines + descriptions (text only, no media needed) - Image ads: for Performance Max and display — requires image assets Media assets: for image ads, pass a media_hash UUID returned by the media upload tools as image_asset.data. Keyword policy exemptions: never request one on your own. A keyword rejected with "exemptible: yes" can be saved but will not serve; ask the user, and only after they say yes resend its create with changes.exempt_policy_violation_keys: [{"policy_name": "<policy key>", "violating_text": "<trigger>"}]. Preformed operations plan (optional `operations` argument, JSON-encoded): {"operations":[{"entity_type":"campaign","operation":"update","entity_ref":"123","changes":{"status":"PAUSED"}}]}. Keys are exactly entity_type, operation (create | update | remove; apply | dismiss for recommendation), entity_ref (the existing id for update/remove and the recommendation token for apply/dismiss — composite ids such as "123~456" exactly as smart_query returned them; omit for create) and changes (Google Ads field names in snake_case, as smart_query returns them, e.g. status, name, cpc_bid_micros). Money *_micros values (bids, target CPA, bid ceiling/floor, budget and price amounts) are ACCOUNT CURRENCY units (e.g. cpc_bid_micros: 4 or amount_micros: 50 for $4 / $50), never Google-native micros; the server multiplies them by 1,000,000 before calling Google, and a value that looks like native micros (e.g. cpc_bid_micros: 4000000) is rejected, not sent. Exception: location_fraction_micros is a Google-native fraction (950000 = 95%) and is passed through unchanged. Not action/entity/entity_id/fields, and not the raw Google Ads API request shape. At most 10 operations per call; a preformed plan is never rewritten by the LLM (currency conversion and create-time PAUSED defaults still apply). Examples: - "Pause the Holiday Promo campaign" - "Set daily budget to $100 for Brand campaign" - "Add broad match keyword 'running shoes' to the Shoes ad group"
blendmcp_smart_action_google_ads
Modify LinkedIn Ads (Marketing API) campaign groups, campaigns, and creatives using natural language. Describe what you want to change and this tool will execute it directly. LinkedIn-specific capabilities: - Campaign Groups: create (name + optional totalBudget + runSchedule), update (name, budget, schedule), pause / resume / archive (update_status) - Campaigns: create (name, existing campaign-group ID, type, costType, objectiveType, locale), update (name, dailyBudget, totalBudget, runSchedule), pause / resume / archive (update_status) - Creatives: pause / resume / archive (update_status) Workflow notes: - Campaign creates are supported without targeting. targetingCriteria is intentionally unavailable on create and update; configure audiences in LinkedIn Campaign Manager. - Creative creates are NOT supported. Hard deletes are NOT supported — use update_status with status=ARCHIVED for archival. - New campaigns and campaign groups are created in DRAFT state. Activate explicitly via a follow-up update_status (status=ACTIVE) after review. - Budget values are decimal in the account's currency (e.g. 150 → $150 if the account is USD). The server wraps them as { currencyCode, amount } automatically. - Status enum: ACTIVE / PAUSED / ARCHIVED (UPPERCASE). Examples: - "Pause LinkedIn campaign 311311311" - "Resume LinkedIn campaign group 778899" - "Archive creative urn:li:sponsoredCreative:11111" - "Set LinkedIn campaign 311311311 daily budget to $200" - "Rename LinkedIn campaign group 778899 to 'Q4 - Brand'" - "Create a LinkedIn campaign group called 'Spring Demos' with a $5000 total budget" - "Create a LinkedIn SPONSORED_UPDATES campaign called 'Q4 Brand' in campaign group 606061826 using CPC, WEBSITE_VISIT, and en-US locale" Note: Entity IDs are required for existing entities, and campaign creates require an existing campaign-group ID. Look them up with the corresponding read-only reporting tool first.
blendmcp_smart_action_linkedin
Modify Meta (Facebook Ads) campaigns, ad sets, ads, ad creatives, Custom Conversions, lookalike and website custom audiences, automated ad rules, and catalog product sets using natural language. Describe what you want to change and this tool will execute it directly. Meta-specific capabilities: - Campaigns: create, status, budget, bid strategy, name, objective, special ad categories - Ad Sets: create, status, budget, targeting, scheduling, bid amount, is_dynamic_creative - Ads: create, status, name, link to creative + adset - Ad Creatives: single image, carousel (child_attachments), dynamic creative (asset_feed_spec) - Custom Conversions: create (name + rule + pixel/dataset event_source_id + custom_event_type, optional default_conversion_value) and update (name, description, default_conversion_value); no copy. Distinct from optimizing an ad set to a pixel event. - Lookalike audiences: create from a seed custom audience id, a country and a 1-20% size (or similarity/reach); no update or copy. Meta builds them asynchronously, so a too-small seed fails afterwards in operation_status (read it with blendmcp_smart_query_meta), not on create. - Website custom audiences: create from a pixel id, a pixel event or URL rule and a retention in days, optionally prefilled with past traffic; no update or copy. Customer-file and engagement audiences are not supported. - Automated ad rules: create and update (e.g. pause ads over a spend threshold with no purchases); created DISABLED unless the user asks for the rule to be enabled. - Product sets: create (name + filter rule) in a catalog connected in Blend or owned by the account's own connected business. - Spending entities (campaigns, ad sets, ads) are always created in PAUSED status for safety. Custom Conversions, custom audiences and ad creatives have no create-time status field. Supported ad creative formats: - Single image ad: object_story_spec with link_data + image_hash - Carousel image ad: object_story_spec with link_data + child_attachments (2+ slides, each with image_hash) - Video ad: object_story_spec with video_data + video_id + call_to_action (thumbnail auto-generated) - Dynamic creative (images): asset_feed_spec with ad_formats + images + texts (requires is_dynamic_creative on adset) - Dynamic creative (videos): asset_feed_spec with videos + texts (requires is_dynamic_creative on adset) Media assets: for image or video creatives, pass media_hash UUIDs returned by the media upload tools. Images use image_hash; videos use video_id in video_data. Thumbnail is auto-generated from Meta. - This action tool does not accept file paths or base64 directly; use the media upload tools first. Examples: - "Pause campaign 120000000000000001" - "Set daily budget to $50 for campaign 120000000000000001" - "Create a new campaign called Holiday Promo with traffic objective" - "Create a carousel ad creative with 3 image slides" - "Create a video ad creative from an uploaded media_hash" - "Create a custom conversion called Demo Booked on pixel 111222333444555 for event DemoBooked worth $350" Note: Updating, copying, or archiving an existing campaign, ad set, or ad needs its numeric ID in this call. Look it up with blendmcp_smart_query_meta first.
blendmcp_smart_action_meta
Modify Microsoft Advertising (Bing Ads) campaigns, ad groups, ads, keywords, negative keywords and Shopping product groups, create and edit image and logo extensions, link / unlink ad extensions, and remove shared-list items using natural language. Describe what you want to change and this tool will execute it directly. Microsoft-specific capabilities: - Campaigns: create (Search, Audience), update (name, budget, bidding), pause, enable, delete - Ad Groups: create, update (name, bid, start/end dates), pause, enable, delete - Ads: create ResponsiveSearchAd, ExpandedTextAd, or ResponsiveAd (image/video — Audience campaigns only), update, pause, enable, delete. Updates need the ad ID and its ad group ID; the ad's type is read from Microsoft. - Keywords: create (Broad/Phrase/Exact), update (bid, match type), pause, enable, delete - Negative keywords: add to / remove from a campaign or ad group (removal by the negatives' IDs; all the negatives on one campaign or ad group go in one operation) - Image and logo extensions (Search): create an image extension (alt text + 1-4 media_hash images; MediaType GenericImage default, Image16x9, Image15x10, Image4x3, Image12x10) or a logo extension (business name + one square media_hash logo, optional domain); edit one by AdExtensionId with only the fields to change (the rest is kept); link any extension to campaigns, ad groups or the account by AdExtensionId, or unlink it (the extension and its other uses are kept). New extensions enter editorial review and read back as pending until approved. - Editorial appeals: appeal the rejection of an existing ad or keyword (its ID, its ad group ID, and the user's appeal text quoted in the request). The server checks the rejection first and returns its full description; without appeal text it asks for it and sends nothing - Shopping product groups (product partitions): build, subdivide, exclude or re-bid an ad group's product group tree. One operation per ad group carries every add / delete / bid change, and Microsoft applies them all or none. Changing an existing group's condition or making it a subdivision means deleting and re-adding it, so give the criterion IDs, from smart_query_microsoft (the ad group's product groups) or the user. A new Shopping ad group starts with no tree. - Shared lists: remove items from a negative keyword list or website exclusion list by item ID, all of one list's items in one operation (the list and its associations are kept) - Media assets: ResponsiveAd images / videos and extension images / logos take a media_hash UUID from blendmcp_upload_image / blendmcp_upload_from_url; the server uploads the bytes to Microsoft and substitutes the MediaId. - Budget / bid values in decimal dollars in the account's currency (no conversion) - Status values: Active, Paused, Deleted (TitleCase — not UPPERCASE) Workflow — parent/child creates are STEP-BY-STEP: - To create a new ad end-to-end (campaign → ad group → ad), issue ONE tool call per entity in order. Wait for each call to return, read the entity_id from the response, and pass it as the parent reference in the next call. Same for an image extension: create it first, read the AdExtensionId from the response, then link it in a second call. - Do NOT bundle a campaign create + ad group create + ad create into a single tool call. The tool does not resolve forward-references between operations in a single plan — a literal placeholder will be sent to the Microsoft API and rejected. - Multiple independent operations on existing entities (e.g. pausing five campaigns at once) CAN still be bundled in one call, up to 10 operations. Safety defaults: - New campaigns, ad groups, ads, and keywords are created PAUSED. Activate explicitly after review. - Campaign, ad group, ad and keyword deletes are soft (entity transitions to Deleted status). Warn the user if deleting an entity with significant spend history. Negative keyword removal, extension unlinks and shared-list item removal are hard removals of the named items; the parent entity, extension or list is untouched. Not yet supported: - Targeting of any kind: location/geo (country, state, city, radius), audiences and remarketing lists, age, gender, device/platform, ad schedule, and language targeting. This tool cannot write targeting criteria — targeting must be set in the Microsoft Advertising UI (Campaign → Settings). It is never approximated via TimeZone, Languages, or bid adjustments. - Shopping / Performance Max / Hotel / App campaign creates. - UET tags, offline conversions, bulk uploads. - Other ad extension classes (sitelink, callout, snippet, call, price, promotion, video), deleting an extension, and shared list create / delete / association changes. Examples: - "Pause Microsoft campaign 522772572" - "Set campaign 522772572 daily budget to $150" - "Create a Search campaign 'Autumn Promo' with a $100 daily budget in the Sydney timezone" - "Create an Audience campaign 'Blanket Display' at $20/day in Eastern time" (then, after it returns CampaignId 533XXX) "Create an ad group 'Blanket Fans' in Microsoft campaign 533XXX" (then, after it returns AdGroupId 1362XXX) "Create a responsive ad in ad group 1362XXX with image abc-123-... and headlines 'Soft throws', 'Free shipping', 'Order now'" - "Create an image extension from media abc-123-... with alt text 'Spring sale' for campaign 522772572" (creates the extension; then, after it returns AdExtensionId 7777XXX) "Link ad extension 7777XXX to campaign 522772572" - "Add exact-match keyword 'neptune blankets' at $1.20 to ad group 1234567890123457" - "In Shopping ad group 1234567890123457, whose only product group is 4585XXX (all products, $1.50), serve only custom label 0 'blend' at $1.50 and exclude everything else" - "Delete ad group 1234567890123457" Note: Entity IDs are required. Look up campaign/ad group/ad/keyword IDs with the corresponding read-only reporting tool first, or use the ID returned from the previous step of a multi-step create.
blendmcp_smart_action_microsoft
Modify Pinterest Ads campaigns, ad groups, ads, and product groups using natural language. Describe what you want to change and this tool will execute it directly. Pinterest-specific capabilities: - Campaigns: create, update name/budget/status, pause, enable, archive - Campaign setup: fixed daily, average daily/Performance+, lifetime budgets, CBO - Ad Groups: create, update name/budget/bid/status/targeting, placement, pacing, auto-targeting, pause, enable, archive - Ads: create from an existing pin_id or uploaded image/video media_hash, update destination URL/CTA/deep links/status, pause, enable, archive - Product groups (shopping ad groups): add a catalog product group to an ad group by catalog_product_group_id; update status/CTA by promotion id and ad group id. Bids are set on the ad group - Media creation: pass image_media_hash, video_media_hash, or media_hash from the media upload tools. This action creates a Pinterest Pin and uses the returned pin_id for the ad. - Media-based ad creation requires Pinterest Pin and Board OAuth scopes: pins:write, pins:read, boards:write, boards:read. - Budget and bid values in normal account currency units, e.g. $50. The server converts Pinterest micro-currency fields automatically. - Status values: ACTIVE, PAUSED, ARCHIVED, DRAFT, DELETED_DRAFT Safety defaults: - New campaigns, ad groups, ads, and product groups are created PAUSED. Activate explicitly after review. Exception: Pinterest cannot pause a Performance+ ad group, so one is created ACTIVE, and only in a paused campaign (pause the campaign to stop it). - Archive/delete requests set status to ARCHIVED. Not supported: - One-call campaign -> ad group -> ad creation. Create each parent first, then pass returned IDs to the next call. - One-call file-path or base64 uploads inside this action tool. Examples: - "Pause Pinterest campaign 123456789" - "Set Pinterest ad group 987654321 daily budget to $20" - "Archive Pinterest ad 111222333" - "Create a consideration campaign called Spring Sale with a $50 daily cap" - "Create a Performance+ catalog sales campaign called Winter Catalog with a $100 average daily budget" - "Create an ad in ad group 123 using pin 456, REGULAR creative, Learn More CTA, and destination https://example.com" - "Create an image ad in ad group 123 with media_hash abc..., title Spring Sale, and destination https://example.com" - "Create a video ad in ad group 123 with video_media_hash abc... and Shop Now CTA" Note: Entity IDs are required for updates. Look up campaign/ad group/ad IDs with the corresponding read-only reporting tool first.
blendmcp_smart_action_pinterest
Modify Reddit Ads campaigns, ad groups, and ads using natural language. Describe what you want to change and this tool executes it directly. Reddit-specific capabilities: - Campaigns: create (objective), update name/budget cap, pause, resume - Ad Groups: create (bid strategy, bid type, daily/lifetime goal, targeting), update bid/goal/status, pause, resume - Ads: create from an existing post_id or an uploaded image/video media_hash, update name/status, pause, resume - Media creation: pass image_media_hash, video_media_hash, or media_hash from the media upload tools. This action creates a Reddit promoted post and uses the returned post_id for the ad. Video ads also need thumbnail_media_hash (an uploaded image). - Budget and bid values in normal account currency units, e.g. $5. The server converts to micros automatically. - Status values: ACTIVE, PAUSED (via configured_status). Safety defaults: - New campaigns, ad groups, and ads are created PAUSED. Activate explicitly after review. Not supported: - One-call campaign -> ad group -> ad creation. Create each parent first, then pass returned IDs to the next call. Examples: - "Pause Reddit campaign 2551544466333397260" - "Create a Reddit clicks campaign called Spring Launch" - "Create an ad group called AG1 in campaign 255... with a $10 daily budget, MAXIMIZE_VOLUME, CPC, $1 bid" - "Create an image ad in ad group 255... with media_hash abc..., destination https://example.com, Learn More" - "Create a video ad in ad group 255... with video_media_hash abc... and thumbnail xyz..., destination https://example.com" Note: Entity IDs are required for updates. Look them up with blendmcp_smart_query_reddit first.
blendmcp_smart_action_reddit
Modify TikTok campaigns, ad groups, and ads using natural language. Describe what you want to change and this tool will execute it directly. TikTok-specific capabilities: - Campaigns: create, enable, disable (pause), delete, rename, change budget - Ad Groups: create, enable, disable, delete, rename, change budget - Ads: create with SINGLE_VIDEO (video + thumbnail) or CAROUSEL_ADS (image only), enable, disable, delete, rename - Budget values in local currency (e.g., $50 — no conversion needed) - Status values: ENABLE, DISABLE, DELETE Ad formats: - SINGLE_VIDEO: requires video_id + image_ids (thumbnail). Thumbnail must match video aspect ratio. - CAROUSEL_ADS: for image ads — requires image_ids only (no video_id). Works on TikTok feed. Use this for any image-based ad, even with a single image. Do NOT use SINGLE_IMAGE (it only works on partner apps, not TikTok feed). Media assets: pass media_hash UUIDs returned by the media upload tools. Images use image_ids; videos use video_id in SINGLE_VIDEO ads. Thumbnail is auto-generated from the video cover. - This action tool does not accept file paths or base64 directly; use the media upload tools first. Examples: - "Pause TikTok campaign 1234567890123456" - "Enable all my TikTok ad groups 123 and 456" - "Set campaign 1234567890123456 budget to $100" - "Rename ad group 789 to 'Spring Sale AU'" - "Delete ad 101112" Note: Entity IDs are required. Look up campaign/ad group/ad IDs with the corresponding read-only reporting tool first.
blendmcp_smart_action_tiktok
Query Amazon Ads (Sponsored Products, Sponsored Brands, Sponsored Display) using natural language. Returns CSV. Read-only. Runs ONE query per call — it does not support multi-step or batched queries. Ranking or comparing entities within one account by a metric is a single query (rank the one result set). Only a request that genuinely needs more than one query — e.g. two separate time periods — needs separate calls; issue those as separate calls (independent ones can run in parallel) and combine the results yourself. Entity results (campaigns, ad groups, keywords, etc.) AND report results (spend, impressions, clicks, sales, etc.) are paged: page_size defaults to 10 rows (max 100). A returned page is NOT the whole answer — check has_next before reporting a total or a complete list. To fetch more rows from the SAME stored operation, call this tool again with operation_id (from the prior result) and page: "next" (also "previous", "first", or a 1-based page number). Do not pass text together with operation_id. The first report page submits one asynchronous Amazon report; later pages reuse that completed report and return another window from the same snapshot with exact total_rows. The first page waits for Amazon's async report (typically 20-30 seconds); later pages are fast. Do not narrow or alter the report merely to work around its size. If the stored operation or Amazon report expires, that operation_id cannot continue: start a NEW call with the original question as text (do not pass operation_id) to create a fresh report. Common split: campaign settings + campaign performance. Run these as two independent calls, usually in parallel: 1. Campaign settings/entity fields: "Show Amazon Ads campaigns with campaign id, name, state/status, portfolio, budget, budget type, targeting type, and bidding strategy." 2. Campaign performance/report fields: "Show Amazon Ads campaign performance over the requested date range with campaign id, campaign name, spend, impressions, clicks, sales, purchases, ACoS, and ROAS." Then join by campaign id/name in your answer. The same pattern applies to ad group, keyword, target, product ad, ASIN, or SKU settings plus report metrics. Use this tool when the user asks about their Amazon Advertising account: campaigns, ad groups, keywords, targets, product ads, search terms, ASIN / SKU performance, spend, impressions, clicks, sales, ACoS, ROAS, units sold, new-to-brand metrics, or any other Amazon advertising data. Amazon-specific capabilities: - Entity lists: profiles, portfolios, campaigns / ad groups / keywords / targets / product ads for SP, SB, and SD - Performance reports (async): spCampaigns, spAdvertisedProduct, spTargeting, spSearchTerm, sbCampaigns, sdCampaigns - Daily or summary aggregation, custom date ranges up to 31 days (longer spans must be split) - Sales / purchases by attribution window: 1d, 7d, 14d, 30d - ASIN- and SKU-level performance, search-term breakdowns, new-to-brand metrics (SB/SD) - All monetary values in account currency (decimal dollars, not cents, not micros) Example queries: - "Show my Amazon Ads campaigns" - "What's my Amazon ad spend last 7 days?" - "Top ASINs by sales last 30 days" - "Search term report last week" - "Sponsored Brands new-to-brand purchases this month" - "Daily Sponsored Products spend trend" Read-only reporting only; this tool does not modify advertising entities.
blendmcp_smart_query_amazon
Query Google Ads advertising data using natural language. Returns CSV results. Read-only. CSV headers are the selected GAQL field names verbatim and in SELECT order (for example, metrics.cost_micros). Values remain in Google Ads' native units; micros fields are not rescaled: any *_micros column (metrics.cost_micros, metrics.average_cpc, metrics.average_cpm, metrics.cost_per_conversion, budget amount_micros) is currency x 1,000,000, so divide by 1,000,000 before reporting spend, CPC, CPM or budgets. If a requested field or grain is incompatible with the chosen GAQL resource, the result note names the omitted field and explains the supported follow-up instead of silently returning coarser data. Runs ONE query per call — it does not support multi-step or batched queries. Most comparisons still fit ONE query — select segments.date over a date range covering both periods and group by date, then derive each period from the rows. Only a genuinely two-range ask (e.g. last 7 days AND last 30 days, which GAQL can't express in one statement) needs separate calls; issue those as separate calls (independent ones can run in parallel) and combine the results yourself. Most campaign settings plus campaign performance can be one FROM campaign query when GAQL compatibility allows it. Split only incompatible resource mixes, such as campaign budget plus ad group fields, keywords plus ads, campaign-level plus ad-group-level negative keywords, or truly separate date windows that cannot be expressed with one segments.date range. Run independent split calls in parallel and join by campaign/ad group/keyword IDs. Results are paged: page_size defaults to 10 rows (max 100). A returned page is NOT the whole answer — check has_next before reporting a total or a complete list. To fetch more rows of the SAME result, call this tool again with operation_id (from the prior result) and page: "next" (also "previous", "first", or a 1-based page number). Do not pass text together with operation_id. Use this tool when a user asks about their Google Ads campaigns, ad groups, keywords, search terms, ads, performance metrics, audiences, or any Google Ads data. Google Ads-specific capabilities: - Campaigns: Search, Shopping, Performance Max, Display, Video, App campaigns - Ad Groups: keywords, audiences, bidding, targeting settings - Keywords: match types, quality score, search terms, keyword performance - Ads: responsive search ads, headlines, descriptions, ad strength - Metrics: spend, impressions, clicks, CPC, CPM, CTR, conversions, ROAS, conversion value - Search Terms: actual queries that triggered ads, search term reports - Audiences: remarketing lists, in-market segments, custom segments - Breakdowns: device, network, day of week, hour of day Example queries: - "Show my active Google Ads campaigns" - "What's my Google Ads spend this month?" - "Show my top keywords by clicks last 7 days" - "What search terms triggered my ads last week?" - "Show Performance Max campaign performance" (For "compare this month's spend to last month's", use one segments.date query when a single date range works; otherwise make two calls — one per month — and compare the results.)
blendmcp_smart_query_google
Query LinkedIn Ads (Marketing API) data using natural language. Returns CSV results. Read-only. Runs ONE query per call — it does not support multi-step or batched queries. Ranking or comparing entities within one account by a metric is a single query (rank the one result set). Only a request that genuinely needs more than one query — e.g. two separate time periods — needs separate calls; issue those as separate calls (independent ones can run in parallel) and combine the results yourself. Common split: campaign settings + campaign performance. Run these as two independent calls, usually in parallel: 1. Campaign settings/entity fields: "Show LinkedIn campaigns with id, name, status, type, cost type, daily budget, total budget, and campaign group." 2. Campaign performance/analytics fields: "Show LinkedIn campaign performance over the requested date range with campaign pivot, impressions, clicks, cost, conversions, and leads." Then join by campaign id/name in your answer. The same pattern applies to campaign group or creative status plus analytics metrics. Use this tool when a user asks about their LinkedIn advertising campaigns, campaign groups, creatives, performance metrics, or any LinkedIn Ads data. LinkedIn hierarchy (naming differs from other platforms — disambiguate when narrating results): - A LinkedIn "campaign group" is the TOP-LEVEL container (≈ a "campaign" on Meta/Google Ads). - A LinkedIn "campaign" is the mid-tier object that holds targeting, budget, bid, and objective (≈ an "ad set" on Meta / "ad group" on Google Ads). - A LinkedIn "creative" is an individual ad (≈ an "ad" on Meta/Google Ads). When describing results to the user, keep LinkedIn's own labels but add the level so it's unambiguous — e.g. "campaign group (top-level)" and "campaign (ad-set level)" — since an unqualified "campaign" reads as the top level on other platforms. LinkedIn-specific capabilities: - Ad Accounts: list accounts the user can access, account currency, type, status - Campaign Groups: LinkedIn's top-level container above campaigns (≈ Meta/Google "campaign") — budget, schedule, status - Campaigns: LinkedIn's ad-set-level object (≈ Meta "ad set" / Google "ad group") — type (Sponsored Updates / Text Ad / Sponsored InMail / Dynamic), objective, daily/total budget, cost type, status - Creatives: ads within a campaign, review status, serving state - Message Ad (InMail) copy: subject, body, sender and call to action behind a creative's adInMailContent reference - Conversion rules: the account's conversion tracking setup — type, enabled, attribution type, post-click / view-through attribution windows - Matched audiences: uploaded contact/company lists, retargeting and lookalike segments — type, status, uploaded and matched counts, audience size - Metrics: spend (in account local currency), impressions, clicks, CTR, conversions, video views, lead form submissions - Demographic breakdowns: company, industry, job title, seniority, country, region, company size (set pivot to MEMBER_COMPANY / MEMBER_INDUSTRY / MEMBER_JOB_TITLE / MEMBER_SENIORITY / MEMBER_COUNTRY_V2) - Time granularity: aggregate (ALL), daily, monthly, yearly Example queries: - "Show my active LinkedIn campaigns" - "What's my LinkedIn ad spend this week?" - "Show LinkedIn campaign performance last 30 days" - "Break down LinkedIn ad spend by country last 30 days" - "Which LinkedIn campaigns have the highest CTR?" - "Show LinkedIn lead-form submissions by campaign"
blendmcp_smart_query_linkedin
Query Meta (Facebook Ads) advertising data using natural language. Returns CSV results. Read-only. Runs ONE query per call — it does not support multi-step or batched queries. For anything that needs more than one query (comparing two time periods, combining performance with creative/status from another endpoint, or looking up an ID then reading its details), issue the queries as separate calls and combine the results yourself — independent ones (e.g. two time periods) can run in parallel; a lookup-then-read pair runs in order. Results are paged: page_size defaults to 10 rows (max 100). A returned page is NOT the whole answer — check has_next before reporting a total or a complete list. To fetch more rows of the SAME result, call this tool again with operation_id (from the prior result) and page: "next" (also "previous", "first", or a 1-based page number). Do not pass text together with operation_id. Money units in the CSV: insights values (spend, CPC, CPM, cost per result, conversion values) are already in the account currency. Budget and limit fields (daily_budget, lifetime_budget, spend_cap, budget_remaining, ad set daily_min_spend_target / daily_spend_cap, and the account's amount_spent / balance) are in the account's smallest currency unit, as Meta returns them: divide by 100 before reporting for currencies with cents (USD, EUR, AUD, GBP and most others), so "5000" is 50.00. A campaign with no campaign-level budget has no daily_budget; report it as none rather than inventing one. Common split: campaign settings + campaign performance. Run these as two independent calls, usually in parallel: 1. Campaign settings/entity fields: "Show all campaigns with id, name, status, effective_status, objective, daily_budget, lifetime_budget." 2. Campaign performance/insights fields: "Show campaign performance over the last 30 days with spend, impressions, clicks, CTR, CPC, conversions, ROAS, campaign_id, and campaign_name." Then join or compare by campaign id/name in your answer. The same pattern applies to ad/adset status or creative fields plus insights metrics. Use this tool when a user asks about their Meta/Facebook Ads campaigns, ad sets, ads, creatives, performance metrics, audiences, or any Facebook advertising data. Meta-specific capabilities: - Campaigns: structure, objective, budget, bid strategy, buying type - Ad Sets: targeting (custom audiences, lookalikes, interests, demographics, geo, age, gender), scheduling, optimization goal, bidding - Ads: creative content (images, video, copy, headlines, CTA), Instagram placement, preview URLs - Insights: spend, impressions, clicks, CPC, CPM, CTR, conversions, ROAS, revenue, frequency, reach - Custom Audiences: saved audiences, lookalike audiences, website custom audiences, sizes - Breakdowns: age, gender, placement (Facebook, Instagram, Audience Network), device, country, region Example queries: - "Show my active Facebook campaigns" - "What's my Meta ad spend this week?" - "Break down ad set performance by age and gender" - "Show me Instagram vs Facebook placement performance" - "What custom audiences do I have?" (For "compare this week vs last week", make two calls — one per week — and compare the results.)
blendmcp_smart_query_meta
Query Microsoft Advertising (Bing Ads) data using natural language. Returns CSV. Read-only. Entity results (campaigns, ad groups, ads, keywords, negatives, extensions, media, feed items) AND report results are paged: page_size defaults to 10 rows (max 100). A returned page is NOT the whole answer — check has_next before reporting a total or a complete list. To fetch more rows of the SAME result, call this tool again with operation_id (from the prior result) and page: "next" (also "previous", "first", or a 1-based page number up to total_pages). Do not pass text together with operation_id. Microsoft reads return their whole result at once, so each page call re-runs the same read (a report is re-submitted and downloaded again, typically several seconds) and returns the requested window with total_rows for the whole result. The one exception is the media library, which returns at most 1,000 items per read: when it fills that, the last page's completeness says so and how to read the next 1,000. Report rows come back in Microsoft's order, unsorted: a ranking (top N by a metric) needs every page. Do not narrow or alter a query merely to work around its size. Runs ONE query per call — it does not support multi-step or batched queries. Ranking or comparing entities within one account by a metric is a single query (rank the one result set). Only a request that genuinely needs more than one query — e.g. two separate time periods — needs separate calls; issue those as separate calls (independent ones can run in parallel) and combine the results yourself. Common split: campaign settings + campaign performance. Run these as two independent calls, usually in parallel: 1. Campaign settings/entity fields: "Show Microsoft Ads campaigns with campaign id, name, status, budget, campaign type, and bidding scheme." 2. Campaign performance/report fields: "Show Microsoft Ads campaign performance over the requested date range with campaign id, campaign name, spend, impressions, clicks, ctr, average cpc, conversions, revenue, and roas." Then join by campaign id/name in your answer. The same pattern applies to ad group/ad/keyword entity fields plus report metrics. Use this tool when the user asks about their Microsoft Ads (Bing Ads) campaigns, ad groups, ads, keywords, search queries, or performance metrics (spend, clicks, impressions, conversions, ROAS, etc.). Microsoft-specific capabilities: - Entity lists: campaigns, ad groups, ads, keywords (with status, budget, bidding scheme), Performance Max asset groups with their assets and audience group links, ad group / campaign targeting criteria (location, radius, schedule, device, age, gender, audiences, company / industry / job function, DSA webpage targets), Shopping product groups with their bids (per ad group), conversion goal configuration - Performance reports: account / campaign / ad group / ad / keyword / search-query / geographic — with daily, weekly, monthly, or summary aggregation - Status values are TitleCase (Active, Paused, Deleted) - Budgets and spend are in the account's currency as decimal dollars (e.g., 139.79 = $139.79) Example queries: - "Show my active Microsoft Ads campaigns" - "What's my Bing Ads spend this week?" - "Campaign performance for the last 30 days by day" - "Which search queries triggered my ads last month?" - "Keyword performance by match type this quarter" Read-only reporting only; this tool does not modify advertising entities.
blendmcp_smart_query_microsoft
Query Pinterest advertising data using natural language. Returns CSV results. Read-only. Runs ONE query per call — it does not support multi-step or batched queries. Ranking or comparing entities within one account by a metric is a single query (rank the one result set). Pinterest campaign/ad-group/ad analytics require entity IDs: if you don't have them, first call to list the entities (e.g. "show my Pinterest campaigns"), then issue a SEPARATE analytics call passing those IDs (these two steps are dependent, so run them in order). A comparison that needs more than one query (e.g. two time periods) is separate calls too — those independent calls can run in parallel. Results are paged: page_size defaults to 10 rows (max 100). A returned page is NOT the whole answer — check has_next before reporting a total or a complete list. To fetch more rows of the SAME result, call this tool again with operation_id (from the prior result) and page: "next" (also "previous", "first", or a 1-based page number). Do not pass text together with operation_id. Common split: entity IDs/settings + analytics. If the user asks for settings plus analytics, first call the relevant list endpoint for id/name/status/budget fields; then call the analytics or targeting_analytics endpoint with those IDs and join by id/name. Dependent list-then-analytics calls run in order; independent period/entity calls can run in parallel. Use this tool when a user asks about their Pinterest Ads campaigns, ad groups, ads, performance metrics, or any Pinterest advertising data. Pinterest-specific capabilities: - Campaigns: structure, objective, budget, status - Ad Groups: targeting, scheduling, bid strategy, budget - Ads: pin promotions, creative type, destination URL, review status - Pins: the account's pins, promoted or not, with title, description, link and media type - Metrics: spend, impressions, clicks, CPC, CPM, CTR, engagement, saves/repins - Video metrics: views, completion rates (25%, 50%, 75%, 95%, 100%), average watch time - Conversion metrics: checkouts, signups, leads, add to cart, page visits - Breakdowns: daily, weekly, monthly, hourly (max 8 days) - Targeting analytics: age, gender, location, placement, keyword, interest, app type, audience - Catalogs: catalogs, feeds, and catalog product groups (the catalog_product_group_id lookup) - Product group promotions: the catalog product groups in a shopping ad group (needs the ad group ID) - Shopping/catalog analytics: product group performance (list the ad group's product group promotions first, then pass their IDs) - Audience insights: interests, demographics, devices, countries, metros, audience size - Reference lookup: targeting options/codes and metric definitions Example queries: - "Show my active Pinterest campaigns" - "What's my Pinterest ad spend this week?" - "Show campaign performance for the last 7 days" - "What's my Pinterest engagement rate?" - "Compare my Pinterest campaigns by cost per click" - "Show Pinterest video completion rates" - "Break down Pinterest ad performance by gender and age" - "What location targeting codes can I use?" - "Show my Pinterest engaged audience interests"
blendmcp_smart_query_pinterest
Query Reddit Ads data using natural language. Returns CSV results. Read-only. Runs ONE query per call — it does not support multi-step or batched queries. A comparison that needs more than one query (e.g. two time periods) is separate calls — those independent calls can run in parallel. Results are paged: page_size defaults to 10 rows (max 100). A returned page is NOT the whole answer — check has_next before reporting a total or a complete list. To fetch more rows of the SAME result, call this tool again with operation_id (from the prior result) and page: "next" (also "previous", "first", or a 1-based page number). Do not pass text together with operation_id. Use this tool when a user asks about their Reddit Ads campaigns, ad groups, ads, performance metrics, or any Reddit advertising data. Reddit-specific capabilities: - Campaigns / Ad Groups / Ads: structure, objective, status, budget, bid, targeting - Metrics (via reports): spend, impressions, clicks, CTR, CPC, eCPM, reach, frequency - Conversions: purchase, sign-up, lead, add-to-cart, page-visit (click & view), ROAS, eCPA - Video metrics: starts, view rate, 25/50/75/100% watched, completion rate - Breakdowns: date, hour, campaign, ad group, ad, country, gender, community (subreddit), interest, keyword, placement, OS - Targeting reference: search subreddit communities, list interests and geolocations Example queries: - "Show my active Reddit campaigns" - "What's my Reddit ad spend this week?" - "Spend and ROAS by campaign for the last 30 days" - "Break down Reddit clicks by community" - "What subreddits can I target for gaming?" If you are re-calling this tool because a previous result was unexpected or unusable, pass a brief explanation in the retry_reason parameter.
blendmcp_smart_query_reddit
Query TikTok advertising data using natural language. Returns CSV results. Read-only. Runs ONE query per call — it does not support multi-step or batched queries. Ranking or comparing entities within one account by a metric is a single query (rank the one result set). Only a request that genuinely needs more than one query — e.g. two separate time periods — needs separate calls; issue those as separate calls (independent ones can run in parallel) and combine the results yourself. Results are paged: page_size defaults to 10 rows (max 100). A returned page is NOT the whole answer — check has_next before reporting a total or a complete list. To fetch more rows of the SAME result, call this tool again with operation_id (from the prior result) and page: "next" (also "previous", "first", or a 1-based page number). Do not pass text together with operation_id. Common split: campaign settings + campaign performance. Run these as two independent calls, usually in parallel: 1. Campaign settings/entity fields: "Show TikTok campaigns with campaign_id, campaign_name, operation_status, objective_type, budget_mode, and budget." 2. Campaign performance/report fields: "Show TikTok campaign performance over the requested date range with campaign_id, spend, impressions, clicks, ctr, cpc, conversion, and cost_per_conversion." Then join by campaign_id in your answer. The same pattern applies to ad group/ad status or creative fields plus report metrics. Use this tool when a user asks about their TikTok Ads campaigns, ad groups, ads, performance metrics, or any TikTok advertising data. TikTok-specific capabilities: - Campaigns: structure, objective, budget, status - Ad Groups: targeting, scheduling, optimization goal, bidding - Ads: creative content, call to action, landing page - Metrics: spend, impressions, clicks, CPC, CPM, CTR, conversions, ROAS, reach, frequency - Video metrics: views, completion rates (25%, 50%, 75%, 100%), average play time - Engagement: likes, comments, shares, follows, profile visits - Breakdowns: daily, hourly, country, gender, age Example queries: - "Show my active TikTok campaigns" - "What's my TikTok ad spend this week?" - "Show campaign performance for the last 7 days" - "Break down ad performance by age and gender" - "What's my TikTok video completion rate?" - "Compare my TikTok campaigns by cost per conversion"
blendmcp_smart_query_tiktok
Fetch one JPEG, PNG, or WebP image up to 30MB from a public HTTPS URL into Blend media storage and return a media_hash for ad creatives. Local-file picking is unavailable.
blendmcp_upload_image
Fetch one image or video from a public HTTPS URL into Blend media storage and return a media_hash. This is the immediate URL-only uploader with an explicit kind; the public tool surface has no file picker or prepare/finalize step. Pass the returned media_hash to the relevant smart action.
blendmcp_upload_from_url
Fetch one MP4 or MOV video up to 100MB from a public HTTPS URL into Blend media storage and return a media_hash for ad creatives. Local-file picking is unavailable.
blendmcp_upload_video
Blend AI ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Blend AI'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 Blend AI alternatives on ChatGPT?
As of 2026-11-07, Blend AI competes with Ad Account Health Check, Ad Reporting by PaidSync.ai, Ad Superpowers, Adalysis, AdBeacon, AdKit - Ads Manager, Adlane, AdLiftr and 78 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.


