Kaynak, segment ve metrik alanlarıyla ilgili sorgular GoogleAdsService Search veya SearchStream yöntemlerine gönderilebilir. Google Ads Query Language'de bir sorgu oluşturmak için dil gramerini kullanarak sorguyu oluşturmanız gerekir. Google Ads Query Language'e genel bakış için Google Ads Query Language'e genel bakış başlıklı makaleyi inceleyin. Bir sorgu, çeşitli ifadelerden oluşur:
SELECTFROMWHEREORDER BYLIMITPARAMETERS
Yan tümceler, 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. Tek bir sorguda birleştirildiğinde Google Ads API kullanılarak istek gönderilebilir.
Maddeler
Aşağıdaki bölümlerde her bir Google Ads sorgu dili ifadesinin amacı ve söz dizimi açıklanmaktadır.
SEÇ
SELECT ifadesi, istekte getirilecek bir alan grubunu belirtir.
SELECT, virgülle ayrılmış bir kaynak alanı, segment alanı ve metrik listesi alır ve yanıttaki değerleri döndürür. Sorguda SELECT ifadesi zorunludur.
Aşağıdaki örnek sorguda, belirli bir kaynak için özellik seçme örneği gösterilmektedir:
SELECT
campaign.id,
campaign.name
FROM campaign
Tek bir istekte farklı alan türleri 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
- Ana kaynak alanları
campaign.idcampaign.name
- İlişkilendirilmiş kaynak alanları
bidding_strategy.idbidding_strategy.name
- Segment alanları
segments.devicesegments.date
- Metrikler
metrics.impressionsmetrics.clicks
- Seçilemeyen alanları sorgulama Bu alanların
selectablemeta veri özelliğifalseolarak işaretlenir. - Yinelenen alanların özelliklerini seçme Bu alanların
is_repeatedmeta veri özelliğitrueolarak işaretlenir. FROMYan tümcesinde, söz konusu kaynak için kullanılamayan alanların seçilmesi. Bazı kaynakların özellikleri birlikte seçilemez veFROMifadesinde kaynak için yalnızca tüm metriklerin ve segmentlerin bir alt kümesi kullanılabilir.- Birbiriyle uyumlu olmayan segmentleri veya metrikleri seçme Bu konu hakkında daha fazla bilgi için segmentasyon bölümüne bakın.
Önceki koşullarla ilgili bilgileri referans dokümanlarımızda veya GoogleAdsFieldService adresinde bulabilirsiniz.
FROM
FROM ifadesi, döndürülecek ana kaynağı belirtir. FROM ifadesindeki kaynak, belirli bir sorgu için diğer tüm ifadelerde hangi alanların kullanılabileceğini tanımlar. FROM ifadesinde yalnızca tek bir kaynak belirtilebilir. GoogleAdsService Arama veya SearchStream yöntemlerine yönelik bir sorguda FROM tümcesi zorunludur. Ancak GoogleAdsFieldService kullanılırken FROM tümcesi belirtilmemelidir.
Belirli bir sorgu için FROM tümcesinde yalnızca bir kaynak bulunabilir ancak ilişkilendirilmiş kaynaklardaki alanlar da kullanılabilir. Bu kaynaklar, FROM ifadesindeki kaynakla örtülü olarak birleştirilir. Bu nedenle, değerlerini döndürmek için yalnızca özelliklerini SELECT ifadesine eklemeniz gerekir. Tüm kaynaklarda ilişkilendirilmiş 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, sorguda açıkça seçilmemiş olmasına rağmen ad_group.resource_name yanıta dahil edilecek:
SELECT ad_group.id
FROM ad_group
En az bir alan seçildiğinde diğer kaynaklar için de aynı durum 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 veriler filtrelenirken uygulanacak koşulları belirtir. WHERE tümcesi kullanılırken bir veya daha fazla koşul belirtilebilir. Koşulları ayırmak için AND kullanılır. Koşullar genellikle field_name Operator value kalıbını izler (veya BETWEEN value AND value, IS NULL ya da IS NOT NULL kullanılır). WHERE ifadesi sorguda isteğe bağlıdır.
Aşağıda, belirli bir dönemdeki metrikleri döndürmek için WHERE kullanımına dair 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 örnek, son 30 gün içinde mobil cihazlarda gösterim alan tüm kampanyaların tıklama sayısını isteyecektir:
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 ifadesindeki segmentler, SELECT ifadesinde olmalıdır. Temel tarih segmentleri olarak adlandırılan aşağıdaki tarih segmentleri bu kuralın istisnasıdır:
segments.datesegments.weeksegments.monthsegments.quartersegments.year
Aşağıdaki sorguda segments.date öğesinin seçili olduğuna dikkat edin.
Bu segment temel bir tarih segmenti olduğundan, WHERE ifadesinde temel tarih segmentlerinden oluşan sınırlı bir tarih aralığı 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 segments.date, segments.week, segments.month, segments.quarter ve segments.year'dir. Bu segmentlerden herhangi biri seçilirse WHERE tümcesinde en az biri kullanılmalıdır.
Tarih filtreleme hakkında daha fazla bilgi için Tarih aralıkları başlıklı makaleyi inceleyin.
Filtreleme yaparken operatörünüzün büyük/küçük harfe duyarlılığını göz önünde bulundurmanız önemlidir. Daha fazla bilgi için Büyük/küçük harf duyarlılığı bölümüne bakın.
Operatörlerin tam listesi için dil gramerine bakın.
ORDER BY
ORDER BY ifadesi, sonuçların döndürülme sırasını belirtir. Bu özellik, verileri bir alan adına göre artan veya azalan düzende düzenlemenize olanak tanır. Her sıralama, field_name ile belirtilir ve ardından ASC veya DESC gelir. Ne ASC ne de DESC belirtilirse sıra varsayılan olarak ASC olur. ORDER BY ifadesi, sorgularda isteğe bağlıdır.
Aşağıdaki sorgu, döndürülen kampanyaları en yüksekten en düşüğe doğru tıklama sayısına göre sıralar:
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
Virgülle ayrılmış liste kullanarak ORDER BY ifadesinde birden fazla alan belirtebilirsiniz. Sıralama, sorguda belirtilen sırayla aynı şekilde yapılır.
Örneğin, bu sorguda reklam grubu verileri seçilirken sonuçlar önce kampanya adına göre artan düzende, ardından gösterim sayısına göre azalan düzende, son olarak 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ı belirtmenize olanak tanır.
Yalnızca özetle ilgileniyorsanız bu özellikten yararlanabilirsiniz.
Örneğin, LIMIT aşağıdaki sorgunun toplam sonuç sayısını kısıtlamak için 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 parametreler belirtmenize olanak tanır.
Bu parametreler, hangi türde satırların döndürüleceğini etkileyebilir.
Aşağıdaki meta parametreler desteklenir:
include_drafts
Taslak öğelerin 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 normal kampanyaların yanı sıra taslak kampanyaları da getirir:
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true
omit_unselected_resource_names
Yanıtın
bölümünde her kaynak türünün kaynak adının, SELECT ifadesinde açıkça
istenmediği sürece 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 ve campaign.resource_name olarak belirtilir ve
customer.resource_name,
SELECT ifadesinin 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 belirtilir ve campaign.resource_name, SELECT ifadesinin bir parçası olarak istenir.
|
Ek dil kuralları
Google Ads sorgu dili, her bir maddeyle ilgili örneklere ek olarak aşağıdaki davranışları da kullanabilir:
Sorgu için ana kaynak alanının
SELECTifadesinde olması gerekmez. Ö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 = PAUSEDMetrikler belirli bir kaynak için özel olarak seçilebilir. Sorguda kaynaktan başka alan gerekmez:
SELECT metrics.impressions, metrics.clicks, metrics.cost_micros FROM campaignSegmentasyon alanları, eşlik eden kaynak alanları veya metrikler olmadan seçilebilir:
SELECT segments.device FROM campaignresource_namealanı (ör.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'