We've built an ads editor which contains a series of keyword inputs. Upon submission, each input value is sanitized and will only include valid characters. We then explicitly set match type via the API.
I was wondering what would happen if the user input itself contained match type symbols that conflicted with our explicit setting.
For example, if I set,
keyword.text = "[baseball cap]"; keyword.matchType = "BROAD";
would this configuration BROADly match the text "[baseball cap]" (with brackets) or would it EXACTly match the text "baseball cap". Or would it ignore the brackets and BROADly match "baseball cap".
In order to test what would happen, I created a campaign through the API to experiment. My AdGroup contained each of the symbol variations of "baseball cap". However, each keyword had its match type explicitly set to BROAD.
When I opened the campaign in the Adwords GUI, I could confirm that the text retained its inputted symbols and had been designated as BROAD match type (even if the symbols were denoting PHRASE or EXACT).
For example, he UI had the following values for our input text "[baseball cap]":
Text: [baseball cap] Match Type: BROAD
However, when I gave focus to the text input, the UI's validator would take over and update match type to EXACT (as long as the brackets remained).
Should we therefore be checking user input and using it to set match type (according to the detected symbology) on our end? Or will any overrides be handled by the API despite what I saw initially in the GUI?
Thanks!