Google Ads में कई तरह के विज्ञापन दिखाए जा सकते हैं. जैसे, टेक्स्ट, इमेज, और मोबाइल विज्ञापन. इस गाइड में, Google Ads स्क्रिप्ट का इस्तेमाल करके विज्ञापन बनाने, उन्हें वापस पाने, और उनकी रिपोर्ट बनाने का तरीका बताया गया है. Google Ads के साथ काम करने वाले सभी विज्ञापन टाइप की खास जानकारी के लिए, एपीआई गाइड देखें.
कॉन्टेंट बनाने के
स्क्रिप्ट, AdGroup इंस्टेंस पर newAd() तरीके का इस्तेमाल करके विज्ञापन बना सकती हैं. इससे एक AdBuilderSpace मिलता है, जो विज्ञापन के साथ काम करने वाले टाइप के लिए बिल्डर बनाता है.
यहां दिए गए स्निपेट में, रिस्पॉन्सिव सर्च विज्ञापन बनाने का तरीका बताया गया है:
let adOperation = adGroup.newAd().responsiveSearchAdBuilder()
.withHeadlines(["Headline 1", "Headline 2", "Headline 3"])
.withDescriptions(["Description 1", "Description 2"])
.withFinalUrl("http://www.example.com")
.withPath1("path1")
.withPath2("path2")
.build();
कीड़ों की मौजूदगी की जांच करना
सभी तरह के विज्ञापनों से जुड़ी कुछ जानकारी, Ad से तुरंत मिल जाती है. जैसे, विज्ञापन का आईडी और मंज़ूरी की स्थिति. इसके अलावा, किसी भी विज्ञापन को रोका, चालू या हटाया जा सकता है.
विज्ञापन के टाइप के हिसाब से फ़ील्ड ऐक्सेस करने के लिए, AdViewSpace बनाने के लिए asType() तरीके का इस्तेमाल करें. जैसे, रिस्पॉन्सिव सर्च विज्ञापन के हेडलाइन.
इससे Ad के एक्सटेंशन वाले वर्शन का ऐक्सेस मिलता है. यह टाइप के हिसाब से खास तरीके उपलब्ध कराता है.
यहां दिया गया स्निपेट, हर रिस्पॉन्सिव सर्च विज्ञापन की हेडलाइन दिखाता है:
const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
let ad = iterator.next();
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
}
ध्यान दें कि Type = RESPONSIVE_SEARCH_AD शर्त यह पक्का करती है कि इटरेटर का हर विज्ञापन, रिस्पॉन्सिव सर्च विज्ञापन हो. गलत टाइप का विज्ञापन देखने की कोशिश करने पर, आपको एक गड़बड़ी दिखेगी. इससे आपकी स्क्रिप्ट का एक्ज़ीक्यूशन रुक जाएगा. इसलिए, किसी विज्ञापन का टाइप पता होने पर ही, टाइप के हिसाब से फ़ील्ड देखना ज़रूरी है.
यहां दिए गए स्निपेट में, Ad.isType() तरीके का इस्तेमाल करके, यह पता लगाने का तरीका बताया गया है कि विज्ञापन सही टाइप का है या नहीं:
if (ad.isType().responsiveSearchAd()) {
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
let descriptions = responsiveSearchAd.getDescriptions();
}
स्टैंडर्ड सिलेक्टर का इस्तेमाल करके, हेडलाइन टेक्स्ट के हिसाब से विज्ञापनों को फ़िल्टर नहीं किया जा सकता. हालांकि, उन्हें वापस पाने के बाद JavaScript में फ़िल्टर किया जा सकता है:
const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
let ad = iterator.next();
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
// Filter for ads containing a specific headline.
if (headlines.some(h => h.getText().includes("Special Offer"))) {
console.log(`Found ad with ID ${ad.getId()}`);
}
}
रिपोर्टिंग
ad_group_ad व्यू का इस्तेमाल, सामान्य आंकड़ों के साथ-साथ विज्ञापन फ़ील्ड के लिए क्वेरी करने के लिए भी किया जा सकता है. उदाहरण के लिए, ad_group_ad.ad.type का इस्तेमाल करके, विज्ञापन के टाइप के हिसाब से फ़िल्टर किया जा सकता है.
यहां दिए गए स्निपेट में, सभी रिस्पॉन्सिव सर्च विज्ञापनों के आंकड़े वापस पाने का तरीका बताया गया है:
const results = AdsApp.search(
"SELECT ad_group_ad.ad_group.id, " +
"ad_group_ad.ad.id, " +
"metrics.clicks, " +
"metrics.impressions, " +
"metrics.cost " +
"FROM ad_group_ad " +
"WHERE ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD' " +
"AND segments.date DURING LAST_7_DAYS");
while (results.hasNext()) {
let row = results.next();
let adId = row.adGroupAd.ad.id;
let clicks = row.metrics.clicks;
...
}
ऐसेट के कॉन्टेंट के हिसाब से फ़िल्टर करना
रिस्पॉन्सिव सर्च विज्ञापनों को उनकी हेडलाइन या ब्यौरे के कॉन्टेंट के हिसाब से बड़े पैमाने पर फ़िल्टर करने के लिए, ad_group_ad_asset_view संसाधन का इस्तेमाल करें. इस व्यू में, हर हेडलाइन और ब्यौरे को अलग-अलग लाइन के तौर पर दिखाया जाता है. इससे आपको ऐसेट के टेक्स्ट के हिसाब से फ़िल्टर करने की सुविधा मिलती है.
नीचे दिया गया स्निपेट, उन सभी रिस्पॉन्सिव सर्च विज्ञापनों के आंकड़े दिखाता है जिनमें कोई खास हेडलाइन शामिल है:
const results = AdsApp.search(
"SELECT ad_group_ad.ad.id, " +
"asset.text_asset.text, " +
"metrics.clicks, " +
"metrics.impressions " +
"FROM ad_group_ad_asset_view " +
"WHERE asset.text_asset.text LIKE '%Special Offer%' " +
"AND ad_group_ad_asset_view.field_type = 'HEADLINE'");
while (results.hasNext()) {
let row = results.next();
let adId = row.adGroupAd.ad.id;
let text = row.asset.textAsset.text;
let clicks = row.metrics.clicks;
console.log(`Ad ID ${adId} with headline "${text}" had ${clicks} clicks.`);
}
स्क्रिप्ट में रिपोर्टिंग के बारे में ज़्यादा जानने के लिए, रिपोर्ट गाइड देखें.