Sorgular, SELECT,
FROM,
WHERE,
ORDER BY,
LIMIT ve PARAMETERS gibi çeşitli kısımlardan oluşur.
Cümleler, tek bir sorgu isteği olarak birleştirilen alan adlarını, kaynak adlarını, operatörleri, koşulları ve sıralama türlerini kullanır.
Temel olarak, sorgu oluşturmak için:
- Verilerin alınacağı bir kaynak belirtin.
- Döndürmek istediğiniz verileri tanımlamak için alanlar ve metrikler ekleyin.
- Sonuçlarınızı gruplandırmak için segmentler ekleyin.
- İlgili kaynak verilerini dolaylı olarak birleştirmek için ilişkilendirilmiş kaynaklar ekleyin.
- Sonuçlarınızı filtreleyin, sıralayın ve sınırlayın.
SELECT koşulu
SELECT koşulu:
- Sorguda zorunlu bir yan tümcedir.
- İstekte getirilecek bir alan grubunu belirtir.
- Kaynak alanlarının, özel sütunların, özel Floodlight değişkenlerinin, segment alanlarının ve metriklerin virgülle ayrılmış bir listesini alır ve yanıtta değerleri döndürür.
Bu örnek sorguda, campaign kaynağının özelliklerinin nasıl seçileceği gösterilmektedir:
SELECT
campaign.id,
campaign.name
FROM campaign
Birden fazla alan türü
Aynı istekte farklı alan türleri isteyebilirsiniz.
Aşağıdaki örnek sorguda aşağıdakilerin bir kombinasyonunu içeren tek bir sorgu gösterilmektedir:
- Kaynak alanları:
campaign.id,campaign.name,bidding_strategy.idvebidding_strategy.name. - Segment alanları:
segments.devicevesegments.date. - Metrik alanları:
metrics.impressionsvemetrics.clicks.
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
Arama raporlarınızı segmentlere ayırma hakkında daha fazla bilgi edinmek için Segmentasyon başlıklı makaleyi inceleyin.
Ana kaynak alanı
Genellikle ana kaynak alanınızı SELECT yan tümcesine dahil edersiniz ancak bu isteğe bağlıdır (zorunlu değildir).
Bu örnek sorgu, yalnızca sonuçları filtrelemek için bir ana kaynak alanı (ad_group.status) kullanır.
SELECT campaign.id
FROM ad_group
WHERE ad_group.status = PAUSED
Özel Floodlight değişkenleri
Özel Floodlight değişkenlerini kimliklerini kullanarak SELECT yan tümcesine dahil edebilirsiniz.
Bu örnekte sorgu, kampanya kaynağı için 123454321 kimlikli bir özel değişken içerir.
SELECT
conversion_custom_metrics.id[123454321]
FROM campaign
SELECT
conversion_custom_dimensions.id[123454321]
FROM campaign
Özel sütunlar
SELECT yan tümcesine kimliklerini kullanarak özel sütunlar ekleyebilirsiniz.
Bu örnekte sorgu, kampanya kaynağı için 12345678 kimlikli bir özel sütun içerir.
SELECT
custom_columns.id[12345678]
FROM campaign
Özel sütun kimliklerini nasıl alacağınızı öğrenin.
Metrik alanları
SELECT yan tümcesine kaynaktaki başka alanları eklemeden belirli bir kaynak için metrik alanları seçebilirsiniz.
Bu örnek sorgu, campaign kaynağı için impressions ve clicks metriklerini seçer.
SELECT
metrics.impressions,
metrics.clicks
FROM campaign
Sorgularınızda kullanabileceğiniz metrik alanlarının listesi için metrics bölümüne bakın.
Segment alanları
SELECT yan tümcesinde eşlik eden kaynak alanları veya metrikleri belirtmeden segment alanları seçebilirsiniz.
Bu örnek sorgu, sonuçları cihaza göre segmentlere ayırır.
SELECT segments.device
FROM campaign
Sorgularınızda kullanabileceğiniz segment alanlarının listesi için segments bölümüne bakın.
Yasaklı alanlar
SELECT yan tümcesinde aşağıdaki alanları kullanamazsınız:
- Seçilemeyen alanlar (yani
Selectablemeta veri özelliğifalseolarak işaretlenmiş alanlar). - Yinelenen alanlar (yani
Repeatedmeta veri özelliğitrueolarak işaretlenmiş alanlar). FROMyan tümcesinde belirtilen kaynak için kullanılamayan alanlar. Bazı kaynakların özellikleri birlikte seçilemez. Bazı kaynaklar yalnızca tüm metriklerin ve segmentlerin bir alt kümesini sunar.- Uyumsuz segmentler veya metrikler. Daha fazla bilgi için Segmentasyon bölümüne bakın.
Her kaynak için bu bilgileri nerede bulabileceğinizle ilgili ayrıntılar için Referans belgelerine bakın.
FROM koşulu
FROM koşulu:
SearchAds360Service(hemSearchhem deSearchStreamyöntemleri) ile ilgili sorgular için zorunlu bir yan tümcedir.SearchAds360FieldServiceadresine yapılan sorgularda dahil edilmemelidir.- Sorgunun döndürdüğü ana kaynağı belirtir.
- Yalnızca tek bir kaynak belirtilebilir.
- Sorgudaki diğer tüm yan tümcelerde kullanabileceğiniz alanları tanımlar.
İlişkilendirilen kaynaklar
İlişkilendirilmiş kaynaklar mevcutsa FROM yan tümcesinde belirttiğiniz kaynakla dolaylı olarak birleştirilir. Değerlerini döndürmek için bu öğelerin özelliklerini SELECT yan tümcesine eklemeniz yeterlidir.
campaign, ad_group kaynağının ilişkilendirilmiş bir kaynağı olduğu için bu örnek sorgu hem reklam grubu kimliğini hem de kampanya kimliğini döndürür.
SELECT
campaign.id,
ad_group.id
FROM ad_group
resource_name alanı
FROM yan tümcesinde ana kaynağın resource_name alanı her zaman döndürülür.
Bu örnek sorguda, ad_group.resource_name sorgu içinde açıkça seçilmemiş olsa bile yanıta dahil edilir:
SELECT ad_group.id
FROM ad_group
En az bir alan seçildiğinde özellik atanmış bir kaynağın resource_name alanı döndürülür.
Bu örnek sorguda, campaign.id seçildiğinden campaign.resource_name yanıta dahil edilir:
SELECT
campaign.id,
ad_group.id
FROM ad_group
WHERE koşulu
WHERE koşulu:
- Sorgudaki isteğe bağlı bir yan tümcedir.
- İsteğin verilerini filtreleme ve segmentlere ayırma koşullarını belirtir.
Koşullar şu kalıptadır:
FIELD_NAMEOPERATORVALUE(boşluklarla ayrılır). ANDayırıcıyla ayrılmış birden fazla koşul içerebilir.
Bu örnek sorguda, belirli bir döneme ait impressions metriklerini döndürmek için WHERE yan tümcesinin nasıl kullanılacağı gösterilmektedir:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Arama raporlarınızı segmentlere ayırma hakkında daha fazla bilgi edinmek için Segmentasyon başlıklı makaleyi inceleyin.
Sorgularınızda tarih aralıkları belirtme hakkında daha fazla bilgi edinmek için Tarih aralıkları başlıklı makaleyi inceleyin.
resource_name alanına göre filtreleme
Verileri filtrelemek veya sıralamak için resource_name alanını kullanabilirsiniz.
Bu örnek sorgu, sonuçları belirli bir kampanyaya göre filtrelemek için campaign.resource_name alanını kullanır:
SELECT
campaign.id,
campaign.name
FROM campaign
WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'
Birden fazla koşul
Verilerinizi filtrelemek için birden fazla koşulu birleştirebilirsiniz.
Bu örnek sorgu, son 30 gün içinde mobil cihazlarda impressions metriği olan tüm kampanyalar için clicks metriklerinin sayısını ister.
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
Raporlarınızı segmentlere ayırma hakkında daha fazla bilgi edinmek için Segmentlere ayırma bölümüne bakın.
Büyük/küçük harfe duyarlılık
Dize değerlerinde filtreleme yaparken her operatörün varsayılan büyük/küçük harf duyarlılığı, sonuçlarınızı doğru şekilde filtrelemede önemli bir rol oynar.
Aşağıdaki tabloda, her operatörün varsayılan büyük/küçük harf duyarlılığı gösterilmektedir.
| Varsayılan büyük/küçük harfe duyarlılık | |
|---|---|
=/!= |
Case sensitive |
IN/NOT IN |
Case sensitive |
LIKE/NOT LIKE |
Case insensitive |
CONTAINS (...) |
Case sensitive |
REGEXP_MATCH/NOT REGEXP_MATCH |
Case sensitive |
REGEXP_MATCH ve NOT REGEXP_MATCH için varsayılan hassasiyeti büyük/küçük harf duyarlı olmayan olarak değiştirmek üzere (?i) değiştiricisini kullanabilirsiniz. Örneğin:
SELECT campaign.id
FROM campaign
WHERE campaign.name REGEXP_MATCH "(?i).*test.*"
Verilerinizi filtrelemek için kullanabileceğiniz operatörlerin tam listesi için Sorgu dil referansı başlıklı makaleyi inceleyin.
Temel tarih segmentleri
Aşağıdaki segment alanları temel tarih segmentleri olarak bilinir:
segments.date, segments.week, segments.month, segments.quarter ve
segments.year.
Bir tarih veya saat aralığı belirtmek için WHERE yan tümcenizde temel tarih segmentlerini kullanabilirsiniz.
Bu örnek sorgu, WHERE yan tümcesinde segments.date alanı için DURING LAST_30_DAYS değerini belirtir:
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Temel tarih segmentlerini kullanma hakkında ayrıntılı bilgi için Segmentasyon > Temel tarih segmentleri bölümüne bakın.
Yasaklanmış filtreleme
Filtrelemeye izin verilmez:
- Temel tarih segmentleri hariç, seçilmemiş segment alanlarında.
- Temel öğeler (ör.
Int64Value,StringValuevb.) hariç tüm mesaj türlerinin alanlarında. - Temel öğeler (ör.
Int64Value,StringValuevb.) hariç her türden iletideki tekrarlanan alanların özelliklerinde.
ORDER BY koşulu
ORDER BY koşulu:
- Sorgudaki isteğe bağlı bir yan tümcedir.
- Sonuçların döndürüleceği sırayı belirtir. Sıralama şu kalıbı izler:
FIELD_NAMEORDERING_OPTION(boşlukla ayrılır). - İki seçenek sunar:
ASC(artan) veyaDESC(azalan). Varsayılan sıralama artan şekildedir.
Bu örnek sorgu, kampanyaları tıklama sayısına göre azalan düzende (en yüksekten en düşüğe) sıralar:
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
Birden çok sipariş
Virgülle ayrılmış bir liste kullanarak ORDER BY yan tümcesinde birden fazla alan belirtebilirsiniz. Sonuçlar, sorguda belirttiğiniz sırayla sıralanır.
Bu örnek sorgu, reklam grubu verilerini seçer ve sonuçları kampanya adına göre artan düzende, ardından gösterim sayısına göre azalan düzende ve ardından tıklama sayısına göre azalan düzende sıralar:
SELECT
campaign.name,
ad_group.name,
metrics.impressions,
metrics.clicks
FROM ad_group
ORDER BY
campaign.name,
metrics.impressions DESC,
metrics.clicks DESC
Sıralama ve sınırı birleştirme
Sonuçlarınızı hassaslaştırmak için ORDER BY yan tümcesini LIMIT yan tümcesiyle birlikte kullanabilirsiniz.
Bu örnek sorgu, son 30 gün içinde en yüksek gösterim sayısına sahip beş kampanyayı döndürür:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.impressions DESC
LIMIT 5
Yasaklanmış sipariş verme
Aşağıdakilere sipariş veremezsiniz:
- Seçilmemiş kaynakların özelliklerine göre.
- Seçilmemiş metriklere göre.
- Seçilmemiş segmentlere göre.
- Aşağıdaki alan türleri için:
MESSAGE- Yinelenen alanlar
- Yinelenen alanların özellikleri.
LIMIT koşulu
LIMIT koşulu:
- Sorgudaki isteğe bağlı bir yan tümcedir.
- Sorgunun döndürdüğü sonuç sayısını sınırlamanıza olanak tanır.
Bu yan tümce, örneğin yalnızca sonuçların bir örneği veya özeti ile ilgileniyorsanız yararlı olur.
Bu örnek sorgu, toplam sonuç sayısını 50 ile sınırlandırır:
SELECT
campaign.name,
ad_group.name,
segments.device,
metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50
PARAMETERS yan tümcesi
PARAMETERS yan tümcesi, istek için meta parametreler belirtmenize olanak tanır.
Taslakları dahil etme
include_drafts parametresi, taslak öğelerin sonuçlara dahil edilip edilmeyeceğini kontrol eder. Varsayılan değer false'tir. Taslak varlıkları dahil etmek için true olarak ayarlayın.
Bu örnek sorgu hem taslak kampanyaları hem de normal kampanyaları döndürür:
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true
Seçilmemiş resource_name öğeleri atlama
omit_unselected_resource_names parametresi, SELECT yan tümcenizde açıkça istenmeyen tüm kaynakların resource_name alanını hariç tutmanıza olanak tanır. Varsayılan değer false'tir. Bu parametreyi true olarak ayarlarsanız birincil kaynağın ve SELECT yan tümcesinde ilişkilendirilmiş tüm kaynakların kaynak adını açıkça istemenizi öneririz.
Bu örnek sorgu, SELECT yan tümcesine dahil edilmediklerinden campaign.resource_name veya customer.resource_name alanını döndürmez:
SELECT
campaign.name,
customer.id
FROM campaign
PARAMETERS omit_unselected_resource_names = true
Bu örnek sorgu, SELECT yan tümcesinde açıkça istendiği için campaign.resource_name alanını döndürür:
SELECT
campaign.name,
campaign.resource_name
FROM campaign
PARAMETERS omit_unselected_resource_names = true
Metriklerde kullanılan para birimini değiştirme
metrics_currency parametresi, SELECT ifadenize dahil edilen bir metriği hesaplarken kullanılacak para birimini belirtmenizi sağlar.
Varsayılan olarak customer_id ile belirtilen hesabın para birimi kullanılır.
Bu parametreyi ayarlarsanız ISO 4217 3 karakterli para birimi kodunu kullanmanız gerekir. Örneğin: TRY, EUR.
Bu örnek sorgu, cost_micros metriğini customer_id tarafından belirtilen hesabın para biriminde döndürür.
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
Bu örnek sorgu, cost_micros metriğini Şili pesosu (CLP) cinsinden döndürür.
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
PARAMETERS metrics_currency = "CLP"
MCC genişletmesini etkinleştirme
enable_mcc_expansion parametresi, doğru olarak ayarlandığında FROM yan tümcesinde yer alan kaynak için customer_id kökündeki tüm hesaplardaki metrikleri, alanları ve segmentleri dahil etmenize olanak tanır. Yanıt, metrics_currency parametresinde açıkça belirtilmediği sürece customer_id hesabının para birimini kullanır.
Bu örnek sorgu, enable_mcc_expansion parametresi true olarak ayarlandığından customer_id'te köklenen hesap hiyerarşisindeki tüm hesaplardan bidding_strategy.name, bidding_strategy.type ve metrics.cost_micros döndürür.
SELECT
bidding_strategy.name,
bidding_strategy.type,
metrics.cost_micros
FROM bidding_strategy
WHERE segments.date DURING LAST_14_DAYS
PARAMETERS enable_mcc_expansion = true