Kaynak, segment ve metrik alanları için sorgular GoogleAdsService
Search veya SearchStream yöntemlerine gönderilebilir. Google Ads Sorgu Dili ile sorgu oluşturmak için bu sorguyu dil dilbilgisi ile oluşturmanız gerekir. Sorgu, bir dizi maddeden oluşur:
SELECT
FROM
WHERE
ORDER BY
LIMIT
PARAMETERS
Maddeler, doğru verileri seçmenize yardımcı olmak için alan adlarını, kaynak adlarını, operatörleri, koşulları ve sıralamaları kullanır. Birleştirildikten sonra, Google Ads API kullanılarak bir istek gönderilebilir.
Maddeler
SELECT
SELECT
ifadesi, istekte getirilecek bir grup alanı belirtir.
SELECT
; kaynak alanlarının, segment alanlarının ve metriklerin virgülle ayrılmış bir listesini alarak yanıttaki değerleri döndürür. SELECT
deyimi bir sorguda zorunludur.
Aşağıdaki örnek sorgu, belirli bir kaynak için özellik seçme örneğini gösterir:
SELECT
campaign.id,
campaign.name
FROM campaign
Tek bir istekte farklı alan türlerini isteyebilirsiniz. Örneğin:
SELECT
campaign.id,
campaign.name,
bidding_strategy.id,
bidding_strategy.name,
segments.device,
segments.date,
metrics.impressions,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Kaynak alanları
campaign.id
campaign.name
Kaynak alanları
bidding_strategy.id
bidding_strategy.name
Segment alanları
segments.device
segments.date
Metrikler
metrics.impressions
metrics.clicks
Aşağıdaki kısıtlamalar nedeniyle SELECT
yan tümcesinde bazı alanlara izin verilmeyebilir:
- Seçilemeyen alanları sorguluyor. Bu alanların
Selectable
meta veri özelliğifalse
olarak işaretlenir. - Tekrarlanan alanların özelliklerini seçme. Bu alanların
isRepeated
meta veri özelliğitrue
olarak işaretlenir. FROM
yan tümcesinde belirtilen kaynak için kullanılamayan alanları seçme. Bazı kaynakların özellikleri birlikte seçilemez. Ayrıca,FROM
ifadesinde kaynak için tüm metriklerin ve segmentlerin yalnızca bir alt kümesi kullanılabilir.- Birbiriyle uyumlu olmayan segmentleri veya metrikleri seçmek. Bu konu hakkında daha fazla bilgi için segmentasyon bölümüne bakın.
Yukarıdaki koşullarla ilgili bilgileri referans belgelerimizde veya GoogleAdsFieldService
adresinde bulabilirsiniz.
FROM
FROM
deyimi, döndürülecek ana kaynağı belirtir. FROM
yan tümcesindeki kaynak, belirtilen sorgu için diğer tüm yan tümcelerde hangi alanların kullanılabileceğini tanımlar. FROM
yan tümcesinde yalnızca tek bir kaynak belirtilebilir. FROM
ifadesi, GoogleAdsService
Search veya SearchStream yöntemleri için yapılan bir sorguda zorunludur ancak GoogleAdsFieldService
kullanılırken belirtilmemesi gerekir.
Belirli bir sorgunun FROM
yan tümcesinde yalnızca 1 kaynak bulunabilir. Bununla birlikte, İlişkilendirilmiş Kaynaklar'daki alanlar da kullanılabilir. Bu kaynaklar FROM
yan tümcesindeki kaynakla dolaylı olarak birleştirilir. Bu nedenle, değerlerini döndürmek için yalnızca özelliklerini SELECT
ifadesine eklemeniz gerekir. Tüm kaynaklarda İlişkilendirilen Kaynaklar yoktur. Aşağıdaki örnekte, reklam gruplarından hem reklam grubu kimliğini hem de kampanya kimliğini isteyebilirsiniz:
SELECT
campaign.id,
ad_group.id
FROM ad_group
Ana kaynağın resource_name
alanı her zaman döndürülür.
Aşağıdaki örnekte ad_group.resource_name
, sorguda açıkça seçilmemesine rağmen yanıta dahil edilecektir:
SELECT ad_group.id
FROM ad_group
Aynı durum, en az bir alan seçildiğinde diğer kaynaklar için de geçerlidir.
Örneğin: campaign.resource_name
, aşağıdaki sorgunun yanıtına dahil edilir:
SELECT
campaign.id,
ad_group.id
FROM ad_group
WHERE
WHERE
ifadesi, istek için verileri filtrelerken uygulanacak koşulları belirtir. WHERE
ifadesi kullanıldığında, bunları ayırmak için AND
kullanılarak bir veya daha fazla koşul belirtilebilir. Her koşul field_name Operator value
kalıbına uymalıdır. WHERE
deyimi sorguda isteğe bağlıdır.
Aşağıda, belirli bir dönemdeki metrikleri döndürmek için WHERE
özelliğinin kullanımına bir örnek verilmiştir:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Verileri filtrelemek için birden fazla koşulu birleştirebilirsiniz. Bu örnekte, son 30 gün içinde mobil cihazlarda gösterim almış tüm kampanyalar için tıklama sayısı istenecek.
SELECT
campaign.id,
campaign.name,
segments.device,
metrics.clicks
FROM campaign
WHERE metrics.impressions > 0
AND segments.device = MOBILE
AND segments.date DURING LAST_30_DAYS
WHERE
yantümcesindeki segmentler, temel tarih segmentleri olarak adlandırılan aşağıdaki tarih segmentleriyle SELECT
ifadesinde olmalıdır. İstisnalar şunlardır:
segments.date
segments.week
segments.month
segments.quarter
segments.year
Aşağıdaki sorguda segments.date
değerinin seçildiğini unutmayın.
Bu segment temel bir tarih segmenti olduğundan, WHERE
ifadesindeki temel tarih segmentlerinden oluşan sınırlı bir tarih aralığının sağlanması gerekir.
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Yukarıdaki koşulu karşılayan tüm segmentler şunlardır: segments.date, segments.week, segments.month, segments.quarter ve segments.year. Bu segmentlerden herhangi biri seçilirse WHERE
ifadesinde en az biri kullanılmalıdır.
Filtreleme sırasında operatörünüzün büyük/küçük harfe duyarlılığını göz önünde bulundurmanız gerekir. Daha ayrıntılı bilgi için Büyük/küçük harfe duyarlılık bölümüne bakın.
Operatörlerin tam listesi için dil dil bilgisine bakın.
ORDER BY
ORDER BY
yantümcesi, sonuçların hangi sırayla döndürüleceğini belirtir. Bu, verileri alan adına göre artan veya azalan sırada düzenlemenize olanak tanır. Her bir sıralama, bir field_name
ve ardından
ASC
veya DESC
ile belirtilir. ASC
veya DESC
belirtilmezse sıra varsayılan olarak ASC
olur. ORDER BY
deyimi sorguda isteğe bağlıdır.
Aşağıdaki sorgu, döndürülen kampanyaları tıklama sayısına göre en yüksekten en düşüğe doğru sıralar:
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
Virgülle ayrılmış bir liste kullanarak ORDER BY
yan tümcesinde birden fazla alan belirtebilirsiniz. Sıralama, sorguda belirtilen sırayla gerçekleşir.
Örneğin, reklam grubu verilerinin seçildiği bu sorguda sonuçlar, kampanya adına göre artan düzende, ardından gösterim sayısına göre azalan düzende, sonra da tıklama sayısına göre azalan düzende sıralanır:
SELECT
campaign.name,
ad_group.name,
metrics.impressions,
metrics.clicks
FROM ad_group
ORDER BY
campaign.name,
metrics.impressions DESC,
metrics.clicks DESC
SINIR
LIMIT
ifadesi, döndürülecek sonuç sayısını belirtmenizi sağlar.
Bu, yalnızca bir özetle ilgileniyorsanız yararlı olur.
Örneğin, aşağıdaki sorgu için toplam sonuç sayısını kısıtlamak amacıyla LIMIT
kullanılabilir:
SELECT
campaign.name,
ad_group.name,
segments.device,
metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50
PARAMETRELER
PARAMETERS
ifadesi, istek için meta parametreleri belirtmenizi sağlar.
Bu parametreler, ne tür satırların döndürüleceğini etkileyebilir.
Şu anda, aşağıdaki meta parametreler desteklenmektedir:
include_drafts
Taslak varlıkların döndürülmesine izin vermek için include_drafts
değerini true
olarak ayarlayın.
Varsayılan olarak false
değerine ayarlanır.
Örneğin, aşağıdaki sorgu taslak kampanyaları normal kampanyalarla birlikte getirir:
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true
omit_unselected_resource_names
SELECT
yan tümcesinde açıkça istenmediği sürece yanıttaki her kaynak türünün kaynak adının döndürülmesini önlemek için omit_unselected_resource_names
değerini true
olarak ayarlayın. Varsayılan olarak false
değerine ayarlanır.
omit_unselected_resource_names örnekleri | |
---|---|
SELECT campaign.name, customer.id FROM campaign |
Returned resources:campaign.resource_name
omit_unselected_resource_names varsayılan olarak false değerine ayarlanır, bu nedenle tüm resource_name alanları döndürülür.
|
SELECT campaign.name, customer.id FROM campaign PARAMETERS omit_unselected_resource_names = true |
Returned resources: Yok. omit_unselected_resource_names , true olarak belirtilir
ve campaign.resource_name ve customer.resource_name
SELECT koşulunun bir parçası değildir.
|
SELECT campaign.name, campaign.resource_name FROM campaign PARAMETERS omit_unselected_resource_names = true |
Returned resource:campaign.resource_name
omit_unselected_resource_names , true
olarak belirtildi ve campaign.resource_name ,
SELECT yan tümcesinin bir parçası olarak istendi.
|
Ek dil kuralları
Her bir madde için verilen örneklere ek olarak, Google Ads Sorgu Dili'nde aşağıdaki davranışlar da kullanılabilir:
Ana kaynak alanının bir sorgunun
SELECT
yan tümcesinde yer alması için zorunlu değildir. Örneğin, verileri filtrelemek için yalnızca bir veya daha fazla ana kaynak alanı kullanmak isteyebilirsiniz:SELECT campaign.id FROM ad_group WHERE ad_group.status = PAUSED
Metrikler belirli bir kaynak için özel olarak seçilebilir. Sorguda, kaynaktan başka herhangi bir alan gerekmez:
SELECT metrics.impressions, metrics.clicks, metrics.cost_micros FROM campaign
Segmentasyon alanları, eşlik eden kaynak alanları veya metrikler olmadan seçilebilir:
SELECT segments.device FROM campaign
resource_name
alanı (örneğin,campaign.resource_name
) verileri filtrelemek veya sıralamak için kullanılabilir:SELECT campaign.id, campaign.name FROM campaign WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'