Phân đoạn có trong giao diện người dùng của Google Ads dưới dạng một trình đơn riêng. Bạn có thể triển khai tính năng phân đoạn trong API Google Ads bằng cách thêm trường thích hợp vào một truy vấn. Ví dụ: giả sử bạn thêm segments.device
vào một truy vấn. Điều đó dẫn đến một báo cáo có một hàng cho mỗi tổ hợp thiết bị và tài nguyên được chỉ định trong mệnh đề FROM
, đồng thời các giá trị thống kê (lượt hiển thị, lượt nhấp, lượt chuyển đổi, v.v.) được chia giữa các tổ hợp đó.
Trong giao diện người dùng Google Ads, bạn chỉ có thể sử dụng một phân khúc tại một thời điểm, nhưng với API, bạn có thể chỉ định nhiều phân khúc trong cùng một truy vấn.
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions
FROM campaign
Kết quả của việc gửi truy vấn này đến GoogleAdsService.SearchStream
sẽ giống với chuỗi JSON này:
{
"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"
}
},
...
]
}
Trong kết quả mẫu này, các thuộc tính cho đối tượng thứ nhất và thứ hai, bao gồm cả tên tài nguyên, đều giống nhau. Số lượt hiển thị được phân đoạn theo thiết bị, do đó, hai hoặc nhiều đối tượng có thể được trả về cho cùng một chiến dịch.
Phân đoạn ngầm định
Ban đầu, mỗi báo cáo được phân đoạn theo tài nguyên được chỉ định trong mệnh đề FROM
. Trường resource_name
của tài nguyên trong mệnh đề FROM
được trả về và các chỉ số được phân đoạn theo trường này, ngay cả khi trường resource_name không được đưa vào một cách rõ ràng trong truy vấn. Ví dụ: khi bạn chỉ định ad_group
làm tài nguyên trong mệnh đề FROM
, thì ad_group.resource_name
sẽ tự động được trả về và các chỉ số sẽ phân đoạn ngầm ẩn theo tài nguyên đó ở cấp nhóm quảng cáo.
Vì vậy, đối với truy vấn này,
SELECT metrics.impressions
FROM ad_group
bạn sẽ nhận được một chuỗi JSON như sau:
{
"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"
}
}
]
}
Trường resource_name
của adGroup
luôn được trả về vì ad_group
được chỉ định làm tài nguyên trong mệnh đề FROM
.
Các trường phân khúc có thể chọn
Bạn không thể chọn tất cả các trường phân đoạn cho một tài nguyên nhất định trong mệnh đề FROM
.
Ví dụ: giả sử bạn tiếp tục truy vấn từ tài nguyên ad_group
. Để có thể chọn một trường phân đoạn từ tài nguyên ad_group
, trường đó cần phải có trong danh sách Segments
cho ad_group. Danh sách Segments
là phần màu vàng của bảng các trường có sẵn trên trang siêu dữ liệu của tài nguyên ad_group
.
Tài nguyên phân đoạn
Khi chọn trong số một số tài nguyên, bạn có thể có lựa chọn kết hợp ngầm trên các tài nguyên có liên quan bằng cách chọn các trường của tài nguyên đó cùng với các trường của tài nguyên trong mệnh đề FROM
. Bạn có thể tìm thấy những tài nguyên liên quan này trong danh sách Attributed Resources
trên tài nguyên trong trang siêu dữ liệu của mệnh đề FROM
. Trong trường hợp tài nguyên ad_group
, bạn sẽ thấy rằng bạn cũng có thể chọn các trường từ tài nguyên campaign
. Trường resource_name
của mọi Attributed Resources
có ít nhất một trường trong mệnh đề SELECT
sẽ tự động được trả về, ngay cả khi trường resource_name không được đưa rõ ràng vào truy vấn.
Tương tự như việc chọn các trường Attributed Resource
, bạn cũng có thể chọn các trường Segmenting Resource
. Nếu một tài nguyên nhất định có danh sách Segmenting Resources
trên trang siêu dữ liệu, thì nếu bạn chọn các trường trong một trong những tài nguyên được liệt kê đó, thì truy vấn sẽ được phân đoạn thêm theo resource_name
được trả về của Segmenting Resource
đó. Ví dụ: bạn sẽ thấy tài nguyên campaign
được liệt kê là Segmenting Resource
cho tài nguyên campaign_budget
. Việc chọn bất kỳ trường chiến dịch nào, chẳng hạn như campaign.name
, từ tài nguyên campaign_budget
không chỉ khiến trường campaign.name
được trả về mà còn khiến trường campaign.resource_name
được trả về và phân đoạn.
Khả năng chọn giữa các phân đoạn và chỉ số
Một trường phân đoạn nhất định có thể không tương thích với một số trường phân đoạn khác hoặc với một số trường chỉ số. Để xác định những trường phân khúc tương thích với nhau, hãy xem danh sách selectable_with
của các phân khúc trong mệnh đề SELECT
.
Trong trường hợp tài nguyên ad_group
, có hơn 50 phân khúc mà bạn có thể chọn. Tuy nhiên, danh sách selectable_with
cho segments.hotel_check_in_date
là một nhóm nhỏ hơn nhiều gồm các phân đoạn tương thích. Điều này có nghĩa là nếu thêm trường segments.hotel_check_in_date
vào mệnh đề SELECT
, bạn sẽ giới hạn các phân khúc còn lại mà bạn có thể chọn thành giao điểm của hai danh sách này.
Khi bạn thêm một số phân khúc nhất định, các chỉ số trong hàng tóm tắt có thể giảm. Khi segments.keyword.info.match_type
được thêm vào một truy vấn có FROM ad_group_ad
, phân khúc đó sẽ yêu cầu truy vấn chỉ nhận các hàng dữ liệu có từ khoá và xoá mọi hàng không được liên kết với từ khoá. Trong trường hợp này, các chỉ số sẽ thấp hơn vì chúng loại trừ mọi chỉ số không phải từ khoá.
Quy tắc cho các phân đoạn trong mệnh đề WHERE
Khi một phân khúc nằm trong mệnh đề WHERE
, phân khúc đó cũng phải nằm trong mệnh đề SELECT
. Ngoại lệ đối với quy tắc này là các phân đoạn ngày sau đây, được gọi là phân đoạn ngày cốt lõi:
segments.date
segments.week
segments.month
segments.quarter
segments.year
Quy tắc cho các trường phân khúc ngày chính
Các phân đoạn segments.date
, segments.week
, segments.month
, segments.quarter
và segments.year
hoạt động như sau:
Bạn có thể lọc các phân khúc này trong mệnh đề
WHERE
mà không cần xuất hiện trong mệnh đềSELECT
.Nếu bất kỳ phân đoạn nào trong số này nằm trong mệnh đề
SELECT
, thì bạn phải chỉ định một phạm vi ngày hữu hạn bao gồm các phân đoạn ngày cốt lõi trong mệnh đềWHERE
. Các phân khúc ngày không cần phải giống với các phân khúc được chỉ định trongSELECT
.
Ví dụ
Không hợp lệ: Vì segments.date nằm trong mệnh đề SELECT , bạn cần chỉ định một phạm vi ngày hữu hạn trong mệnh đề WHERE cho segments.date , segments.week , segments.month , segments.quarter hoặc segments.year .
|
SELECT campaign.name, metrics.clicks, segments.date FROM campaign |
Hợp lệ: Truy vấn này trả về tên chiến dịch và số lượt nhấp tích luỹ trong phạm vi ngày. Xin lưu ý rằng segments.date không cần xuất hiện trong mệnh đề SELECT .
|
SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
Hợp lệ: Truy vấn này trả về tên chiến dịch và số lượt nhấp được phân đoạn theo ngày cho tất cả các ngày trong phạm vi ngày. |
SELECT campaign.name, metrics.clicks, segments.date FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
Hợp lệ: Truy vấn này trả về tên chiến dịch và số lượt nhấp được phân đoạn theo tháng cho tất cả các ngày trong phạm vi ngày. |
SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
Hợp lệ: Truy vấn này trả về tên chiến dịch và số lượt nhấp được phân đoạn theo quý, sau đó theo tháng cho tất cả các tháng trong phạm vi năm. |
SELECT campaign.name, metrics.clicks, segments.quarter, segments.month FROM campaign WHERE segments.year > 2019 AND segments.year < 2024 |
search_term_view
Tài nguyên search_term_view
cũng được phân đoạn ngầm theo nhóm quảng cáo, chứ không chỉ theo cụm từ tìm kiếm, như được phản ánh trong cấu trúc của tên tài nguyên. Tên tài nguyên này cũng bao gồm nhóm quảng cáo. Do đó, bạn sẽ nhận được một số hàng có vẻ trùng lặp với cùng một cụm từ tìm kiếm xuất hiện trong kết quả, nhưng những hàng này thuộc một nhóm quảng cáo khác.
{
"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"
}
}
]
}
Mặc dù 2 đối tượng được trả về trong ví dụ này có vẻ trùng lặp, nhưng tên tài nguyên của chúng thực sự khác nhau, đặc biệt là trong phần "nhóm quảng cáo". Điều này có nghĩa là cụm từ tìm kiếm "google photos" được phân bổ cho 2 nhóm quảng cáo (mã 2222222222
và 33333333333
) vào cùng một ngày (2024-06-15).
Do đó, chúng ta có thể kết luận rằng API hoạt động như dự kiến và không trả về các đối tượng trùng lặp trong trường hợp này.