设置第一方投放路径

借助第一方投放路径功能,您可以通过内容分发网络 (CDN) 或网络基础设施将请求路由到 Google 广告服务器,从而恢复未遮盖的用户 IP 地址。

在第三方请求中,浏览器和操作系统功能以及网络配置可能会遮盖 IP 地址。这种遮盖可能会影响您的广告收入、地理位置定位和无效流量 (IVT) 检测。

您的 CDN 会在向您的网域发出的所有传入请求中收到用户的未遮盖客户端 IP。此功能具有以下优势:

  • 无需更改客户端代码:您无需修改 JavaScript 或手动传递参数。Google 发布商代码 (GPT) 会从您的 Google Ad Manager 设置中读取配置的路径,并异步运行恢复请求。
  • 开销更低:请求轻量,在本地按网页浏览会话缓存,并与广告位定义一起异步运行。
  • 加密载荷:默认情况下,此功能会将用户的 IP 地址作为加密载荷返回。

本页面介绍了如何将第一方投放路径配置到您的首选 CDN。

前提条件

在配置 CDN 之前,请执行以下操作:

  • 在 Ad Manager 账号中指定投放路径,例如 /adserver/。如需指定路径,请按照方法 1:第一方投放路径中的步骤操作。
    • 请确保您的服务路径是唯一的,并且您发送的流量不使用此路径。
  • 拥有或设置以下各项:
    • 目标主机或来源:securepubads.g.doubleclick.net
    • 目标路径:/pagead/fpm
    • 协议:HTTPS,默认端口为 443。
    • 标头:将标头设置为 Host: securepubads.g.doubleclick.net。
    • 缓存:将 CDN 配置为绕过路由的缓存,例如,将缓存政策设置为绕过缓存或 Cache-Control: no-store 标头。
  • 如果您的 CDN 是 Cloudflare,则您必须拥有 Cloudflare 企业层级才能创建源规则。

配置 CDN

配置 CDN 或反向代理,以将与您配置的路径匹配的请求转发到 Google 广告服务器。选择您的首选 CDN:

Cloudflare

  1. 在信息中心内创建规则,并使用以下值:

    • 自定义过滤表达式:添加以下内容:
      • 字段:URI Path
      • 运算符:starts with
      • 值:您的路径,例如 /adserver/。
    • 主机标头替换:选择重写为,然后添加目标主机 securepubads.g.doubleclick.net。
    • DNS 替换:选择替换为,然后添加目标主机 securepubads.g.doubleclick.net。
  2. 在信息中心内创建网址规则重写,并使用以下值:

    • 自定义过滤表达式:添加以下内容:
      • 字段:URI Path
      • 运算符:starts with
      • 值:您的路径,例如 /adserver/。
    • 路径:选择重写为 > 静态 >,然后添加 /pagead/fpm 目标路径。
    • 查询:选择保留。

