Sorgu Yapısı

Kaynak, segment ve metrik alanlarıyla ilgili sorgular şu adrese gönderilebilir: GoogleAdsService Arama veya SearchStream yöntemlerine göz atın. Google Ads Sorgu Dili'nde bir sorgu oluşturmak için, sorguyu dil dilbilgisi. Bir sorgu, ifadeler:

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

Maddeler; alan adlarını, kaynak adlarını, operatörleri, koşulları ve sıralamaları kontrol edin. Tek bir öğede birleştirildiğinde Google Ads API kullanılarak istek yapılabilir.

Maddeler

. Video: GAQL Alan Uyumluluğu

SEÇ

SELECT ifadesi, istekte getirilecek alanları belirtir. SELECT, kaynak alanlarının ve segment alanlarının virgülle ayrılmış listesini alır. ve metrikleri birleştirerek yanıttaki değerleri döndürür. SELECT koşulu bir sorguda gereklidir.

Aşağıdaki örnek sorgu, belirli bir kaynak:

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 nedenlerden dolayı SELECT yan tümcesinde bazı alanlara izin verilmeyebilir kısıtlamalar:

  • Seçilemeyen sorgu alanları. Bu alanlarda, Selectable meta veri özelliği false olarak işaretlendi.
  • Yinelenen alanların özelliklerini seçme. Bu alanlarda, isRepeated meta veri özelliği true olarak işaretlendi.
  • FROM içinde belirtilen kaynak için mevcut olmayan alanları seçme ifadesini ekleyin. Bazı kaynakların özellikleri birlikte seçilemez, yalnızca tüm metriklerin ve segmentlerin bir alt kümesi, belirli bir süre içinde kaynak için FROM ifadesi
  • Birbiriyle uyumlu olmayan segmentleri veya metrikleri seçmek. Örneğin, Daha fazla bilgi için segmentasyon bölümünü inceleyin.

Yukarıdaki koşullarla ilgili bilgileri referans belgelerimizde bulabilirsiniz veya GoogleAdsFieldService tutarından başlayan fiyatlarla!

FROM

FROM ifadesi, döndürülecek ana kaynağı belirtir. İlgili içeriği oluşturmak için kullanılan FROM yan tümcesindeki kaynak, diğer tüm sitede hangi alanların kullanılabileceğini tanımlar ifadelerini ifade eder. FROM ifadesi FROM yan tümcesi GoogleAdsService Arama veya SearchStream yöntemleri vardır, ancak GoogleAdsFieldService.

Belirli bir sorgu için FROM yan tümcesinde yalnızca 1 kaynak olabilir ancak bazı alanlar ilişkilendirilen kaynaklar da bulunabilir. Bu kaynaklar FROM ifadesindeki kaynakla dolaylı olarak birleştirildi. Bu nedenle değerlerini döndürmek için özelliklerini SELECT yan tümcesine ekleyin. Bazı taraflar, kaynaklarda İlişkilendirilmiş Kaynaklar bulunuyor. Aşağıdaki örnekte reklam gruplarındaki reklam grubu kimliği ve kampanya kimliği:

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, yanıtı:

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, şunun yanıtına dahil edilecektir: şu sorgu:

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

WHERE

WHERE ifadesi, isteğinde bulunabilirsiniz. WHERE koşulunu kullanırken bir veya daha fazla koşul belirtilebilir AND kullanarak ayırın. Her koşul kalıbına uymalıdır field_name Operator value WHERE yan tümcesi sorgularda isteğe bağlıdır.

Aşağıda, belirli bir zamandaki metrikleri döndürmek için WHERE kullanımıyla ilgili bir örnek verilmiştir dönem:

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 örnekteki mobil cihazlarda gösterimi olan tüm kampanyaların tıklama sayısını son 30 gün içinde gösterilir.

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ümcesindeki segmentler, SELECT temel tarih segmentleri olarak adlandırılan aşağıdaki tarih segmentleri istisnalar bulunmaktadır:

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

