Search Ads zones (search_ads, adzone type 42): native-style ads shown for what visitors type into the publisher's own search box, through the goCtrl search plugin. They serve only Search Ads campaigns (ad type 42, searchads — a copy of native bought as its own campaign type), never regular natives. The query is matched against campaign keyword targeting; campaigns without keywords serve on any query. Queries on the built-in blocked-term list (minors, non-consent, violence, …) never get an ad and leave no stats row; blocked_terms adds the zone's own list. These values are written into the generated embed code (GET /api/v1/adspaces/{id}/code).
| Name | Type | Description | Notes |
|---|---|---|---|
| mode | str | chat = AI chat ads: the goCtrl `chatads` plugin watches the site's chat widget (chat_container / chat_answer / chat_prompt) and puts a labelled ad card under a finished answer, matched on the visitor's prompt like a search (impression when half on screen). AI apps without a web widget call the ad server directly — GET https://<ad domain>/chatad.go?spaceid=<zone>&q=<prompt>&a=<answer>&n=1-4&ip=<visitor ip>&agent=<visitor user agent> answers {ads:[{title, description, display_url, image, click_url, impression_url, click_log_url, followup, price}], label}; the prompt and the answer are both checked against the blocked-term list; fire impression_url only when the ad is shown. followup (when the advertiser set one) is a sponsored follow-up question: show it as a chip, and when the user picks it ask your chat that question and fire click_log_url (a click without a redirect). price is for product cards. intext = in-text ads, no search box: the goCtrl `intext` plugin picks the most frequent words and two-word phrases of the article (container_selector), asks the zone for an ad per term as if it were a search, and turns the first occurrence of each term that got an ad into a link with a hover card (impression counted when the card opens), at most max_links per page; the generated code is a single intext init, no placement element. dropdown = the plugin opens its own box under the input (ads + recent searches); panel = ads go into a placement element inside the site's existing suggestions panel; box = the plugin draws the search box itself into a placement div (gcs_box_<id>, in the generated code) and opens the dropdown under it — input_selector is not used; results = the ads are listed in the page itself, in the normal page flow instead of a floating dropdown: in the site's own div id_<id> when the page has one (optional), otherwise right under the search box. The box is the site's own (input_selector) or, with input_selector empty, one the plugin draws (gcs_box_<id>). The list updates as the visitor types and on Enter; a search in the page URL (query_param) is filled in on load. | [optional] [default to 'dropdown'] |
| input_selector | str | CSS selector matching exactly one search input. | [optional] |
| panel_selector | str | panel mode: the site's suggestions panel; ads are only requested while it is visible. | [optional] |
| container_selector | str | intext mode: the article text to link in; empty = the page's <article>, else <main>, else the body. Links, headings, nav, header, footer and form fields are never touched. | [optional] |
| max_links | int | intext mode: most ad links per page (clamped). | [optional] [default to 3] |
| chat_container | str | chat mode: the chat's message list. | [optional] |
| chat_answer | str | chat mode: the assistant's answer bubbles; the card goes under the newest finished one. | [optional] |
| chat_prompt | str | chat mode: the visitor's messages; the newest is the prompt. | [optional] |
| chat_every | int | chat mode: an ad under every Nth answer (clamped). | [optional] [default to 1] |
| chat_style | str | chat mode: card = one ad card under the answer; products = a row of chat_products product cards with their price (ad_options.chat.price, filled by product feeds). | [optional] [default to 'card'] |
| chat_products | int | chat mode, products style: cards in the row (clamped). | [optional] [default to 3] |
| chat_followups | int | chat mode: sponsored follow-up chips per answer, 0 = off. A chip shows an ad's own follow-up question (ad_options.chat.followup); picking it counts a click (no redirect) and asks the chat: a cancelable goctrl-followup event {question, hash, sid} on chat_container first, else the question is typed into chat_input and chat_send clicked (or Enter / the form submitted). | [optional] [default to 0] |
| chat_input | str | chat mode with follow-ups: the chat's text box. | [optional] |
| chat_send | str | chat mode with follow-ups: the send button; empty = Enter / the form's submit. | [optional] |
| results | int | Ads per search. | [optional] [default to 1] |
| recent | int | dropdown mode: recent searches listed (0 = off). | [optional] [default to 5] |
| min_chars | int | Characters typed before ads are requested. | [optional] [default to 3] |
| theme | str | Colour scheme of the dropdown (dropdown and box mode) and of the results-mode ads. | [optional] [default to 'auto'] |
| label | str | Disclosure label on every result; HTML and quote characters are stripped. | [optional] [default to 'Ad'] |
| layout | str | A zone created without layout starts as suggestion, and without native_settings.orientation as square; a stored zone that never had the key reads as card. With native_settings.orientation square the card and result images are drawn square. How each ad looks: card = image, title, description and display URL; suggestion = one compact line (small image + title) like a search suggestion; result = reads like an organic search result (label + display URL, the title as a link, the full description, a small image on the right), made for results mode. Picks the tpl_item in the generated code. | [optional] [default to 'card'] |
| placeholder | str | box mode, and results mode without input_selector: text in the empty search box; HTML and quote characters are stripped. | [optional] [default to 'Search'] |
| submit_url | str | box mode: where a search goes on Enter; {q} = the URL-encoded search text (without {q} it is appended as ?q=). http(s) only — anything else is stored as empty. Empty = the box only shows ads and recent searches. | [optional] [default to ''] |
| query_param | str | results mode: the URL parameter a search is filled in from when the page loads (https://example.com/search?q=… → q). Letters, digits, _ . - only; anything else is stored as q. | [optional] [default to 'q'] |
| ad_position | str | dropdown and box mode: the ads above (top) or below (bottom) the recent searches in the plugin's own dropdown. In panel mode the ads go wherever the site put the placement div. | [optional] [default to 'top'] |
| on_open | bool | dropdown, box and panel mode (in panel mode the ad goes into the slot inside the site's own suggestions panel when the box gets focus): when the visitor opens the box with nothing (or fewer than min_chars characters) typed, show an untargeted ad (campaigns without keywords); the query-matched ad replaces it once the text is long enough. The short text is never sent as keywords, and an ad still on screen is reused rather than asked for again. | [optional] [default to False] |
| recent_pick | str | dropdown and box mode: picking a recent search submits it (submit) or only puts it into the box and shows the ads for it (fill). | [optional] [default to 'submit'] |
| show_description | bool | card and result layouts: show the ad's description. The suggestion layout never does. | [optional] [default to True] |
| show_url | bool | card and result layouts: show the ad's display URL. The suggestion layout never does. | [optional] [default to True] |
| blocked_terms | AdspaceCreateSearchSettingsBlockedTerms | [optional] | |
| runtime | Dict[str, object] | Read-only, derived on every save (search-box modes only; absent for intext and chat): the zone's display settings as the goCtrl search plugin applies them at page load over the values in the pasted code — results, min_chars, recent, theme, ad_position, on_open, recent_pick, placeholder, submit_url, param, tpl_body, tpl_row, tpl_item. A change to those settings reaches pages without new code; selectors and placement still come from the code. Ignored when sent. | [optional] [readonly] |
from goadserver.models.adspace_create_search_settings import AdspaceCreateSearchSettings
# TODO update the JSON string below
json = "{}"
# create an instance of AdspaceCreateSearchSettings from a JSON string
adspace_create_search_settings_instance = AdspaceCreateSearchSettings.from_json(json)
# print the JSON string representation of the object
print(AdspaceCreateSearchSettings.to_json())
# convert the object into a dict
adspace_create_search_settings_dict = adspace_create_search_settings_instance.to_dict()
# create an instance of AdspaceCreateSearchSettings from a dict
adspace_create_search_settings_from_dict = AdspaceCreateSearchSettings.from_dict(adspace_create_search_settings_dict)