Phân đoạn

Phân đoạn có sẵn trong giao diện người dùng Google Ads dưới dạng trình đơn riêng biệt triển khai trong API Google Ads bằng cách chỉ cần thêm trường thích hợp vào truy vấn. Cho ví dụ: thêm segments.device vào một tạo ra một báo cáo với một hàng cho từng tổ hợp thiết bị và tài nguyên được chỉ định trong mệnh đề FROM và các giá trị thống kê (lượt hiển thị, lượt nhấp, lượt chuyển đổi, v.v.) được phân chia.

Mặc dù trong giao diện người dùng Google Ads, bạn chỉ có thể sử dụng một phân đoạn mỗi lần, với API, bạn có thể chỉ định nhiều phân đoạn trong cùng một truy vấn.

SELECT
  campaign.name,
  campaign.status,
  segments.device,
  metrics.impressions
FROM campaign

Kết quả từ việc gửi truy vấn này đến GoogleAdsService.SearchStream sẽ có dạng như chuỗi JSON sau:

{
  "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"
      }
    },
    ...
  ]
}

Lưu ý rằng trong kết quả mẫu ở trên, các thuộc tính cho lần đầu tiên và lần thứ hai các đối tượng bao gồm cả tên tài nguyên đều giống nhau. Lượt hiển thị được phân đoạn theo device, do đó có thể trả về hai hoặc nhiều đối tượng cho cùng một chiến dịch.

Phân đoạn ngầm ẩn

Ban đầu, mỗi báo cáo được phân đoạn theo tài nguyên được chỉ định trong FROM mệnh đề. Trường resource_name của tài nguyên trong mệnh đề FROM là được trả về và các chỉ số được phân đoạn theo chỉ số đó, ngay cả khi trường resource_name được không được đưa vào truy vấn một cách rõ ràng. Ví dụ: khi bạn chỉ định ad_group làm tài nguyên trong mệnh đề FROM, sau đó ad_group.resource_name sẽ tự động được trả về và các chỉ số sẽ ngầm phân đoạn dựa trên giá trị này ở cấp nhóm quảng cáo.

Đố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"
      }
    }
  ]
}

Lưu ý 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 đoạn có thể chọn

Không phải trường phân đoạn nào cũng có thể chọn cho một tài nguyên nhất định trong mệnh đề FROM. Ví dụ: chúng ta sẽ tiếp tục truy vấn từ ad_group nguồn. Để có thể chọn trường phân đoạn từ tài nguyên ad_group, trường đó cần có trong danh sách Segments cho ad_group. Segments là phần màu vàng của bảng 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 tham gia ngầm về các tài nguyên có liên quan bằng cách chọn các trường của chúng bên cạnh các trường của trong mệnh đề FROM. Bạn có thể tìm thấy các tài nguyên liên quan này trong Danh sách Attributed Resources trên tài nguyên trong siêu dữ liệu của mệnh đề FROM . Trong trường hợp của tài nguyên ad_group, bạn sẽ thấy bạn cũng có thể chọn các trường từ campaign nguồn. Trường resource_name của bất kỳ Attributed Resources nào có ít nhất 1 trường trong mệnh đề SELECT sẽ tự động được trả về, ngay cả khi trường resource_name không được đưa vào truy vấn một cách rõ ràng.

Tương tự như việc chọn trường Attributed Resource, bạn cũng có thể chọn Segmenting Resource trường. Nếu một tài nguyên cụ thể có Segmenting Resources trên trang siêu dữ liệu của trình duyệt, sau đó chọn các trường từ một trong các tài nguyên được liệt kê đó sẽ làm cho truy vấn được phân đoạn thêm theo resource_name được trả về của truy vấn đó Segmenting Resource Ví dụ: bạn sẽ thấy rằng Tài nguyên campaign được liệt kê dưới dạng Segmenting Resource cho tài nguyên campaign_budget. Đang chọn một trường chiến dịch, như campaign.name, từ tài nguyên campaign_budget sẽ không chỉ làm cho trường campaign.name trở thành được trả về, nhưng sẽ khiến campaign.resource_name sẽ được tạo được trả lại và phân đoạn vào.