Aşağıdaki sorguda segments.date öğesinin seçili olduğuna dikkat edin. Bu segment temel bir tarih segmenti olduğundan sonlu bir tarih gerektirir sağlanacak WHERE ifadesindeki temel tarih segmentlerinden oluşan aralık.

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: segmentleri.tarih, segmentler.hafta, Segmentler.month, segments.quarter ve segments.year. Bu segmentlerin herhangi biri seçildiğinde, WHERE ifadesinde bunlardan 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ı zihin. Daha ayrıntılı bilgi için Büyük/küçük harfe duyarlılık başlıklı makaleyi inceleyin.

Operatörlerin tam listesi için şu dile bakın: dilbilgisi.

ORDER BY

ORDER BY ifadesi, sonuçların hangi sırada gösterileceğini belirtir. geri döndü. Bu sayede verileri artan veya azalan düzende sıralayabilirsiniz bir alan adına göre. Her sıralama field_name ve ardından gelen değer olarak belirtilir ASC veya DESC. ASC veya DESC belirtilmezse sipariş varsayılanları ASC numaralı telefona. ORDER BY yan tümcesi sorgularda isteğe bağlıdır.

Aşağıdaki sorgu, döndürülen kampanyaları şu kampanyadan gelen tıklama sayısına göre sıralar: en yüksekten en düşüğe:

SELECT
  campaign.name,
  metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC

Virgülle ayrılmış değer kullanarak ORDER BY yan tümcesinde birden çok alan belirtebilirsiniz liste'ye dokunun. 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 sırada, ardından kampanya adına göre azalan sırada sayısı:

SELECT
  campaign.name,
  ad_group.name,
  metrics.impressions,
  metrics.clicks
FROM ad_group
ORDER BY
  campaign.name,
  metrics.impressions DESC,
  metrics.clicks DESC

LIMIT

LIMIT ifadesi, döndürülecek sonuç sayısını belirtmenizi sağlar. Bu, yalnızca özetle ilgileniyorsanız yararlı olur.

Örneğin, LIMIT sorgusu için toplam sonuç sayısını kısıtlamak amacıyla kullanılabilir. şu sorgu:

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 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 varlıkların döndürülmesine izin vermek için include_drafts öğesini true olarak ayarlayın. Varsayılan olarak false değerine ayarlanır.

Örneğin, aşağıdaki sorgu taslak kampanyaları normal kampanyalar:

SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true

omit_unselected_resource_names

Şu öğenin kaynak adını engellemek için omit_unselected_resource_names değerini true olarak ayarlayın: açıkça istenmediği sürece döndürülen yanıttaki her kaynak türü (SELECT deyimi) 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 ayarlanır. 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 belirtilmiş ve campaign.resource_name ile customer.resource_name SELECT yan tümcesinin 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 belirtilmiş ve campaign.resource_name şunun bir parçası olarak istekte bulundu: SELECT ifadesi.

Ek dil kuralları

Her bir ifadeye yönelik örneklere ek olarak, Google Ads Sorgu Dili şu özelliklere sahiptir: davranış biçimleri var:

  • Ana kaynak alanının SELECT içinde olması gerekmez ifadesini kullanabilirsiniz. Örneğin, yalnızca bir veya daha fazla ana kaynak alanları:

    SELECT campaign.id
    FROM ad_group
    WHERE ad_group.status = PAUSED
    
  • Metrikler belirli bir kaynak için özel olarak seçilebilir; başka alan yok koşullarının sorguda bulunması gerekir:

    SELECT
      metrics.impressions,
      metrics.clicks,
      metrics.cost_micros
    FROM campaign
    
  • Segmentasyon alanları, eşlik eden kaynak alanları olmadan seçilebilir veya metrikler:

    SELECT segments.device FROM campaign
    
  • resource_name alanı (örneğin, campaign.resource_name) şöyle olabilir: Verileri filtrelemek veya sıralamak için kullanılır:

    SELECT
      campaign.id,
      campaign.name
    FROM campaign
    WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'