Assets Create Asset
assets_create_assetCreates Google Ads assets such as text, image, video, sitelink, callout, or structured snippet under a customer account, with validation before committing changes.
Instructions
Creates a new Google Ads asset under the specified customer account.
Required & Optional parameters per asset_type:
TEXT: Requires
text_asset_text.IMAGE: Requires either
image_asset_path(absolute local path, local stdio mode only) ORimage_asset_data(base64 encoded string). Ifimage_asset_datais provided,image_asset_mime_typeis also required (e.g. 'IMAGE_PNG', 'IMAGE_JPEG', 'IMAGE_GIF').YOUTUBE_VIDEO: Requires
youtube_video_id.SITELINK: Requires
sitelink_link_textand root-levelfinal_urls. Accepts optionalsitelink_description1andsitelink_description2.CALLOUT: Requires
callout_text.STRUCTURED_SNIPPET: Requires
structured_snippet_headerandstructured_snippet_values.
Root-level URL and tracking configurations (optional except where noted):
name: Optional display name for the asset.final_urls: Required for SITELINK. A list of URLs.final_mobile_urls: List of mobile-specific destination URLs.tracking_url_template: Template for constructing a tracking URL.final_url_suffix: Suffix appended to the final URL.url_custom_parameters: Custom parameters represented as a list of dicts (with 'key' and 'value').
For any other asset type, provide extra_params as a dict representing the sub-asset message fields.
Propose & Confirm Workflow (validate_only and checksum):
Call
create_assetwithvalidate_only=True(the default). After validation passes, the tool returns structuredchange_itemsand achecksumwithout committing changes.Present the
change_itemsto the user and wait for explicit user approval.Only after user confirmation, call
create_assetwithvalidate_only=Falsealong with the exact same parameters and thechecksumreturned by the previousvalidate_only=Truecall.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"customer_id": "<customer_id>",
"asset_type": "<asset_type>"
},
"name": "assets_create_asset"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional name of the asset. | |
| checksum | No | Checksum of the validated operation returned by a prior `validate_only=True` call. Required when `validate_only=False`. | |
| asset_type | Yes | Type of the asset (e.g., 'TEXT', 'IMAGE', 'YOUTUBE_VIDEO', 'SITELINK', 'CALLOUT', 'STRUCTURED_SNIPPET'). | |
| final_urls | No | Optional list of final URLs (required for SITELINK). | |
| customer_id | Yes | Google Ads Customer ID (digits or hyphenated, e.g. '1234567890'). | |
| callout_text | No | Optional callout text (required for CALLOUT type). | |
| extra_params | No | Optional dict representing nested parameters for less common asset types. | |
| validate_only | No | If True (default), validates the request and returns proposed `change_items` and a `checksum` without creating the asset. If False, requires `checksum` from a prior `validate_only=True` call to commit the asset creation. | |
| text_asset_text | No | Optional text content (required for TEXT type). | |
| final_url_suffix | No | Optional final URL suffix. | |
| image_asset_data | No | Optional base64 encoded image data (supported for IMAGE type). | |
| image_asset_path | No | Optional absolute file path to a local image (supported for IMAGE type in local stdio mode). | |
| youtube_video_id | No | Optional YouTube 11-character video ID (required for YOUTUBE_VIDEO type). | |
| final_mobile_urls | No | Optional list of final mobile URLs. | |
| login_customer_id | No | Optional manager customer ID to use as the login-customer-id header. | |
| sitelink_link_text | No | Optional link text (required for SITELINK type). | |
| image_asset_mime_type | No | Optional MIME type (e.g., 'IMAGE_PNG', 'IMAGE_JPEG', 'IMAGE_GIF'; required if image_asset_data is used). | |
| sitelink_description1 | No | Optional sitelink line 1 description. | |
| sitelink_description2 | No | Optional sitelink line 2 description. | |
| tracking_url_template | No | Optional tracking URL template. | |
| url_custom_parameters | No | Optional custom parameters for tracking (list of {'key': ..., 'value': ...} dicts). | |
| structured_snippet_header | No | Optional structured snippet header category (required for STRUCTURED_SNIPPET type). | |
| structured_snippet_values | No | Optional structured snippet list of values (required for STRUCTURED_SNIPPET type). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |