Phân đoạn

Tính năng phân đoạn có trong giao diện người dùng Google Ads dưới dạng một trình đơn riêng biệt. Bạn có thể triển khai tính năng phân đoạn trong Google Ads API 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. Kết quả là 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, và các giá trị thống kê (số lượt hiển thị, số lượt nhấp, số lượt chuyển đổi, v.v.) được phân chia giữa các hàng đó.

Trong giao diện người dùng Google Ads, bạn chỉ có thể sử dụng một phân đoạn tại một thời điểm, nhưng 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ả của việc gửi truy vấn này đến GoogleAdsService.SearchStream 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 của đố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ị, và 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

Ban đầu, mọi báo cáo đều đượ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 đó, ngay cả khi trường resource_name 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, thì ad_group.resource_name sẽ tự động được trả về và các chỉ số sẽ phân đoạn ngầm định theo tài nguyên đó ở cấp ad_group.

Vì vậy, đối với cụm từ tìm kiếm 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.

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, bao gồm cả nhóm quảng cáo. Do đó, bạn có thể nhận được các 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ả khi các hàng đó thuộc về các nhóm quảng cáo khác nhau:

{
  "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ù hai đố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à ở phần mã 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 hai nhóm quảng cáo (mã nhận dạng 2222222222 và 33333333333) vào cùng một ngày (2024-06-15). Do đó, 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.

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 được 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 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 một số tài nguyên, bạn có thể có lựa chọn kết hợp ngầm định trên các tài nguyên có liên quan bằng cách chọn các trường của các 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 các tài nguyên có 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 bất kỳ Attributed Resources nào 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 vào truy vấn một cách rõ ràng.

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ì việc chọn các trường từ một trong những tài nguyên được liệt kê đó sẽ khiến truy vấn đượ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 lựa 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 nào 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 tập hợp các phân đoạn tương thích nhỏ hơn nhiều. Đ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, thì bạn sẽ giới hạn các phân đoạn còn lại mà bạn có thể chọn vào giao điểm của hai danh sách này.

Các quy tắc ràng buộc về phân đoạn chung

Một số trường phân khúc có các quy tắc ràng buộc rõ ràng về lựa chọn, yêu cầu các trường đó phải được yêu cầu cùng với một phân khúc mẹ trong mệnh đề SELECT:

Lọc ngầm theo lựa chọn phân khúc

Khi bạn chọn một số trường phân khúc nhất định trong truy vấn, Google Ads API có thể ngầm lọc kết quả để chỉ bao gồm các hàng mà phân khúc đó có thể áp dụng và có giá trị.

Tác động của segments.keyword.*

Một ví dụ phổ biến và quan trọng về hành vi này xảy ra khi chọn bất kỳ trường nào trong segments.keyword (chẳng hạn như segments.keyword.info.text và segments.keyword.ad_group_criterion):

  • Loại trừ lưu lượng truy cập không phải từ khoá: Nếu bạn đưa bất kỳ trường segments.keyword.* nào vào mệnh đề SELECT, thì kết quả sẽ chỉ bao gồm những hàng liên kết trực tiếp với một tiêu chí nhóm quảng cáo từ khoá trên Mạng Tìm kiếm.
  • Các loại chiến dịch bị ảnh hưởng: Do đó, dữ liệu từ các loại chiến dịch hoặc nhóm quảng cáo không dựa vào từ khoá cho quảng cáo trên Mạng Tìm kiếm sẽ bị loại trừ khỏi kết quả. Điều này bao gồm, nhưng không giới hạn ở:
    • Quảng cáo tìm kiếm động (DSA): Vì mục tiêu của DSA dựa trên nội dung trang web chứ không phải từ khoá.
    • Chiến dịch Mua sắm: Sử dụng nhóm sản phẩm thay vì từ khoá.
    • Chiến dịch Tối đa hoá hiệu suất: Mặc dù chiến dịch Tối đa hoá hiệu suất có thể phân phát trên Mạng Tìm kiếm, nhưng báo cáo của chiến dịch này thường không được phân đoạn theo cùng một tiêu chí từ khoá.
  • Mạng Hiển thị: Các trường segments.keyword.* liên quan đến từ khoá được sử dụng trên Mạng Tìm kiếm. Các báo cáo này không phân đoạn theo từ khoá trên Mạng Hiển thị hoặc các phương pháp nhắm mục tiêu khác trên mạng hiển thị.

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, phân đoạn đó cũng phải nằm trong mệnh đề SELECT. Ngoại lệ cho 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ơ bản:

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

Quy tắc cho các trường phân đoạn ngày cơ bản

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 đoạn 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ơ bản trong mệnh đề WHERE. Các phân đoạn ngày không cần phải giống với các phân đoạn được chỉ định trong SELECT.

Ví dụ

Không hợp lệ: Vì segments.date nằm trong mệnh đề SELECT, nên 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ỹ được trong phạm vi ngày (bao gồm cả ngày bắt đầu và ngày kết thúc). 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-01-31'
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 (bao gồm cả ngày bắt đầu và ngày kết thúc).
SELECT
  campaign.name,
  metrics.clicks,
  segments.date
FROM campaign
WHERE segments.date >= '2024-01-01'
  AND segments.date <= '2024-01-31'
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 bao gồm.
SELECT
  campaign.name,
  metrics.clicks,
  segments.month
FROM campaign
WHERE segments.date >= '2024-01-01'
  AND segments.date <= '2024-01-31'
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 bao gồm.
SELECT
  campaign.name,
  metrics.clicks,
  segments.quarter,
  segments.month
FROM campaign
WHERE segments.year >= 2020
  AND segments.year <= 2024