Limitations
What Roasby and each ad platform can't do today, why, and what you can do instead, in one place.
Last updated: November 7, 2026
Roasby can't do everything an ad platform's own website can. Some limits come from the ad platforms, some are choices Roasby made to keep your ads safe, and some are features Roasby doesn't have yet. Each row says what you can do instead. The feature pages repeat the limits that apply to them in their own Limitations section.
When something can only be done by a person, your AI assistant tells you what to do, why and where (with a link when there is one), for example setting a guardrail in Roasby or a setting in Google Ads. It never does those steps for you and never says it did.
Limitations by platform
| Limitation | Google Ads | Microsoft Ads | ChatGPT Ads | What you can do instead |
|---|---|---|---|---|
| Campaign types Roasby creates | Search campaigns | Search campaigns | Chat campaigns | Create other types (App, Performance Max, Display, Shopping, Video) in the ad platform; Roasby reads them and can pause or enable them. |
| Keywords and search terms | Yes | Yes | None: ChatGPT Ads has no keywords | On ChatGPT Ads, describe where your ads fit with context hints when you create a campaign. |
| Negative keywords | Exact, phrase and broad match | No broad match negative keywords: exact and phrase only | None | Use phrase match on Microsoft Ads for the closest result. |
| Adding keywords to an existing ad group | Search campaigns; at most 80 characters and 10 words, without the characters Google Ads refuses in keywords (such as !, @, %, *, ?, brackets and the pipe) |
Search campaigns; at most 100 characters | None: ChatGPT Ads has no keywords | Shorten the keyword or leave the character out. Each keyword is added paused; a keyword's own bid stays within the account's max bid when it has one; an ad group takes at most 20,000 keywords and negative keywords. |
| Adding ad groups to an existing campaign | Search campaigns; names up to 254 characters; each ad group made whole or not at all | Search campaigns; names up to 255 characters; made step by step, so a failed later step leaves the ad group paused and partly made; Microsoft's own search network only | None: Roasby adds no ad groups to ChatGPT Ads | See note 1. |
| Adding responsive search ads to an existing ad group | Search ad groups; no total of ads per ad group | Search ad groups; at most 100 ads (enabled and paused) per ad group | None: Roasby adds no responsive search ads to ChatGPT Ads | Each ad is added paused; enable it with your assistant. |
| Enabled responsive search ads | At most 3 per ad group | At most 3 per ad group | — | Pause one of the others before you enable a fourth. |
| Character widths in ads | Characters of Chinese, Japanese and Korean count as two (a headline holds 15) | The same, and emoji count as two | — | Shorten the text; the preview names the part that is too long. |
| Pinning headlines and descriptions | Allowed (headlines 1 to 3, descriptions 1 to 2); at least as many unpinned ones as positions nothing is pinned to; pinning lowers ad strength | The same | — | Pin only text that must show, 2 or 3 to a position rather than one. |
| Policy reviews and exceptions for a refused ad | Only in the Google Ads web interface; Roasby never asks for one | Appeals only in Microsoft Advertising | — | Change the ad's wording and add it again, or ask the ad platform for a review on its own website. |
| Ad group start and end dates | Don't exist: only campaigns have dates | Not set by Roasby | — | Set dates on the campaign. |
| Political ads | You declare EU political advertising for each new campaign | Political ads are not accepted | — | On Microsoft Ads, answer no when your assistant asks about political ads. |
| Manual cost per click on a new search campaign | Yes | Becomes enhanced cost per click: Microsoft raises or lowers your max cost per click to win conversions | Max cost per click or maximize clicks | The preview says so before you confirm. |
| Lifetime budgets and shared budgets | Not changed in Roasby | Not changed in Roasby | A campaign with a lifetime budget keeps it: its budget is not changed in Roasby | Change them in the ad platform itself. |
| Impression share | Search campaigns and ad groups only; a share below 10% and a lost share above 90% are reported only as those bounds; ad groups have no share lost to budget (campaigns only) | Search campaigns and ad groups only; the share often comes about a day later than the other numbers | None: ChatGPT Ads reports no impression share | Roasby shows "<10%", ">90%" or "Not enough data" instead of a made-up number. |
| Raise budget recommendations | Search campaigns with a daily budget of their own, within the guardrails | The same | None: ChatGPT Ads reports no impression share | Shared and lifetime budgets are never raised. After a budget change (in Roasby or in the ad platform), a new suggestion waits for 14 days at the new budget, and Roasby needs an impression share on at least 80% of the days. |
| Quality Score and bid estimates | None for a keyword with too few searches; no bid estimates under automated bidding | The same, read only for keywords with activity recently (others keep what Roasby read before); no Below first page bid status | None: ChatGPT Ads has no keywords | Roasby says "Not enough data yet" or "Not offered under automated bidding" instead of a number. On Microsoft Ads, compare the max bid with the first page bid yourself. |
| Policy review of ads and keywords | Findings for ads, each headline and description, and keywords, with evidence and countries; sitelinks, callouts and other assets have no findings in Roasby | Reasons only for disapproved and limited ads and keywords, with the countries and whether you can appeal | An ad's approval only (approved, under review or disapproved), without reasons | Reviews, exceptions and appeals are only in the ad platform's own website: Roasby shows the findings and what to change, and never requests them. |
| Conversion tracking | Conversion actions, the account's goals and each campaign's goals (including custom goals), read every few hours and with Sync now; see note 2 | Conversion goals with their tag status, and the goals a campaign chose; no goals by category | Not read | See note 3. |
| Keyword research | Ideas from seed keywords or a web page, and volumes of your own keywords, with a low and high top-of-page bid; volumes are rounded, more so for accounts with little spend; no Albanian, Bosnian, Macedonian or Maltese | The same with one suggested bid, in English, French and German only | None: ChatGPT Ads has no keyword research | Countries only. Each new search asks the platform live, so a workspace runs only so many new searches an hour; the same search within a day is answered at once. |
| Max bids | Ad groups and keywords with manual cost per click | Ad groups and keywords with manual or enhanced cost per click | Ad groups with a max cost per click | Under automated bidding the platform sets bids; your assistant can change the bidding (see below). |
| Bidding strategies | A search campaign's own strategy: manual cost per click, maximize clicks (a max cost per click it has is kept), maximize conversions (target CPA), maximize conversion value (target ROAS), target impression share; ad group target CPA under maximize conversions with a campaign target CPA | The same strategies (manual is enhanced cost per click), with the exceptions in note 4; no ad group target CPA | None: changed in ChatGPT Ads Manager | See note 5. |
| Sitelinks, callouts, structured snippets and other text assets | Added to the whole account, a search campaign or an ad group, each linked paused; text is never edited and assets are never removed | Added only to a paused search campaign or ad group, never to a whole account, because Microsoft Ads can't pause an asset link (pausing one takes the link away); see note 6 | None: ChatGPT Ads has no such assets | See note 7. |
| Changing many bids at once | Ad groups and keywords; each bid keeps the max bid change per step | The same | Ad groups only | A larger rise takes several steps (cuts take one): ask your assistant to limit the bids to the guardrails to take the largest allowed step each time, or raise the max bid change on the Ad accounts page. |
| How a sync reads changes made in the ad platform | A scheduled sync reads again only what Google Ads' change history says changed since the last sync; see note 8 | Every sync reads the whole account: Microsoft Ads keeps its change history only in its bulk service | Every sync reads the whole account: ChatGPT Ads has no change history | Select Sync now to read the whole account at once. |
| A campaign deleted in the ad platform | Shown as archived after the next sync: Google Ads reports it as removed | Shown as archived, with everything under it, after the next sync: Microsoft Ads no longer returns a deleted campaign | As ChatGPT Ads reports it | Select Sync now to see it at once. |
| Raising keywords to their first page bid | Keywords with a first page bid estimate (none under automated bidding or with too few searches) | Keywords with an estimate, read only for keywords with recent activity | None: ChatGPT Ads has no keywords | Keywords without an estimate are left out with the reason; set their bids as an amount or a percent instead. Estimates are as of the last sync. |
| Editing campaign settings | Search campaigns; countries, location option, search partners, tracking, ad schedule, device bid adjustments and ad rotation, sent all at once (every section or none); the Google Display Network is shown but never changed | The same plus languages; see note 9 | None: ChatGPT Ads campaigns have none of these settings | Change what Roasby can't (regions, cities, radius, excluded places, location bid adjustments, the Display Network) in the ad platform itself. |
| Editing keywords | Text and match type can't change in place: Roasby replaces the keyword (the new one added paused, the old one paused); its own final URL changes in place | The match type and own final URL change in place; a new text replaces the keyword | None: ChatGPT Ads has no keywords | Enable the new keyword when you want it to run: it starts without the old one's history. If the ad group already has the new keyword, enable that one instead. |
| Editing ad text | Responsive search ads only, once Roasby has read their text; headlines, descriptions with their pins, display paths and the final URL, in place (the ad keeps its status and history); the ad's own final URL suffix and a second final URL stay as they are | The same | None: ChatGPT Ads ads are chat cards, edited in ChatGPT Ads Manager | Edit other ad types and the text of assets in the ad platform itself. The ad platform reviews new text again, so the ad may show as under review for a while. |
| Ad schedule | At most 6 time slots a day, in quarter hours, in the ad account's time zone; -90% to +900% per slot | At most 7 a day and 49 in all, in the campaign's time zone; -90% to +900% per slot | — | Merge time slots; slots of one day may not overlap. |
| Device bid adjustments | Mobile, tablet and desktop: -100% (no ads) or -90% to +900% | -100% to +900% | — | A rise is limited to the max bid change per step, for each device in each scheduled hour (device × hour, from what it had before); ask your assistant to limit the bid adjustments to take the largest allowed step. |
| Minimum daily budget | Google's own minimum | Microsoft's own minimum | $25 a day in USD accounts, refused below | Choose a budget at or above the minimum. |
| Language targeting | Search campaigns have no language targeting: Google matches languages itself, so the languages you ask for are only noted | Microsoft's ad languages (default: all); some are not yet available in every account | — | On Google Ads, write your ads in the languages of the people you want to reach. |
| Countries | Any number per new campaign, whole countries only | Any number per new campaign, whole countries only | Only the countries ChatGPT Ads serves, up to 25 | Add regions, cities or a radius in the ad platform itself. |
| Campaigns without an EU political ads declaration | Google Ads refuses every campaign change in the account until each campaign declares it; the preview names the campaigns, and a refused change says why in the change log | — | — | Declare it for those campaigns (or the whole account) in the Google Ads web interface, then try again. |
| Ad preview | Google's Ad Preview and Diagnosis is not in its API | — | — | Check how your ads look in Google Ads itself. |
| EU political ads declaration for the whole account | Only in the Google Ads web interface | — | — | Roasby declares it for each campaign it creates, after asking you. |
| Automatically created assets | Turning them off is only in the Google Ads web interface | — | — | Turn them off in the Google Ads web interface if you want only the ad text you approved. |
| Start and end dates | On the campaign only, not per ad group | On the campaign | On the campaign | Set dates on the campaign when you create it. |
Notes on the table
- Adding ad groups. Each ad group is added paused with its keywords and ad; under manual bidding it needs a default bid, within the max bid once one is set; at most 20,000 ad groups per campaign. Finish a partly made Microsoft Ads ad group in Microsoft Ads, and turn on search partners there if you want them.
- Conversion tracking on Google Ads. Recording is judged by the last conversion (when Google Ads received it, or the day for Google Analytics 4 imports; no tag status in its API). Google Analytics 4 key events show once imported. See Conversions.
- What to do about conversion tracking. Create and edit conversion actions in the ad platform, and Google Analytics 4 key events in Google Analytics. Your assistant can change which goals a search campaign bids on (Google Ads and Microsoft Ads; on Microsoft Ads only between goals of the campaign's own, never to or from the account's goals, which Microsoft offers no way to set back). Goals that record nothing under bidding toward conversions are warned about, not refused. Roasby never creates a custom goal.
- Bidding strategies on Microsoft Ads. The same strategies as Google Ads, except target impression share, which Roasby doesn't change yet; a target CPA or target ROAS is never added to or taken from a campaign that keeps its strategy (Microsoft Ads offers no way to take one away, so it couldn't be reverted). A max cost per click on maximize clicks, conversions or conversion value stays while the strategy stays; once the strategy changes, Microsoft Ads doesn't take it again, so a revert sets the strategy back without it, and the preview says so first.
- What to do about bidding. Portfolio strategies, enhanced cost per click on Google Ads, other strategies Roasby could not put back, and the Microsoft Ads changes it doesn't make are done in the ad platform. A max cost per click stays within the max bid and a target CPA within the max target CPA, a target ROAS at or above the min target ROAS when set, and each moves at most the max bid change per step, measured from the most recent target Roasby set or took away when the campaign has none now. Your assistant's reverts keep these guardrails; you can revert on the Change log page, which restores the exact earlier target. See Bidding and goals.
- Microsoft Ads asset limits. At most 20 of a type per place; callouts show only from 2 to 20 per place; amounts in some currencies only, promotions in some languages only.
- What to do about assets. Pause the campaign or ad group before you add assets on Microsoft Ads, and enable it when you want them to show. Change an asset's text, or add images, logos and business names, in the ad platform itself. See Assets.
- How a Google Ads sync reads changes. A scheduled sync reads again only what Google Ads' change history says changed since the last sync (campaigns, budgets, settings, ad groups and assets; ads and keywords every time), and the whole account at least once a day, on Sync now and after Roasby's own new campaigns. A change made in the last few minutes before a sync shows with the next one; a change to a shared (portfolio) bid strategy, which the change history doesn't list, shows with the next full read.
- Editing campaign settings on Microsoft Ads. Search partners and ad rotation are per ad group, so they are set on every ad group the campaign has; sections are sent one after another, so a refused one leaves the ones before it applied.
What Roasby chose not to do
These keep your ads safe and stay this way:
- No deleting. Roasby never deletes or removes campaigns, ad groups, ads or keywords, because a removed item can't come back on most ad platforms. Pause them instead, in Roasby or through your assistant. The only things it takes away are targeting settings it replaces when you edit a campaign's countries or ad schedule (the change log keeps them, and reverting puts them back) and negative keywords a Roasby change added, when you revert it.
- Only people set guardrails. Max daily budgets, max bids, max target CPAs, min target ROAS, the max rise per step, the workspace's safety defaults and Allow members to change ads are set in Roasby on the web. Your AI assistant reads them but can never loosen them.
- Creating, editing and research are done through your AI assistant only. Creating campaigns, adding ad groups, ads and keywords, changing bids, campaign settings, ad text and keywords, and keyword research have no web pages. On the web you watch your ads, pause and enable them, set daily budgets, exclude searches as negative keywords on the Search terms page, approve recommendations and revert changes; your assistant can do all of those too.
- New keywords, ad groups and ads start paused, even in a running ad group or campaign, and reverting them pauses them: Roasby never removes a keyword, an ad group or an ad. Changing a keyword's text (or its match type on Google Ads) adds the new keyword paused and pauses the old one, so the keyword shows no ads until you enable the new one. A keyword that a negative keyword of its ad group or campaign blocks (by the negative's match type) is refused, because it would never show ads; the refusal names that negative.
- No automatic rules such as "pause a campaign when its cost per conversion goes above X". Alerts and recommendations tell you what changed, and you or your assistant act after you confirm.
- No file import. Give your AI assistant the file you have (a Google Ads Editor export or a spreadsheet): it reads it and fills in the campaign itself, and you confirm the preview.
- A batch is one ad account. Pausing or enabling many items together works within one ad account at a time, and a workspace can change only so many items in one batch. Split larger changes into several batches; each has its own preview and confirmation.
- Some things stay on the web: connecting and disconnecting ad platforms, billing, your account settings and your AI connections.
What Roasby can't do yet
- Very large new campaigns in one step. A new search campaign holds up to 1,000 ad groups (each with up to 1,000 keywords, 100 negative keywords and 3 ads) and 10,000 negative keywords of its own, within 10,000 operations in all, and it targets whole countries. Your assistant creates a larger one in parts: the campaign with part of its ad groups, then the rest added to it. A ChatGPT Ads campaign has one ad group and one chat card.
- Adding to existing campaigns. Roasby can add ad groups (each with up to 3 ads) to a search campaign, and keywords and responsive search ads to an ad group, that already exist (through your assistant). It can add negative keywords to an existing campaign or ad group, up to 100 in one change.
- Editing settings and ads. Roasby can edit a search campaign's countries, location option, search partners, tracking, ad schedule, device bid adjustments, ad rotation and (Microsoft Ads) languages, the text of responsive search ads, and keywords (text, match type and own final URL; a new text, and a new match type on Google Ads, replace the keyword), and bidding (see Bidding and conversion goals), but not a campaign's dates, regions, cities or a radius, or ads of other types. Change those in the ad platform itself.
- Image and brand assets. Images, logos and business names are added in the ad platform itself, and so is any change to an asset's text: Roasby adds sitelinks, callouts, structured snippets and the other text assets, and pauses or enables their links.
- Shared negative keyword lists are not read or changed. Roasby reads the negative keywords set directly on campaigns and ad groups.
How the data works
- A synced copy. Roasby reads your ad accounts on a schedule and answers from its own copy, so reports and your assistant are fast. Numbers are as fresh as the account's last sync.
- Roasby's own changes show at once. Its status, budget and bid changes show as soon as they apply. After a new campaign Roasby usually syncs the account within a few minutes (at most once every 5 minutes and 24 times a day per account, and not while Roasby's shared Google Ads capacity is busy).
- Changes made in the ad platform itself, and fresh numbers, come with the next scheduled sync (one made in Google Ads in the last few minutes before it, with the sync after), or right away with Sync now (every 5 minutes on Microsoft Ads and ChatGPT Ads) on the Ad accounts page.
- Late conversions. Platforms keep adding late conversions, so each sync also refreshes the last few days.
- Currencies are never converted. Totals are shown per currency.
- ChatGPT Ads conversion value needs purchase tracking in ChatGPT Ads. Until then, value and ROAS show as n/a, and its spend is left out of the combined ROAS.
- Items removed in the ad platform stay in Roasby, read-only, with their history.
Workspaces
- One connection, every workspace. Your assistant reaches every workspace you belong to, with your role in each. You can't limit a connection to some workspaces: to keep an assistant out of one, leave that workspace or disconnect the assistant on the AI connections page.
- Your current workspace stays yours. Your assistant works in your current workspace unless you name another, and it never changes the workspace you see in Roasby.
- Creating workspaces, inviting people and changing roles are done in Roasby on the web.
Confirmations
Your assistant is told to show you every change and ask you before it makes it, and each change needs a preview first. The preview proves your assistant checked the change, not that you agreed: an assistant could run the preview and the change in one go. Many AI apps also ask you before they run a tool that changes something, so read that prompt before you approve it. Every change is in the change log, and most can be reverted.
Account states
- Reconnect needed: the ad account is read-only until an owner or admin reconnects it on the Ad accounts page.
- Read-only: over the limit: the ad account stops syncing and can't be changed until an owner or admin makes it active. A person can still revert earlier changes on the web; your assistant can't.
- Read-only: set by support: every change, reverts included, is refused until support allows changes again. Write to [email protected].
Try it on your own ad account
Connect an account and ask your first question in a few minutes.