For many years, we have HTML Encoded the various text elements (e.g. headline, description) of ads. It's been many years, so I don't recall which characters caused issues, but I do recall that the HTML Encoding allowed characters to be uploaded through the API that otherwise caused errors.
Today, while uploading new ResponsiveSearchAds, I got a StringLengthError thrown for one of the TextAsset elements in the descriptions element of the ResponsiveSearchAd. In investigating, my string was 93 characters long because the "&" value was counted as 5 literal characters instead of 1 character ("&"). I was able to remove the HTML encoding for the ampersand and upload the ad without error.
Although I was able to successfully upload this specific ad, I'm worried that removing the HTML encoding may eventually throw an error on whatever character or characters I had added HTML encoding to fix. For other ad types, HTML encoding is not literally counted toward the character limits. That in mind, I'm wondering if this is an oversight with respect to the back end validation of RSAs? Thoughts from the API team?