Ürün grupları için betik örnekleri
Aşağıdaki bölümlerde, ürün gruplarını alan ve teklif tutarlarını güncelleştiren betik örnekleri gösterilir.
Ürün gruplarını alma
Bir hesaptaki tüm ürün gruplarını almak için AdsApp.productGroups() yöntemini kullanın.
function main() {
var productGroups = AdsApp.productGroups().get();
while (productGroups.hasNext()) {
var productGroup = productGroups.next();
switch (productGroup.getDimension()) {
case "ROOT": {
break;
}
case "CATEGORY": {
var category = productGroup.getValue();
break;
}
case "CHANNEL": {
var channel = productGroup.getValue();
break;
}
case "CHANNEL_EXCLUSIVITY": {
var channelExclusivity = productGroup.getValue();
break;
}
case "BRAND": {
var brand = productGroup.getValue();
break;
}
case "CONDITION": {
var condition = productGroup.getValue();
break;
}
case "CUSTOM_LABEL": {
// It's only necessary to cast the product group to a CustomLabel product
// group if you need to get the label's name (i.e., CustomLabel0).
var customLabel = productGroup.asCustomLabel();
var labelType = customLabel.getType();
var labelValue = customLabel.getValue();
break;
}
case "ITEM_ID": {
var id = productGroup.getValue();
break;
}
case "PRODUCT_TYPE": {
// It's only necessary to cast the product group to a ProductType product
// group if you need to get the type's name (i.e., PRODUCT_TYPE_1).
var productType = productGroup.asProductType();
var typeName = productType.getType();
var typeValue = productType.getValue());
break;
}
}
}
}
Bir diğer seçenek de ürün gruplarını alışveriş kampanyalarına veya alışveriş reklam gruplarına göre almaktır. Ürün gruplarını reklam gruplarına göre almak için önce AdsApp.shoppingAdGroups() yöntemini çağırın ve ardından AdGroup.productGroups() yöntemini çağırın. Kampanyalar için benzer şekilde AdsApp.shoppingCampaigns() ve Campaign.productGroups() yöntemlerini çağırırsınız.
function main() {
var shoppingAdGroups = AdsApp.shoppingAdGroups()
.get();
while (shoppingAdGroups.hasNext()) {
var adGroup = shoppingAdGroups.next();
var productGroups = adGroup.productGroups().get();
while (productGroups.hasNext()) {
var productGroup = productGroups.next();
switch (productGroup.getDimension()) {
case "ROOT": {
break;
}
case "CATEGORY": {
var category = productGroup.getValue();
break;
}
case "CHANNEL": {
var channel = productGroup.getValue();
break;
}
case "CHANNEL_EXCLUSIVITY": {
var channelExclusivity = productGroup.getValue();
break;
}
case "BRAND": {
var brand = productGroup.getValue();
break;
}
case "CONDITION": {
var condition = productGroup.getValue();
break;
}
case "CUSTOM_LABEL": {
// It's only necessary to cast the product group to a CustomLabel product
// group if you need to get the label's name (i.e., CustomLabel0).
var customLabel = productGroup.asCustomLabel();
var labelType = customLabel.getType();
var labelValue = customLabel.getValue();
break;
}
case "ITEM_ID": {
var id = productGroup.getValue();
break;
}
case "PRODUCT_TYPE": {
// It's only necessary to cast the product group to a ProductType product
// group if you need to get the type's name (i.e., PRODUCT_TYPE_1).
var productType = productGroup.asProductType();
var typeName = productType.getType();
var typeValue = productType.getValue());
break;
}
}
}
}
}
Koşulları uygulama
Ürün gruplarının listesini filtrelemek için withCondition yöntemini kullanın. kullanarak withCondition
, ürün gruplarını tıklamalar ve dönüştürmeler gibi standart ölçüm değerlerine göre filtreleyebilir, ancak teklif tutarına ve ürün grubuna göre de filtreleyebilirsiniz.
Aşağıdaki örnekte, yol "Tüm ürünler > Spor Ürünleri > Kış Sporları > Kayak > Kayakları Yenilenmiş > Kros Kayakları" ise Skis > ürün grubunun nasıl alınıp alınmadığını gösterir.
function main() {
var shoppingAdGroup = AdsApp.shoppingAdGroups().withIds(["123456789"]).get().next();
var productGroups = shoppingAdGroup.productGroups()
.withCondition("ProductGroup = skis")
.get();
while (productGroups.hasNext()) {
var group = productGroups.next();
}
}
Skis, Yenilenmiş koşula göre alt bölümlere ayrılmış olduğundan yanıt, seçilen Skis ürün grubunu ve Yenilenmiş için OtherCase ürün grubunu içerir.
dimension CATEGORY
value Skis
cpc null
parent 4578503857653096
dimension CONDITION
value OtherCase
cpc 1
parent 4578503857653099
Ürün grubunun teklifini güncelleştirme
Genellikle, performans kötü olduğunda teklifleri artırmak ve performans iyi olduğunda teklifleri azaltmak istersiniz. Bu örnekte, düşük performans gösteren ürün gruplarının nasıl alınacağını ve teklif miktarının nasıl artırıldığını gösterir. (Bu örnekte, düşük performanslı grupları belirlemek için tıklamalar ve dönüştürme oranları kullanılır, ancak sizin için uygun ölçümleri ve eşikleri kullanmanız gerekir.)
function main() {
var shoppingAdGroup = AdsApp.shoppingAdGroups().withIds(["123456789"]).get().next();
var productGroups = shoppingAdGroup.productGroups()
.withCondition("Clicks < 30")
.withCondition("ClickConversionRate < .25")
.forDateRange("LAST_MONTH")
.get();
var groupsToUpdate = [];
while (productGroups.hasNext()) {
groupsToUpdate.push(productGroups.next());
}
for (var group of groupsToUpdate) {
group.setMaxCpc(.35);
}
}