account | GadsAccountItem or object or array of object or string or integer | Yes | - | Select the Google Ads account, ask user for it if not provided |
update_type | string or SelectableOption | Yes | - | Choose whether to create a single promotion asset or use bulk mode, when using bulk mode you need to provide structured_data with the promotion assets details. |
level | string or SelectableOption | No | - | Choose where to attach the promotion asset. Required for single mode |
campaign_ids | array of string or SelectItem | No | - | Select one or more campaigns (required when level is CAMPAIGN) |
ad_group_ids | array of string or SelectItem | No | - | Select one or more ad groups (required when level is AD_GROUP) |
status | string or SelectableOption | No | - | Status of the promotion asset link. Available options: ENABLED, PAUSED. Default: ENABLED |
promotion_target | string | No | - | Item. Required. A freeform description of what the promotion is targeting |
final_url | string | No | - | Final URL. Required. Landing page URL for the promotion asset |
language_code | string | No | - | Language code from Google Ads language options |
currency_code | string | No | - | Currency code. Required. Three-character ISO 4217 currency code |
occasion | string or SelectableOption | No | - | Promotion occasion |
discount_type | string or SelectableOption | No | - | Promotion type. Required. One of money_amount_off, percent_off, up_to_money_amount_off, up_to_percent_off |
discount_value | number | No | - | Discount value in normal units. Required. For money discount types use amount in currency units (e.g. 10.5), for percent discount types use percentage (e.g. 20) |
promotion_trigger | string or SelectableOption | No | - | Promotion details trigger type. Optional |
promotion_code | string | No | - | Promotion code users should use |
orders_over_amount | number | No | - | Minimum order amount in normal currency units for eligibility |
promotion_barcode_type | string or SelectableOption | No | - | Barcode type used for promotion barcode |
promotion_barcode_content | string | No | - | Text content to encode in the promotion barcode |
promotion_qr_code_info | object or string | No | - | Promotion QR info. Either plain text content or JSON with qr_code_content |
redemption_start_date | string | No | - | Redemption start date in yyyy-MM-dd format |
redemption_end_date | string | No | - | Redemption end date in yyyy-MM-dd format |
start_date | integer or string | No | - | Serving start date for when the promotion asset can begin serving (Unix timestamp or YYYY-MM-DD format) |
end_date | integer or string | No | - | Serving end date for when the promotion asset stops serving (Unix timestamp or YYYY-MM-DD format) |
terms_and_conditions_text | string | No | - | Terms and conditions text |
terms_and_conditions_uri | string | No | - | Terms and conditions URI |
structured_data | array (also accepts a comma-separated string) | No | - | Use only when update_type is ‘bulk’. JSON data with required columns: ‘level’ (ACCOUNT/CAMPAIGN/AD_GROUP), ‘promotion_target’, ‘final_url’, ‘currency_code’, ‘discount_type’, ‘discount_value’. Optional columns: ‘campaign_ids’ (comma-separated for multiple, required for CAMPAIGN level), ‘ad_group_ids’ (comma-separated for multiple, required for AD_GROUP level), ‘status’ (ENABLED/PAUSED, defaults to ENABLED), ‘promotion_trigger’, ‘promotion_code’, ‘orders_over_amount’, ‘promotion_barcode_type’, ‘promotion_barcode_content’, ‘promotion_qr_code_info’, ‘language_code’, ‘occasion’, ‘redemption_start_date’ (yyyy-MM-dd), ‘redemption_end_date’ (yyyy-MM-dd), ‘start_date’, ‘end_date’ (YYYY-MM-DD or Unix timestamp), ‘terms_and_conditions_text’, ‘terms_and_conditions_uri’. |