Sorgu Yapısı

Kaynak, segment ve metrik alanları için sorgular GoogleAdsService Search veya SearchStream yöntemlerine gönderilebilir. Google Ads sorgu dilinde sorgu oluşturmak için dil dil bilgisini kullanmanız gerekir. Sorgular bir dizi yan tümceden oluşur:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT
  • PARAMETERS

Doğru verileri seçmenize yardımcı olmak için alan adları, kaynak adları, operatörler, koşullar ve sıralama gibi ifadelerin kullanıldığı yan tümceler. Tek bir sorguda birleştirildikten sonra Google Ads API kullanılarak istek gönderilebilir.

Cümleler

Video: GAQL Alan Uyumluluğu

SEÇ

SELECT yan tümcesi, istekte getirilecek bir alan grubunu belirtir. SELECT, kaynak alanlarının, segment alanlarının ve metriklerin virgülle ayrılmış bir listesini alır ve değerleri yanıtta döndürür. SELECT yan tümcesi bir sorguda zorunludur.

Aşağıdaki örnek sorguda, belirli bir kaynak için özelliklerin nasıl seçileceğ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
  • 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ı sorgulamak. Bu alanların Selectable meta veri özelliği false olarak işaretlenir.
  • Yinelenen alanların özelliklerini seçme. Bu alanların isRepeated meta veri özelliği true olarak işaretlenir.
  • FROM yan tümcesinde, belirli bir kaynak için kullanılamayan alanları seçme Bazı kaynakların özellikleri birlikte seçilemez. Ayrıca, FROM yan tümcesinde kaynak için yalnızca tüm metriklerin ve segmentlerin bir alt kümesi kullanılabilir.
  • Birbiriyle uyumlu olmayan segmentler veya metrikler seçilmesi. Bu konuda daha fazla bilgi için segmentlere ayırma bölümüne bakın.

Yukarıdaki koşullarla ilgili bilgileri referans dokümanlarımızda veya GoogleAdsFieldService adresinde bulabilirsiniz.

FROM

FROM yan tümcesi, döndürülecek ana kaynağı belirtir. FROM yan tümcesinde yer alan kaynak, belirli bir 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 yan tümcesi, GoogleAdsService Search veya SearchStream yöntemlerine yönelik bir sorguda zorunludur ancak GoogleAdsFieldService kullanılırken belirtilmemelidir.

Belirli bir sorgu için FROM yan tümcesinde yalnızca 1 kaynak bulunabilir ancak ilişkilendirilmiş kaynaklardan gelen alanlar da kullanılabilir. Bu kaynaklar, FROM yan tümcesinde kaynakla örtülü olarak birleştirilir. Bu nedenle, değerlerini döndürmek için yalnızca özelliklerini SELECT yan tümcesine 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, ad_group.resource_name sorguda açıkça seçilmemesine rağmen yanıta dahil edilir:

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 yan tümcesi, istek için veriler filtrelenirken uygulanacak koşulları belirtir. WHERE yan tümcesi kullanılırken AND kullanılarak bir veya daha fazla koşul belirtilebilir. Her koşul field_name Operator value kalıbına uygun olmalıdır. WHERE yan tümcesi bir sorguda isteğe bağlıdır.

Aşağıda, belirli bir dönemdeki metrikleri döndürmek için WHERE işlevinin 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 örnekte, son 30 gün içinde mobil cihazlarda gösterimi olan tüm kampanyaların tıklama sayısı istenir.

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 yan tümcesinde yer alan segmentler, SELECT yan tümcesinde yer almalıdır. Temel tarih segmentleri olarak adlandırılan aşağıdaki tarih segmentleri ise istisnadır:

  • segments.date
  • segments.week
  • segments.month
  • segments.quarter
  • segments.year

Aşağıdaki sorguda segments.date değerinin seçili olduğunu unutmayın. Bu segment temel bir tarih segmenti olduğundan, WHERE yan tümcesinde temel tarih segmentlerinden oluşan sonlu bir tarih aralığı sağlanmalıdır.

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. Bu segmentlerden herhangi biri seçilirse bunlardan en az biri WHERE yan tümcesinde kullanılmalıdır.

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 dil bilgisine bakın.

ORDER BY

ORDER BY yan tümcesi, sonuçların döndürüleceği sırayı belirtir. Bu sayede verileri bir alan adına göre artan veya azalan düzende düzenleyebilirsiniz. Her sıralama, field_name ve ardından ASC veya DESC olarak belirtilir. ASC veya DESC belirtilmezse sipariş varsayılan olarak ASC olur. ORDER BY yan tümcesi bir 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 belirtildiği şekilde yapılır. Örneğin, reklam grubu verilerini seçen bu sorguda sonuçlar kampanya adına göre artan düzende, ardından gösterim sayısına göre azalan düzende, ardından 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

SINIRLAMA

LIMIT yan tümcesi, döndürülecek sonuç sayısını belirtmenize olanak tanır. Yalnızca özetle ilgileniyorsanız bu seçenek kullanışlıdır.

Ö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 yan tümcesi, istek için meta parametreler belirtmenize olanak tanır. Bu parametreler, döndürülen satır türlerini etkileyebilir.

Şu anda aşağıdaki meta parametreler desteklenmektedir:

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 kampanyalarla birlikte taslak kampanyaları da getirir:

SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true

omit_unselected_resource_names

Yanıttaki her kaynak türünün kaynak adının, SELECT yan tümcesinde 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
customer.resource_name

omit_unselected_resource_names varsayılan olarak false değerine ayarlandığından 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 ile customer.resource_name, SELECT yan tümcesinin 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 yan tümcesinin bir parçası olarak istenir.

Ek dil kuralları

Google Ads sorgu dilinde, her yan tümceyle ilgili örneklerin yanı sıra kullanılabilecek aşağıdaki davranışlar da vardır:

  • Ana kaynak alanının bir sorgunun SELECT yan tümcesinde olması zorunludur. Ö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 yalnızca belirli bir kaynak için seçilebilir. Sorguda kaynaktaki başka 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ı (ö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'