ตั้งค่าการติดแท็กฝั่งเซิร์ฟเวอร์ด้วย Cloud Run

คู่มือนี้จะอธิบายวิธี

  • จัดสรรเซิร์ฟเวอร์ตัวอย่างเพื่อเปิดใช้ฟีเจอร์การแสดงตัวอย่างของคอนเทนเนอร์
  • จัดสรรเซิร์ฟเวอร์การติดแท็กเพื่อจัดการการเข้าชมแบบสด
  • เพิ่มหรือลดจำนวนเซิร์ฟเวอร์ที่ใช้งานคอนเทนเนอร์ Google Tag Manager
  • อัปเดตเวอร์ชันของเซิร์ฟเวอร์การติดแท็กให้เป็นปัจจุบันเสมอหลังจากจัดสรรเซิร์ฟเวอร์

ข้อกำหนดเบื้องต้น

  1. คุณต้องมีบัญชี GCP หากยังไม่มีบัญชี ให้สร้างบัญชี GCP ใหม่
  2. คุณต้องมีบัญชีสำหรับการเรียกเก็บเงิน GCP หากยังไม่มี ให้สร้างบัญชีสำหรับการเรียกเก็บเงิน GCP (ต้องมีบทบาทผู้สร้างบัญชีสำหรับการเรียกเก็บเงิน)
  3. คุณต้องมีบทบาทผู้สร้างโปรเจ็กต์และบทบาทผู้ใช้บัญชีสำหรับการเรียกเก็บเงิน ดูข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มบทบาท

จัดสรรเซิร์ฟเวอร์ตัวอย่างและการติดแท็ก

คุณสามารถจัดสรรบริการ Cloud Run โดยอัตโนมัติใน Google Tag Manager หรือจัดสรรด้วยตนเองใน Google Cloud ก็ได้

แก้ไขการกำหนดค่าบริการ

หากต้องการเปลี่ยนการกำหนดค่าบริการ ให้ทำดังนี้

  1. เปิด Cloud Run
  2. เลือกบริการที่ต้องการปรับ
  3. คลิกแก้ไขและทำให้การแก้ไขใหม่ใช้งานได้
  4. ทำการเปลี่ยนแปลงและคลิกทำให้ใช้งานได้

ค่าใช้จ่ายของ Cloud Run

ในการกำหนดค่า Cloud Run นี้ แต่ละเซิร์ฟเวอร์มีค่าใช้จ่ายประมาณ $45 /เดือน (USD) แต่ละเซิร์ฟเวอร์เป็นอินสแตนซ์ Cloud Run ที่มี vCPU 1 เครื่องและหน่วยความจำ 0.5 GB โดยใช้โมเดลราคาที่จัดสรรไว้ของ CPU เสมอ

เราขอแนะนำให้ใช้งานอินสแตนซ์อย่างน้อย 2 รายการเพื่อลดความเสี่ยงที่ข้อมูลจะสูญหายในกรณีที่เซิร์ฟเวอร์หยุดทำงาน แต่คุณอาจเลือกใช้เซิร์ฟเวอร์จำนวนน้อยลง (หรือมากกว่า) ก็ได้ เราคาดว่าการปรับขนาดเซิร์ฟเวอร์อัตโนมัติ 2-10 เซิร์ฟเวอร์จะรองรับคำขอได้ 35-350 รายการต่อวินาที แต่ประสิทธิภาพจะแตกต่างกันไปตามจำนวนแท็กและการทำงานของแท็กเหล่านั้น

Cloud Run จะปรับขนาดตามภาระงานแบบไดนามิก การตั้งค่า max-instances เป็นกรณีที่เลวร้ายที่สุดสำหรับจำนวนเงินที่คุณต้องจ่ายสำหรับทรัพยากร Cloud Run จะไม่จัดสรรอินสแตนซ์จำนวนมากเท่าที่จำเป็น

โปรแกรมคำนวณ Cloud Run

ไม่บังคับ: การย้ายข้อมูลจาก App Engine

หากคุณสร้างการทำให้ใช้งานได้ของ App Engine ไว้ก่อนหน้านี้และได้ยืนยันแล้วว่าไม่ได้รับการรับส่งข้อมูลอีกต่อไป ให้ปิดใช้แอปพลิเคชัน App Engine เพื่อป้องกันการเรียกเก็บเงินที่ไม่คาดคิด

