ตั้งค่าการติดแท็กฝั่งเซิร์ฟเวอร์ด้วย 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 ดังกล่าวไม่ได้รับการเรียกดูอีกต่อไป ให้ปิดใช้แอปพลิเคชัน App Engine เพื่อป้องกันการเรียกเก็บเงินที่ไม่คาดคิด

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

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

ก่อนจะเริ่ม

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

วิธีเพิ่มภูมิภาคอื่นๆ ลงในการใช้งาน

  1. แทนที่ REGION ด้วยภูมิภาคที่ติดตั้งใช้งานเซิร์ฟเวอร์เวอร์ชันตัวอย่าง ข้อมูลนี้อาจกรอกไว้แล้วหากคุณทำตามตัวเลือกบรรทัดคำสั่งเพื่อจัดสรรเซิร์ฟเวอร์เวอร์ชันตัวอย่างและการติดแท็ก
  2. แทนที่ CONTAINER_CONFIG ด้วยสตริงคอนเทนเนอร์ 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 ให้เปิดLogs Router ตรวจสอบว่าคุณอยู่ในโปรเจ็กต์ที่ตรงกับรหัสคอนเทนเนอร์
    ภาพหน้าจอของตัวเลือกโปรเจ็กต์ GCP ที่แสดงตัวอย่างรหัสคอนเทนเนอร์ Tag Manager
  2. สำหรับบรรทัดประเภท: ที่เก็บข้อมูลบันทึกของ Cloud, ชื่อ: _Default ให้เลือกเมนูรายการเพิ่มเติม แล้วคลิกแก้ไขที่ส่งออก
  3. ในส่วนปลายทางที่ส่งออก ให้เลือกที่เก็บข้อมูลบันทึก _Default
  4. เพิ่มบรรทัดใหม่ในส่วนเลือกบันทึกที่จะรวมไว้ในซิงก์ ป้อนกฎต่อไปนี้ลงในตัวกรองการรวมที่มีอยู่

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

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

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

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

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

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

  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 ที่แสดงตัวอย่างบันทึก

วิธีปิดใช้ข้อความบันทึกคอนโซล

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

    NOT textPayload:"Custom message:"
    

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

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

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

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

หากต้องการตั้งค่าโดเมนที่กำหนดเอง ให้ใช้ Application Load Balancer ภายนอกทั่วโลก

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

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

  1. เปิด Google Tag Manager

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

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

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

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

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

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

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

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

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

Works ใช้งานไม่ได้
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. ในสรุป ให้เลือกแท็บคอนโซล และตรวจสอบว่าไม่มีข้อความขอให้คุณอัปเดตเซิร์ฟเวอร์การติดแท็ก

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