Amazon CloudFront

  1. 按照源设置中的步骤操作,并使用以下值:

    • 源网域:securepubads.g.doubleclick.net
    • 协议:HTTPS
  2. 按照创建函数中的说明操作,并添加以下示例:

    function handler(event) {
        var request = event.request;
        request.uri = '/pagead/fpm';
        return request;
    }
    

    此示例会获取传入的请求事件,将 URI 分配给目标路径,然后返回请求。

    点击保存更改,前往发布标签页,然后点击发布函数。

  3. 按照在控制台中更新分发中的步骤操作,并使用以下值:

    • 路径模式:您的路径,例如 /adserver/*。
    • 源站和源站组:目标主机 securepubads.g.doubleclick.net。
    • 缓存政策:选择 CachingDisabled。
    • 源请求政策:选择 AllViewerExceptHostHeader。
    • 函数关联:
      • Viewer request(查看者请求):选择 CloudFront Function(CloudFront 函数),然后添加函数的名称。

Fastly

  1. 按照添加主机中的说明操作,并使用以下值:

    • Address:目标主机 securepubads.g.doubleclick.net
    • 端口:默认端口 443。
    • 是否启用 TLS?:是
      • 证书主机名:securepubads.g.doubleclick.net
        • 选择将 SNI 主机名与证书名称匹配。
      • SNI 主机名:securepubads.g.doubleclick.net
      • 替换主机:securepubads.g.doubleclick.net
  2. 按照创建 VCL 代码段中的说明操作,并参考以下示例:

    if (req.url ~ "^PATH") {
        set req.backend = F_NAME;
        set req.http.Host = "securepubads.g.doubleclick.net";
        set req.url = regsub(req.url, "^PATH", "/pagead/fpm");
        return(pass);
    }
    

    替换以下内容:

    • NAME:主机的名称,例如 Google_GAM_FPM_Backend。
    • PATH:您的路径,例如 /adserver/。

Google Cloud

  1. 按照创建 NEG 和互联网端点中的说明操作,并使用以下值:

    • 网络端点组类型:选择互联网 NEG(全球级)
    • 默认端口:443
    • 新网络端点:选择完全限定域名 (FQDN) 和端口。
    • FQDN:添加目标主机 securepubads.g.doubleclick.net。
  2. 创建全球后端服务,并使用以下值配置自定义请求标头:

    • 后端类型:选择互联网网络端点组。
    • 协议:选择 HTTPS。
      • 标头名称:Host
      • 标头值:添加目标主机 securepubads.g.doubleclick.net。
  3. 按照配置网址映射中的步骤操作。

  4. 在路由规则中,找到与您的子网域匹配的生产环境主机规则。

    使用 routeRules 配置更新路径匹配器:

    name: NAME
    defaultService: projects/PROJECT_ID/global/backendServices/DEFAULT_BACKEND
    routeRules:
      - priority: 1
        matchRules:
          - prefixMatch: PATH
        service: projects/PROJECT_ID/global/backendServices/BACKEND_NAME
        routeAction:
          urlRewrite:
            pathPrefixRewrite: /pagead/fpm
    

    替换以下内容:

    • BACKEND_NAME:您在第 2 步中创建的后端服务的名称,例如 gam-fpm-backend-service。
    • DEFAULT_BACKEND:托管您网站的默认后端服务。
      • 如果您在 Cloud Storage 上托管网站,请将 defaultService 字段的资源路径中的 backendServices 替换为 backendBuckets 参数。
    • NAME:路径匹配器的名称,例如 gam-fpm-matcher。
    • PATH:您的路径,例如 /adserver/。
    • PROJECT_ID:您的项目 ID。

测试实现效果

如需验证 CDN 是否代理请求并传递 IP 地址,请使用 curl 命令运行测试:

curl -i https://example.comPATH

将 PATH 替换为您的路径,例如 /adserver/。

如果成功,您将收到以下输出:

  • HTTP 状态:200 OK
  • 响应内容:来自 Google 后端服务器的载荷,默认包含加密的 IP 令牌。

排查实现问题

本部分介绍了在 CDN 中排查第一方投放路径实现问题的工作流程。

下表详细说明了问题、原因和问题排查解决方案:

问题 原因 解决方案
您从 CDN 收到 HTTP 状态 404 或 502 路径重写未启用,或缺少 Host 标头。 验证重写是否映射到 /pagead/fpm 目标路径,以及 Host 标头是否被替换为目标主机 securepubads.g.doubleclick.net。
广告请求中的 IP 地址不会更新。 已在 CDN 代理上启用缓存 请确保将路由上的缓存政策设置为 CachingDisabled 政策或 Cache-Control: no-store 标头。每个客户端都必须访问后端服务,以评估其特定 IP 地址。
SSL 或 TLS 握手失败 后端源连接上的 SNI 不匹配 请确保您已将 CDN 配置为在 TLS SNI 扩展程序中发送目标主机 securepubads.g.doubleclick.net。
广告请求中缺少 ips 参数。 Ad Manager 路径与 CDN 路径不一致 验证在 Ad Manager 界面全局设置页面中输入的路径是否与 CDN 上配置的路径一致。如需了解详情,请参阅传递未遮盖的发布商提供的 IP(Beta 版)。