Segmentasyon, Google Ads kullanıcı arayüzünde ayrı bir menü olarak kullanılabilir. Google Ads API'de, bir sorguya uygun alanı ekleyerek segmentasyon uygulayabilirsiniz. Örneğin, bir sorguya segments.device eklediğinizi varsayalım. Bu durumda, FROM ifadesinde belirtilen cihaz ve kaynak kombinasyonlarının her biri için bir satır içeren bir rapor oluşturulur ve istatistiksel değerler (gösterimler, tıklamalar, dönüşümler vb.) bu satırlar arasında bölünür.
Google Ads kullanıcı arayüzünde aynı anda yalnızca bir segment kullanılabilir. Ancak API ile aynı sorguda birden fazla segment belirtebilirsiniz.
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions
FROM campaign
Bu sorguyu GoogleAdsService.SearchStream adresine göndermenin sonuçları şu JSON dizesine benzer:
{
"results":[
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"10922"
},
"segments":{
"device":"MOBILE"
}
},
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"28297"
},
"segments":{
"device":"DESKTOP"
}
}
]
}
Bu örnek sonuçta, kaynak adı da dahil olmak üzere birinci ve ikinci nesnelerin özellikleri aynıdır. Gösterimler cihaza göre segmentlere ayrılır. Bu nedenle, aynı kampanya için iki veya daha fazla nesne döndürülebilir.
Örtülü segmentasyon
Her rapor başlangıçta FROMmaddesinde belirtilen kaynağa göre segmentlere ayrılır. FROM ifadesindeki kaynağın resource_name alanı, resource_namesorguya
açıkça dahil edilmemiş olsa bile
döndürülür ve metrikler bu alana göre segmentlere ayrılır. Örneğin, FROM ifadesinde kaynak olarak ad_group değerini belirttiğinizde ad_group.resource_name değeri otomatik olarak döndürülür ve metrikler ad_group düzeyinde bu değere göre örtülü olarak segmentlere ayrılır.
Bu nedenle şu sorgu için:
SELECT metrics.impressions
FROM ad_group
Şuna benzer bir JSON dizesi alırsınız:
{
"results":[
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/2222222222"
},
"metrics":{
"impressions":"237"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/33333333333"
},
"metrics":{
"impressions":"15"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/44444444444"
},
"metrics":{
"impressions":"0"
}
}
]
}
ad_group, FROM ifadesinde kaynak olarak belirtildiği için adGroup öğesinin resource_name alanı her zaman döndürülür.
search_term_view
search_term_view kaynağı, yalnızca bir arama terimiyle değil, reklam grubuyla da örtülü olarak segmentlere ayrılır. Bu durum, reklam grubunu da içeren kaynak adının yapısında yansıtılır.
Bu nedenle, bu satırlar farklı reklam gruplarına ait olduğunda sonuçlarınızda aynı arama terimlerini içeren, görünüşte yinelenen satırlar görebilirsiniz:
{
"results":[
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~2222222222~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"3"
},
"segments":{
"date":"2024-06-15"
}
},
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"2"
},
"segments":{
"date":"2024-06-15"
}
}
]
}
Bu örnekte döndürülen iki nesne kopya gibi görünse de kaynak adları aslında farklıdır. Özellikle reklam grubu kimliği bölümü farklıdır.
Bu, "google photos" arama teriminin aynı tarihte (2024-06-15) iki reklam grubuyla (kimlik 2222222222 ve 33333333333) ilişkilendirildiği anlamına gelir. Bu nedenle, API beklendiği gibi çalıştı ve bu durumda yinelenen nesneler döndürmedi.
Seçilebilir segment alanları
FROM ifadesinde belirli bir kaynak için tüm segment alanları seçilemez.
Örneğin, ad_group kaynağını sorgulamaya devam ettiğinizi varsayalım. Bir segment alanının ad_group kaynağında seçilebilir olması için bu alanın ad_group için Segments listesinde bulunması gerekir. Segments listesi, ad_group kaynağının meta veri sayfasındaki kullanılabilir alanlar tablosunun sarı kısmıdır.
Segment kaynakları
Bazı kaynaklar arasından seçim yaparken FROM ifadesindeki kaynak alanlarının yanı sıra ilgili kaynakların alanlarını da seçerek ilgili kaynakları örtülü olarak birleştirme seçeneğiniz olabilir. Bu ilgili kaynakları, Attributed Resources listesinde, FROM maddesinin meta veri sayfasındaki kaynakta bulabilirsiniz. ad_group kaynağı söz konusu olduğunda, campaign kaynağındaki alanları da seçebileceğinizi görürsünüz. SELECT ifadesinde en az
bir alan bulunan tüm Attributed Resources öğelerinin resource_name alanı, sorguya
resource_name açıkça dahil edilmemiş olsa bile otomatik olarak döndürülür.
Attributed Resource alanlarını seçmeye benzer şekilde, Segmenting Resource alanlarını da seçebilirsiniz. Belirli bir kaynağın meta veri sayfasında Segmenting Resources
listesi varsa listelenen kaynaklardan birindeki alanların seçilmesi, sorgunun döndürülen resource_name ile daha fazla segmentlere ayrılmasına neden olur.Segmenting Resource Örneğin, campaign kaynağının campaign_budget kaynağı için Segmenting
Resource olarak listelendiğini görürsünüz.
campaign_budget kaynağında campaign.name gibi herhangi bir kampanya alanının seçilmesi yalnızca campaign.name alanının döndürülmesine neden olmakla kalmaz, aynı zamanda campaign.resource_name alanının döndürülmesine ve üzerinde segment oluşturulmasına da neden olur.
Segmentler ve metrikler arasında seçim yapılabilirliği
Belirli bir segment alanı, diğer segment alanlarından bazılarıyla veya metrik alanlarından bazılarıyla uyumlu olmayabilir. Hangi segment alanlarının birbiriyle uyumlu olduğunu belirlemek için selectable_with koşulundaki segmentlerin SELECT listesini inceleyin.
ad_group kaynağı için seçebileceğiniz 50'den fazla segment vardır. Ancak segments.hotel_check_in_date için selectable_with listesi, uyumlu segmentlerden oluşan çok daha küçük bir settir. Yani segments.hotel_check_in_date alanını SELECT ifadesine eklerseniz seçebileceğiniz segmentleri bu iki listenin kesişimiyle sınırlandırmış olursunuz.
Ortak segment kısıtlamaları
Bazı segment alanları, SELECT ifadesinde bir üst segmentle birlikte istenmelerini gerektiren açık seçim kısıtlamalarına sahiptir:
segments.ad_sub_network_type(YouTube reklam alt ağlarını yayın içi, feed içi ve Shorts gibi alt ağlara ayırır) seçeneğini belirlediğinizdesegments.ad_network_typeseçeneğini de belirlemeniz gerekir.- 25. sürüm ve sonraki sürümlerde,
segments.ad_sub_format_type(YouTube yayın içi atlanamayan reklamlarını süreye göre ayırır) seçeneğini belirlediğinizdesegments.ad_format_typeseçeneğini de belirlemeniz gerekir.
Segment seçimine göre örtülü filtreleme
Sorgunuzda belirli segment alanlarını seçtiğinizde Google Ads API, sonuçları yalnızca bu segmentin geçerli olduğu ve bir değere sahip olduğu satırları içerecek şekilde dolaylı olarak filtreleyebilir.
segments.keyword.* etkileri
Bu davranışın yaygın ve önemli bir örneği, segments.keyword bölümünde herhangi bir alan (ör. segments.keyword.info.text ve segments.keyword.ad_group_criterion) seçildiğinde görülür:
- Anahtar Kelime Olmayan Trafiğin Hariç Tutulması:
SELECTifadesine herhangi birsegments.keyword.*alanı eklerseniz bu, sonuçları yalnızca doğrudan bir Arama Ağı anahtar kelimesi reklam grubu ölçütüyle ilişkili satırlarla kısıtlar. - Etkilenen Kampanya Türleri: Bu nedenle, Arama Ağı anahtar kelimelerini kullanmayan kampanya türlerinden veya reklam gruplarından elde edilen veriler sonuçlardan hariç tutulur.
Bu tür içerikler aşağıdakileri kapsar ancak bunlarla sınırlı değildir:
- Dinamik Arama Ağı reklamları (DSA): DSA hedefleri, anahtar kelimeler yerine web sitesi içeriğine dayalıdır.
- Alışveriş kampanyaları: Anahtar kelimeler yerine ürün gruplarını kullanır.
- Maksimum Performans kampanyaları: Maksimum Performans kampanyaları Arama Ağı'nda yayınlanabilse de raporları genellikle aynı anahtar kelime ölçütlerine göre segmentlere ayrılmaz.
- Görüntülü Reklam Ağı:
segments.keyword.*alanları, Arama Ağı'nda kullanılan anahtar kelimelerle ilgilidir. Görüntülü Reklam Ağı anahtar kelimelerine veya diğer görüntülü reklam hedefleme yöntemlerine göre segmentlere ayrılmazlar.
WHERE maddesindeki segmentlerle ilgili kurallar
Bir segment WHERE ifadesindeyse SELECT ifadesinde de olmalıdır.
Bu kuralın istisnaları, temel tarih segmentleri olarak adlandırılan aşağıdaki tarih segmentleridir:
segments.datesegments.weeksegments.monthsegments.quartersegments.year
Temel tarih segmenti alanlarıyla ilgili kurallar
segments.date, segments.week, segments.month, segments.quarter ve segments.year segmentleri aşağıdaki gibi çalışır:
- Bu segmentler,
WHEREibaresinde filtrelenebilir veSELECTibaresinde görünmez. - Bu segmentlerden herhangi biri
SELECTifadesindeyseWHEREifadesinde temel tarih segmentlerinden oluşan sınırlı bir tarih aralığı belirtilmelidir. Tarih segmentlerinin,SELECTiçinde belirtilenlerle aynı olması gerekmez.
Örnekler
Geçersiz: segments.date, SELECT ifadesinde yer aldığından segments.date, segments.week, segments.month, segments.quarter veya segments.year için WHERE ifadesinde sınırlı bir tarih aralığı belirtmeniz gerekir.
|
SELECT campaign.name, metrics.clicks, segments.date FROM campaign |
Geçerli: Bu sorgu, kampanya adlarını ve belirtilen tarih aralığında elde edilen tıklamaları döndürür. segments.date ifadesinin SELECT
cümlesinde görünmesi gerekmez.
|
SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date >= '2024-01-01' AND segments.date <= '2024-01-31' |
| Geçerli: Bu sorgu, dahil edilen tarih aralığındaki tüm günler için tarihe göre segmentlere ayrılmış kampanya adlarını ve tıklamaları döndürür. |
SELECT campaign.name, metrics.clicks, segments.date FROM campaign WHERE segments.date >= '2024-01-01' AND segments.date <= '2024-01-31' |
| Geçerli: Bu sorgu, dahil edilen tarih aralığındaki tüm günler için kampanyaların adlarını ve aylara göre segmentlere ayrılmış tıklamaları döndürür. |
SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date >= '2024-01-01' AND segments.date <= '2024-01-31' |
| Geçerli: Bu sorgu, dahil edilen yıl aralığındaki tüm aylarda kampanyaları çeyreğe ve aya göre segmentlere ayırarak kampanya adlarını ve tıklamaları döndürür. |
SELECT campaign.name, metrics.clicks, segments.quarter, segments.month FROM campaign WHERE segments.year >= 2020 AND segments.year <= 2024 |