# Sitelinks, callouts and other assets

> See the sitelinks, callouts, structured snippets, prices and promotions on your campaigns, and ask your AI assistant to add, pause or enable them.

Sitelinks, callouts, structured snippets, prices and promotions add extra lines and links to your search ads. You see them on the [Campaigns](/docs/campaigns) page, and your AI assistant adds, pauses and enables them.

## Sitelinks, callouts and other assets

When you open one ad account, campaign or ad group, an **Assets** list under its table shows the sitelinks, callouts, structured snippets, prices and promotions linked to it, with their status. The list is read only: your AI assistant adds, pauses and enables them.

ChatGPT Ads has no such assets.

## Adding assets through your AI assistant

Your assistant can add sitelinks, callouts, structured snippets, prices and promotions to a whole Google Ads account, to a Google Ads or Microsoft Ads search campaign, or to one of its ad groups. It reads what is linked with `list_assets`, checks the new assets with `preview_add_assets`, and adds them with `add_assets` once you confirm. Try *"Add sitelinks for Contact, Pricing and Book a call to the Brand campaign"* or *"Add a 20% off Black Friday promotion to the Shoes ad group"*.

### What each asset takes

Each asset is checked on its own:

- **Sitelinks:** text of up to 25 characters, and descriptions of up to 35 (both or neither).
- **Callouts:** up to 25 characters.
- **Structured snippets:** one of the fixed headers and 3 to 10 different values of up to 25 characters.
- **Prices:** 3 to 8 rows, each with its own header, a description, a price and a landing page.
- **Promotions:** its item (up to 20 characters), a percent or an amount off, at most one of a promotion code and a minimum order, and dates that have not passed.

Characters of Chinese, Japanese and Korean and emoji count as two. Every landing page is a full https address. The preview names the part that breaks a rule, and only the assets that pass are added.

### How new assets are added

- **Prices in their own currency.** Each price row has its own currency, which may differ from the ad account's. Microsoft Ads takes only some currencies, and promotions only in some languages; the preview says so.
- **Never twice.** An asset with the same text that is already linked to the same place, enabled or paused, is refused: your assistant offers to enable the paused one instead.
- **On Google Ads every new asset is linked paused**, even in a running campaign, so nothing shows until you enable it. Your assistant then offers to enable exactly those links, with one more preview and confirmation.
- **On Microsoft Ads, which can't pause an asset link**, Roasby links new assets only to a paused campaign or ad group, never to a whole account, so they show once you enable it.
  - It checks with Microsoft Ads again just before it adds them, and a campaign Microsoft Ads suspended counts as running, since it can serve again without you.
  - Microsoft Ads shows callouts only when a campaign or ad group has 2 to 20 of them, and each place takes at most 20 assets of a type.
- **One change.** The assets are one batch: one entry in the [change log](/docs/change-log), which opens to each asset and its result. **Revert batch** pauses the links it added (on Microsoft Ads takes them away); assets are never removed. Links that are still paused have nothing to revert.
- One add at a time runs per place.
- **Several places at once.** Your assistant can add the same assets to up to 20 campaigns or ad groups of one ad account in one preview and one confirmation; every asset goes to each of them.
- **Sitelinks to another site.** When a sitelink goes to another website than the ads where it is linked, the preview warns you, so a typo or a wrong site is caught before the platform's review.
- **On Microsoft Ads, a busy moment never makes a copy.** When Microsoft Ads has added an asset but was too busy to link it, Roasby links that same asset when it tries again, instead of adding it a second time.

## Pausing and enabling

Your assistant pauses or enables an asset link like any other item (see the [safety model](/docs/safety-model)). On Microsoft Ads pausing takes the link away and enabling links it again; the asset itself stays in the ad account.

## Ask your AI assistant

- `list_assets` lists the linked assets, each with the Roasby ID of its link, where it is linked (the whole ad account, a campaign or an ad group), its status and its content, and whether a pause or enable of it is still being applied. It can narrow the list with `ad_account_id`, `campaign_id`, `ad_group_id`, `type` or `status`; removed links are left out unless `include_removed` is true.
- `preview_add_assets` shows the assets that may be added and the refused ones with why, and returns one `confirmation_token` for all of them, valid for 10 minutes, once. `add_assets` then adds them. They take one place (`ad_account_id`, `campaign_id` or `ad_group_id`) or several (`campaign_ids` or `ad_group_ids`, up to 20 of one ad account).
- To pause or enable a link, it uses `preview_pause_entity` or `preview_enable_entity` with the link's ID, then `pause_entity` or `enable_entity` once you confirm.

Try:

- *"Which sitelinks and callouts does the Brand campaign have?"*
- *"Add sitelinks for Contact, Pricing and Book a call to the Brand campaign"*
- *"Add a 20% off Black Friday promotion to the Shoes ad group"*

## Limitations

- Roasby adds sitelinks, callouts, structured snippets, prices and promotions and pauses or enables them, but it can't change an asset's text, or add images, logos or business names. Do that in the ad platform itself.
- On Microsoft Ads, which can't pause an asset link, new assets are linked only to a paused campaign or ad group, never to a whole account.
- Google Ads: turning off automatically created assets is only in the Google Ads web interface.
- Sitelinks, callouts and other assets have no policy findings in Roasby.
- ChatGPT Ads has no such assets.
- Roasby never deletes anything: pause instead.

See every limit by platform on [Limitations](/docs/limitations).
