Единственное неправильное, что я вижу, это то, что вы закрываете <amp-ad>
в неправильном месте.
Это неуместное закрытие не должно приводить к тому, что тег будет длиться до его параметра rtc-config.
Проверьте этот код в шестой строке.
$adcode = '<div class="ad"><amp-ad width=300 height=250
type="doubleclick"
data-slot="'. esc_attr( $ad_slot ) .'"
rtc-config=\'{
"vendors": {
"aps": {"PUB_ID": "xxxx","PARAMS":{"amp":"1"}} }}\'
json="' . esc_attr( wp_json_encode( $json_targeting ) ) . '">
</amp-ad></div>';
return $adcode;