$adGroupAdService = $adWordsServices->get($session, AdGroupAdService::class);
$operations = [];
// Create a template ad.
$youtubeAd = new TemplateAd();
$youtubeAd->setName('TestAd for youtube');
$youtubeAd->setTemplateId(231);
$youtubeAd->setFinalUrls(['https://www.google.com']);
$youtubeAd->setDisplayUrl('www.google.com');
$headline = new TemplateElementField();
$headline->setName('headline');
$headline->setType(TemplateElementFieldType::TEXT);
$headline->setFieldText('Enjoy');
$videoId = new TemplateElementField();
$videoId->setName('videoId');
$videoId->setType(TemplateElementFieldType::VIDEO);
$videoId->setFieldText('https://youtu.be/m6S4phxKEM8');
$channel = new TemplateElementField();
$channel->setName('channelName');
$channel->setType(TemplateElementFieldType::TEXT);
$channel->setFieldText('youtube.com/Google');
$image = new TemplateElementField();
$image->setName('imageUrl');
$image->setType(TemplateElementFieldType::URL);
$image->setFieldText('');
$adData = new TemplateElement();
$adData->setUniqueName('adData');
$adData->setFields([$headline, $videoId, $channel, $image]);
$youtubeAd->setTemplateElements([$adData]);
// Create ad group ad.
$adGroupAd = new AdGroupAd();
$adGroupAd->setAdGroupId($adGroupId);
$adGroupAd->setAd($youtubeAd);
// Optional: Set additional settings.
$adGroupAd->setStatus(AdGroupAdStatus::PAUSED);
// Create ad group ad operation and add it to the list.
$operation = new AdGroupAdOperation();
$operation->setOperand($adGroupAd);
$operation->setOperator(Operator::ADD);
$operations[] = $operation;
// Create the ad group ad on the server and print out some information
// about it.
$result = $adGroupAdService->mutate($operations);
foreach ($result->getValue() as $adGroupAd) {
printf(
"New HTML5 ad with ID %d and display URL '%s' was created.\n",
$adGroupAd->getAd()->getId(),
$adGroupAd->getAd()->getDisplayUrl()
);
}Fatal error: Uncaught Google\AdsApi\AdWords\v201710\cm\ApiException: [AdError.INVALID_YOUTUBE_DISPLAY_URL @ operations[0].operand.ad.displayUrl, OperationAccessDenied.OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE @ operations[0].operand.ad; trigger:'DISPLAY', AdError.EMPTY_FIELD @ operations[0].operand.ad.templateElements[0].fields[1].fieldMedia; trigger:'<null>', AdError.EMPTY_FIELD @ operations[0].operand.ad.templateElements[0].fields[3].fieldText; trigger:'<null>', UrlError.INVALID_FINAL_URL @ operations[0].operand.ad.finalUrls[0]; trigger:'https://www.google.com']