ไม่บังคับ: การติดตั้งใช้งานหลายภูมิภาค

หากเว็บไซต์มีตัวตนอยู่ทั่วโลกหรือหากต้องการเพิ่มความซ้ำซ้อนในบริการ ให้ติดตั้งใช้งานเซิร์ฟเวอร์การติดแท็กในหลายภูมิภาค

ก่อนจะเริ่ม

  1. สร้างตัวจัดสรรภาระงาน
  2. จดBACKEND_NAMEที่คุณเลือก

วิธีเพิ่มภูมิภาคในการทำให้ใช้งานได้

  1. ให้แทนที่ REGION ด้วยภูมิภาคที่มีการทำให้เซิร์ฟเวอร์ตัวอย่างใช้งานได้ ระบบอาจกรอกข้อมูลนี้หากคุณทำตามตัวเลือกบรรทัดคำสั่งเพื่อจัดสรรเซิร์ฟเวอร์การแสดงตัวอย่างและการติดแท็ก
  2. แทนที่ CONTAINER_CONFIG ด้วยสตริงการกำหนดค่าคอนเทนเนอร์จาก Tag Manager ซึ่งอาจมีการเติมข้อมูลไว้แล้วหากคุณปฏิบัติตามตัวเลือกบรรทัดคำสั่งเพื่อจัดสรรเซิร์ฟเวอร์การแสดงตัวอย่างและการติดแท็ก
  3. โปรดแทนที่ NEW_REGION ด้วยภูมิภาคใหม่ที่ต้องการทำให้เซิร์ฟเวอร์การติดแท็กใช้งานได้
  4. แทนที่ BACKEND_NAME ด้วยชื่อที่คุณเลือกขณะจัดสรรตัวจัดสรรภาระงาน
  5. ไม่บังคับ: หากต้องการเพิ่มภูมิภาคอื่น ให้แทนที่ตัวแปร NEW_REGION และเรียกใช้ข้อมูลโค้ดอีกครั้ง
    gcloud run deploy "server-side-tagging" \
    --region NEW_REGION \
    --image gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable \
    --platform managed \
    --ingress all \
    --min-instances 2 \
    --max-instances 10 \
    --timeout 60 \
    --allow-unauthenticated \
    --no-cpu-throttling \
    --update-env-vars PREVIEW_SERVER_URL="$(
      gcloud run services describe server-side-tagging-preview \--region "REGION" \
      --format="value(status.url)")",CONTAINER_CONFIG="CONTAINER_CONFIG" && \

    gcloud compute network-endpoint-groups create server-side-tagging-neg \
    --region=NEW_REGION \
    --network-endpoint-type=SERVERLESS \
    --cloud-run-service="server-side-tagging" && \

    gcloud compute backend-services add-backend --global "BACKEND_NAME" \
    --network-endpoint-group-region=NEW_REGION \
    --network-endpoint-group=server-side-tagging-neg

ไม่บังคับ: ปิดใช้การบันทึก

ขอบันทึก

โดยค่าเริ่มต้น ระบบจะบันทึกข้อมูลเกี่ยวกับคำขอทุกรายการ (เช่น เส้นทางคำขอ พารามิเตอร์การค้นหา ฯลฯ) หากเซิร์ฟเวอร์การติดแท็กของคุณจัดการคำขอจำนวนมากต่อเดือน (เช่น มากกว่า 1 ล้านรายการ) ข้อความบันทึกเหล่านั้นอาจทำให้เกิดค่าบริการบันทึกจำนวนมาก หากต้องการลดหรือกำจัดค่าใช้จ่ายในการบันทึก เราขอแนะนำให้ปิดใช้การบันทึกคำขอ

วิธีปิดใช้การบันทึกคำขอ

  1. ใน Google Cloud Platform ให้เปิดเราเตอร์ของบันทึก ตรวจสอบว่าคุณอยู่ในโปรเจ็กต์ที่ตรงกับรหัสคอนเทนเนอร์:
    ภาพหน้าจอของตัวเลือกโปรเจ็กต์ GCP ตัวอย่างรหัสคอนเทนเนอร์
