تسمح لك نصوص "إعلانات Google" البرمجية بإدارة فيديوهاتك في YouTube وإعداد تقارير عنها الحملات. يمكنك استخدام النصوص البرمجية إدارة حملات الفيديو الحالية، وإنشاء وإدارة المجموعات الإعلانية والإعلانات، وإعداد واستهداف الحملات وعرض التقارير. ومع ذلك، لا يمكنك استخدام النصوص البرمجية إنشاء حملات فيديو.
استرداد حملات الفيديو والمجموعات الإعلانية
تتوفر حملات الفيديو من خلال
videoCampaigns
مجموعة من
الكائن AdsApp
. إِنْتَ
يمكنك استردادها كما تفعل عادةً مع الحملات في النصوص البرمجية:
const campaignName = "My first video campaign";
const campaignIterator = AdsApp.videoCampaigns()
.withCondition(`campaign.name = "${campaignName}"`)
.get();
for (const campaign of campaignIterator) {
...
}
بعد استرجاع إحدى الحملات، يمكنك الحصول على مجموعاتها الإعلانية بطريقة مماثلة:
const adGroupIterator = campaign.videoAdGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
for (const adGroup of adGroupIterator) {
...
}
بدلاً من ذلك، يمكنك استخدام طريقة AdsApp.videoAdGroups()
:
const adGroupIterator = AdsApp.videoAdGroups()
.withCondition(`campaign.name = "${campaignName}" AND ad_group.name = "${adGroupName}")
.get();
for (const adGroup of adGroupIterator) {
...
}
تصميم إعلانات فيديو
تسمح لك نصوص "إعلانات Google" البرمجية باسترداد إعلانات الفيديو باستخدام
videoAds()
طريقة
VideoAdGroup
يمكنك إنشاء إعلانات فيديو جديدة باستخدام
newVideoAd()
لحساب VideoAdGroup
.
أشكال إعلانات الفيديو
تختلف أشكال إعلانات الفيديو المتوافقة حسب نوع حملة الفيديو. للتأكد
أنت تختار النوع المناسب من حملة الفيديو، أضف مكالمة withCondition
في AdvertisingChannelSubType
.
تحتوي بعض حملات الفيديو على أنواع فرعية تقيِّد أنواع الإعلانات التي
ضمن تلك الحملة. على وجه التحديد، VIDEO_ACTION
حملة فقط
تتيح استخدام نوع الإعلان VIDEO_RESPONSIVE
وVIDEO_NON_SKIPPABLE
حملة.
تدعم نوع الإعلان NON_SKIPPABLE_INSTREAM_VIDEO_AD
فقط.
إن أفضل طريقة للعمل على أنواع محددة من الحملات هي استخدام
withCondition
في أداة الاختيار. يمكنك تحديث
AdvertisingChannelSubType
لنوع الاهتمام الخاص بالحملة:
const campaignIterator = AdsApp.videoCampaigns()
.withCondition("AdvertisingChannelSubType = VIDEO_ACTION")
.get();
تتيح حملات الفيديو التي ليس لها نوع فرعي استخدام أشكال إعلانات الفيديو التالية:
- TrueView ضمن البث
- TrueView video discovery
- إعلان ملصق صغير
يمكنك اختيار هذه الحملات باستخدام withCondition
:
const campaignIterator = AdsApp.videoCampaigns()
.withCondition("AdvertisingChannelSubType = null")
.get();
يمكن تشغيل "الإعلانات أثناء عرض الفيديو" قبل بدء الفيديوهات الأخرى أو أثناء عرضها أو بعد انتهائها للمستخدمين خيار التخطّي بعد وقت محدّد. تظهر "إعلانات video discovery" على الشبكة الإعلانية وصفحات YouTube المتنوعة، ولن يتم تشغيلها إلا إذا ينقر بشكل نشط على الصورة المصغّرة للإعلان أولاً تبلغ مدّة "إعلانات الملصقات الصغيرة" 6 ثوانٍ أو أقل. ويمكن أن تظهر في فيديوهات YouTube أو على المواقع الإلكترونية والتطبيقات التابعة للشركاء الشبكة الإعلانية: للتعرّف على التفاصيل الكاملة حول كلّ نوع من أنواع الإعلانات هذه، يمكنك الاطّلاع على لمحة عن أشكال إعلانات الفيديو.
إنشاء المجموعة الإعلانية
تُنشئ مجموعة إعلانية للفيديو من خلال
newVideoAdGroupBuilder()
لحملة الفيديو. تحتاج إلى تحديد نوع مجموعة إعلانية وإعلانًا
اسم المجموعة عند إنشاء المجموعة الإعلانية. يجب أن يكون نوع المجموعة الإعلانية من النوع
التالية، ولا يمكن تغييرها بعد إنشاء المجموعة الإعلانية:
TRUE_VIEW_IN_STREAM
TRUE_VIEW_IN_DISPLAY
BUMPER
VIDEO_RESPONSIVE
(لحملة واحدة (VIDEO_ACTION
) فقط)NON_SKIPPABLE_INSTREAM_VIDEO_AD
(لحملة واحدة (VIDEO_NON_SKIPPABLE
) فقط)
مثال:
const videoAdGroup =
videoCampaign.newVideoAdGroupBuilder()
.withAdGroupType("TRUE_VIEW_IN_STREAM")
.withName("Video Ad Group")
.build()
.getResult();
إنشاء مادة عرض الفيديو
يجب أن تشير إعلانات الفيديو بشكل عام إلى مادة عرض فيديو. يحدّد هذا الفيديو الفيديو الذي تريد مشاهدته.
التي سيتم تشغيلها للإعلان. لا يمكنك تحميل فيديو باستخدام النصوص البرمجية، ولكن يمكنك
ربط فيديو YouTube حالي سبق أن حمّلته لاستخدامه في إعلاناتك.
يمكنك القيام بذلك عن طريق إنشاء
Asset
مع
YouTubeVideoAssetBuilder
const assetOperation = AdsApp.adAsset().newYouTubeVideoAssetBuilder()
.withName("name")
// This is the ID in the URL for the YouTube video.
.withYouTubeVideoId(youTubeVideoId)
.build();
const videoAsset = assetOperation.getResult();
إنشاء الإعلان
لإنشاء إعلان جديد، استخدِم طريقة أداة الإنشاء التي تتطابق مع نوع المجموعة الإعلانية
(سلسلة بعد newVideoAd()
):
inStreamAdBuilder()
videoDiscoveryAdBuilder()
bumperAdBuilder()
responsiveVideoAdBuilder()
(لحملاتVIDEO_ACTION
فقط)nonSkippableAdBuilder()
(لحملاتVIDEO_NON_SKIPPABLE
فقط)
مثال:
const videoAd = videoAdGroup.newVideoAd()
.inStreamAdBuilder()
.withAdName("Video Ad")
.withFinalUrl(
"http://www.example.com/video-ad")
// Specify the video asset created in the last step.
.withVideo(video)
.build()
.getResult();
استهداف الفيديو
هناك نوعان مختلفان من الاستهداف الملائم لحملات الفيديو. تشير رسالة الأشكال البيانية
VideoCampaignTargeting
يمثل أي استهداف يتم على مستوى الحساب لحملات الفيديو
بشكل عام، ويتم الوصول إليه باستخدام AdsApp.videoCampaignTargeting()
. هذا النمط
لا يمكن تعديله من خلال النصوص البرمجية، ولكن يمكن عرضه.
يتيح لك النوع الآخر من الاستهداف تحديد معايير لحملات الفيديو
ومجموعات إعلانات الفيديو كل على حدة. يمكن الوصول إلى ذلك باستخدام
videoTargeting()
على الحملة أو المجموعة الإعلانية، وتوفّر إمكانية الوصول إلى
محددات ومنصات إنشاء لكل من المعايير الإيجابية والسلبية لجميع الأنواع
قابلة للتطبيق على هذا المستوى من الاستهداف. تشير رسالة الأشكال البيانية
AdsApp.videoTargeting()
تُستخدم أيضًا لعرض المعايير على مستوى الحساب، وتتضمّن
مجموعة معايير مختلفة من AdsApp.videoCampaignTargeting()
. أعجبني
VideoCampaignTargeting
، لا يمكنك إدارة هذه المعايير باستخدام النصوص البرمجية.
في ما يلي مثال على استبعاد موضع إعلان معيّن في إحدى الحملات:
videoCampaign.videoTargeting().newPlacementBuilder()
.withUrl("http://www.example.com")
.exclude();
تعمل معايير الخصائص الديمغرافية (العمر والجنس) بشكل مختلف قليلاً عن
أنواع المعايير الأخرى. عند إنشاء مجموعة إعلانية جديدة، معايير كل منها
يتم إنشاء قيمة العمر والجنس المحتملة تلقائيًا، وستجمع هذه المجموعة الإعلانية
تستهدف الجميع. يمكنك استبعاد فئة ديمغرافية من خلال جلب الفئة الحالية
واستهدافها واستدعاء طريقة exclude()
فيها، ويمكنك إعادة تضمين
الفئة الديمغرافية المستثناة من خلال العثور على استهداف الاستبعاد الحالي وطلب
include()
في ما يلي مثال على استبعاد جنس معيّن من مجموعة إعلانية:
const videoGenderIterator = videoAdGroup.videoTargeting()
.genders()
.withCondition('GenderType = "GENDER_MALE"')
.get();
if (videoGenderIterator.hasNext()) {
const videoGender = videoGenderIterator.next();
videoGender.exclude();
}