Khả năng lựa chọn giữa các phân khúc 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ố phân đoạn khác hoặc với một số trường chỉ số. Để xác định các trường của phân đoạn tương thích với nhau, bạn có thể tham khảo danh sách selectable_with của phân đoạn trong mệnh đề SELECT.

Trong trường hợp Tài nguyên ad_group, có hơn 50 phân khúc có sẵn mà bạn có thể chọn. Tuy nhiên, danh sách selectable_with cho segments.hotel_check_in_date là một tập hợp nhỏ hơn nhiều các phân khúc tương thích. Điều này có nghĩa là nếu bạn thêm Trường segments.hotel_check_in_date vào mệnh đề SELECT, bạn sẽ giới hạn các đoạn đường có sẵn mà bạn phải chọn cho đến điểm giao nhau của hai đoạn đường này danh sách.

Khi bạn thêm một số phân đoạn, 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 truy vấn có FROM ad_group_ad, phân đoạn đó cho truy vấn chỉ nhận các hàng của có từ khóa và xóa bất kỳ hàng nào không được liên kết với từ khoá. Trong trường hợp này, chỉ số sẽ thấp hơn vì sẽ loại trừ bất kỳ 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 đoạn nằm trong mệnh đề WHERE thì phân đoạn đó cũng phải nằm trong SELECT mệnh đề. 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 chính:

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

Quy tắc cho các trường phân đoạn ngày chính

Phân đoạn segments.date, segments.week, segments.month, segments.quartersegments.year hoạt động như sau:

  • Có thể lọc các phân đoạn này trong mệnh đề WHERE mà không 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ì phạm vi ngày có hạn bao gồm phân đoạn ngày chính phải được chỉ định trong mệnh đề WHERE (phân đoạn ngày không cần phải giống như phân đoạn được chỉ định trong SELECT).

Ví dụ

Không hợp lệ:segments.date là trong mệnh đề SELECT, bạn cần chỉ định phạm vi ngày có 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à nhấp chuột tích luỹ trong phạm vi ngày. 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 > '2020-01-01'
  AND segments.date < '2020-02-01'
Hợp lệ: Truy vấn này trả về tên chiến dịch và số lần 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 > '2020-01-01'
  AND segments.date < '2020-02-01'
Hợp lệ: Truy vấn này trả về tên chiến dịch và số lần 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 > '2020-01-01'
  AND segments.date < '2020-02-01'
Hợp lệ: Truy vấn này trả về tên chiến dịch và số lần nhấp được phân đoạn theo quý và 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 > 2015
  AND segments.year < 2020

search_term_view

Xin lưu ý rằng đối với phần search_term_view, cũng là được phân đoạn ngầm theo nhóm quảng cáo, không chỉ theo cụm từ tìm kiếm, như được phản ánh theo cấu trúc của tài nguyên name (tên của bạn) cũng bao gồm nhóm quảng cáo. Do đó, bạn sẽ nhận được một số thông tin có vẻ như trùng lặp các hàng có cùng cụm từ tìm kiếm xuất hiện trong kết quả khi thực tế, các hàng sẽ thuộc về 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":"2015-06-15"
      }
    },
    {
      "searchTermView":{
        "resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
        "searchTerm":"google photos"
      },
      "metrics":{
        "impressions":"2"
      },
      "segments":{
        "date":"2015-06-15"
      }
    }
  ]
}

Mặc dù 2 đối tượng được trả về trong ví dụ này có vẻ như trùng lặp, tên tài nguyên của chúng thực sự khác nhau, đặc biệt là trong "nhóm quảng cáo" phần. Điều này có nghĩa là cụm từ tìm kiếm "google ảnh" được phân bổ cho 2 nhóm quảng cáo (ID 222222222233333333333) vào cùng một ngày (15/06/2015). 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ề đối tượng trùng lặp trong trường hợp này.