Tag Manager
  2. สำหรับประเภท: ที่เก็บข้อมูล Cloud Logging บรรทัดชื่อ: _Default ให้เลือกเมนูรายการเพิ่มเติม แล้วคลิกแก้ไขซิงก์
  3. ในส่วนปลายทางของซิงก์ ให้เลือกที่เก็บข้อมูลบันทึก _Default
  4. เพิ่มบรรทัดใหม่ในส่วน เลือกบันทึกที่จะรวมไว้ในซิงก์ ป้อนกฎต่อไปนี้ลงในตัวกรองการรวมที่มีอยู่

    NOT LOG_ID("run.googleapis.com/requests")
    
  5. หากต้องการปิดใช้การบันทึกจากตัวจัดสรรภาระงาน ให้เพิ่มบรรทัดใหม่และป้อนกฎต่อไปนี้ลงในตัวกรองการรวมที่มีอยู่

    NOT LOG_ID("requests")
    
  6. ซิงก์การอัปเดตเพื่อใช้การเปลี่ยนแปลง ตอนนี้คำขอจะถูกยกเว้น จากการบันทึก

  7. ตรวจสอบว่าไม่มีคำขอใหม่ปรากฏในบันทึกของ Logs Explorer

การบันทึกคอนโซล

เซิร์ฟเวอร์การติดแท็ก ไคลเอ็นต์ หรือแท็กในคอนเทนเนอร์สามารถบันทึกข้อความไปยังคอนโซลที่อาจมีการเรียกเก็บเงินการบันทึก หากต้องการลดหรือกำจัดค่าใช้จ่ายการบันทึก คุณสามารถปิดใช้ข้อความบันทึกของคอนโซลที่ไม่ต้องการได้

ระบุบันทึกของคอนโซลที่ไม่ต้องการดังนี้

  1. เปิด Logs Explorer ใน GCP
  2. มองหาข้อความบันทึกที่ไม่ต้องการซึ่งมาจากแท็กของคุณ เช่น

    แท็กอาจส่งบันทึกต่อไปนี้

    const logToConsole = require('logToConsole');
    
    logToConsole('Custom message: ' + data.param1);
    logToConsole('An important message to keep around!');
    data.gtmOnSuccess()
    

    มองหาข้อความบันทึกที่เกี่ยวข้องในช่อง textPayload
    ภาพหน้าจอของ GCP Logging Explorer
ที่แสดงตัวอย่างบันทึก

หากต้องการปิดใช้ข้อความบันทึกของคอนโซล ให้ทำดังนี้

  1. ใน Google Cloud Platform ให้เปิดเราเตอร์ของบันทึก ตรวจสอบว่าคุณอยู่ในโปรเจ็กต์ที่ตรงกับรหัสคอนเทนเนอร์:
    ภาพหน้าจอของตัวเลือกโปรเจ็กต์ GCP ตัวอย่างรหัสคอนเทนเนอร์
Tag Manager
  2. สำหรับประเภท: ที่เก็บข้อมูล Cloud Logging บรรทัดชื่อ: _Default ให้เลือกเมนูรายการเพิ่มเติม แล้วคลิกแก้ไขซิงก์
  3. ในส่วนปลายทางของซิงก์ ให้เลือกที่เก็บข้อมูลบันทึก _Default
  4. เพิ่มบรรทัดใหม่ในส่วน เลือกบันทึกที่จะรวมไว้ในซิงก์ ป้อนกฎต่อไปนี้ลงในตัวกรองการรวมที่มีอยู่

    NOT textPayload:"Custom message:"
    

    สำหรับบันทึกของคอนโซล ให้แทนที่ข้อความ Custom message: ด้วยสตริงย่อยจากบันทึกของคอนโซลที่คุณต้องการปิดใช้ หากต้องการตัวกรองที่ละเอียดขึ้น ให้ใช้ภาษาการค้นหาการบันทึก

  5. ซิงก์การอัปเดตเพื่อใช้การเปลี่ยนแปลง ข้อความ logToConsole ที่ตรงกันควรไม่รวมอยู่ในการบันทึก

  6. ตรวจสอบว่าไม่มีข้อความบันทึกของคอนโซลใหม่ปรากฏใน Logs Explorer

2. แมปการทำให้ใช้งานได้กับโดเมนที่กำหนดเอง

หากต้องการตั้งค่าโดเมนที่กำหนดเอง ให้ใช้ตัวจัดสรรภาระงานของแอปพลิเคชันภายนอกทั่วโลก

3. เพิ่ม URL ของเซิร์ฟเวอร์ลงใน Google Tag Manager

เมื่อมีเซิร์ฟเวอร์แล้ว คุณจะต้องตรวจสอบว่า Google Tag Manager รู้ว่าควรใช้เซิร์ฟเวอร์ของคุณ

  1. เปิด Google Tag Manager

  2. คลิกคอนเทนเนอร์เซิร์ฟเวอร์ที่ต้องการชี้ไปที่เซิร์ฟเวอร์การติดแท็ก

  3. เปิดการตั้งค่าคอนเทนเนอร์เซิร์ฟเวอร์ในแท็บผู้ดูแลระบบ > การตั้งค่าคอนเทนเนอร์

  4. คลิกเพิ่ม URL แล้ววาง URL ของเซิร์ฟเวอร์

  5. บันทึกและกลับไปยังพื้นที่ทํางาน

4. การตรวจสอบความถูกต้อง

เมื่อตั้งค่าเซิร์ฟเวอร์การติดแท็กเรียบร้อยแล้ว ให้ตรวจสอบว่าเซิร์ฟเวอร์ทำงานตามที่ต้องการ ในพื้นที่ทำงานของ Tag Manager ให้คลิกปุ่มแสดงตัวอย่าง หากหน้าตัวอย่างโหลดขึ้นมา ก็แปลว่าทุกอย่างได้รับการตั้งค่าอย่างถูกต้อง

การดูตัวอย่าง URL หลายรายการ

หากคุณแมปหลายโดเมนกับเซิร์ฟเวอร์การติดแท็กเดียว โปรดตรวจสอบว่าได้เพิ่ม URL แต่ละรายการลงในการตั้งค่าคอนเทนเนอร์

หากคุณระบุ URL หลายรายการ เส้นทางทั้งหมด (สตริงหลังชื่อโดเมน) ต้องตรงกัน

ผลงาน ไม่ทำงาน
URL 1: example.com/abc
URL 2: example2.com/abc
URL 1: example.com/abc
URL 2: example2.com/def

หากเพิ่ม URL หลายรายการ คุณจะเห็นไอคอนข้างปุ่มแสดงตัวอย่างที่ช่วยให้เลือก URL เพื่อดูตัวอย่างได้

อัปเดตเวอร์ชันของเซิร์ฟเวอร์การติดแท็ก

การอัปเดตเซิร์ฟเวอร์การติดแท็กใหม่มีการแก้ไขช่องโหว่ด้านความปลอดภัยและฟีเจอร์ใหม่ๆ อย่างน้อยเราขอแนะนำให้อัปเดตเซิร์ฟเวอร์การติดแท็กของคุณสำหรับการเผยแพร่เวอร์ชันหลักแต่ละเวอร์ชัน (เช่น อัปเกรดจากเวอร์ชัน 1.x.x เป็น 2.x.x) เมื่อ Tag Manager แจ้งเตือนให้คุณอัปเดต

หากต้องการอัปเดตเซิร์ฟเวอร์การติดแท็ก ให้ใช้การแก้ไขใหม่โดยใช้การตั้งค่าเดียวกันกับที่ใช้ก่อนหน้านี้

  1. เปิด Cloud Run
  2. เลือกบริการที่ต้องการอัปเดต
  3. คลิกแก้ไขและทำให้การแก้ไขใหม่ใช้งานได้
  4. ตรวจสอบว่าได้ตั้งค่า URL ของอิมเมจคอนเทนเนอร์เป็น gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable แล้วคลิกทำให้ใช้งานได้

วิธียืนยันว่าการอัปเดตเสร็จสมบูรณ์แล้ว

  1. ในคอนเทนเนอร์เซิร์ฟเวอร์ ให้คลิกปุ่มแสดงตัวอย่างเพื่อเริ่มเซสชันแก้ไขข้อบกพร่องใหม่และส่งคำขอในแท็บแยกต่างหาก
  2. ในสรุป ให้เลือกแท็บคอนโซลและตรวจสอบว่าไม่มีข้อความที่ขอให้คุณอัปเดตเซิร์ฟเวอร์การติดแท็ก

เครื่องจัดการแท็กอาจแสดงข้อความที่ขอให้คุณอัปเดตเซิร์ฟเวอร์การติดแท็กภายใน 1 วันหลังจากที่อัปเดตเซิร์ฟเวอร์เสร็จเรียบร้อยแล้ว อย่างไรก็ตาม หน้าตัวอย่างจะแสดงข้อความที่อัปเดตล่าสุดเกี่ยวกับเวอร์ชันของเซิร์ฟเวอร์การติดแท็ก