คู่มือนี้จะอธิบายวิธีดำเนินการต่อไปนี้
- จัดสรรเซิร์ฟเวอร์การติดแท็กใน Google Cloud Platform (GCP) App Engine
- อัปเกรดเซิร์ฟเวอร์การติดแท็กเพื่อจัดการการเข้าชมแบบเรียลไทม์
- เพิ่มหรือลดจำนวนเซิร์ฟเวอร์ที่เรียกใช้คอนเทนเนอร์ Google Tag Manager
- อัปเดตเวอร์ชันเซิร์ฟเวอร์การติดแท็กอยู่เสมอหลังจากจัดสรรเซิร์ฟเวอร์
ข้อกำหนดเบื้องต้น
- คุณต้องมีบัญชี GCP หากยังไม่มีบัญชี ให้สร้างบัญชี GCP ใหม่
- คุณต้องมีบัญชีสำหรับการเรียกเก็บเงินของ GCP หากยังไม่มีบัญชี ให้สร้างบัญชีสำหรับการเรียกเก็บเงินของ GCP (ต้องมีบทบาทผู้สร้างบัญชีสำหรับการเรียกเก็บเงิน)
- คุณต้องมีบทบาทผู้สร้างโปรเจ็กต์และผู้ใช้บัญชีสำหรับการเรียกเก็บเงิน ดูข้อมูลเพิ่มเติมเกี่ยวกับ การเพิ่มบทบาท.
1. จัดสรรเซิร์ฟเวอร์
หากต้องการสร้างเซิร์ฟเวอร์การติดแท็กใหม่ในอินสแตนซ์ App Engine คุณต้องดำเนินการต่อไปนี้
- สร้างคอนเทนเนอร์ของเซิร์ฟเวอร์ใหม่ใน Tag Manager
- สร้างโปรเจ็กต์ Google Cloud (GCP) ใหม่
- จัดสรรเซิร์ฟเวอร์การติดแท็ก App Engine ใหม่
- เพิ่ม URL ของเซิร์ฟเวอร์การติดแท็กใหม่ลงในคอนเทนเนอร์ของเซิร์ฟเวอร์ Tag Manager
สร้างคอนเทนเนอร์ของเซิร์ฟเวอร์ Google Tag Manager
เปิด Google Tag Manager.
ในแถวบัญชี ให้คลิกเมนูรายการเพิ่มเติม > สร้างคอนเทนเนอร์
สร้างคอนเทนเนอร์ของเซิร์ฟเวอร์ใหม่
คลิกปุ่มตัวเลือก "จัดสรรเซิร์ฟเวอร์การติดแท็กด้วยตนเอง" จดการกำหนดค่าคอนเทนเนอร์ คุณจะต้องใช้การกำหนดค่านี้เพื่อจัดสรรเซิร์ฟเวอร์
สร้างโปรเจ็กต์ GCP ใหม่
วิธีสร้างโปรเจ็กต์ GCP ใหม่สำหรับเซิร์ฟเวอร์การติดแท็ก
เปิด คอนโซล Google Cloud
ตั้งชื่อโปรเจ็กต์ เราขอแนะนำให้ใช้รหัสคอนเทนเนอร์เพื่อความสะดวก ชื่อนี้จะใช้ภายใน GCP เท่านั้น
จด รหัสโปรเจ็กต์ GCPไว้ เนื่องจากคุณจะต้องใช้รหัสนี้เพื่อสร้างเซิร์ฟเวอร์การติดแท็ก
จัดสรรเซิร์ฟเวอร์การติดแท็กใหม่
วิธีสร้างเซิร์ฟเวอร์การติดแท็ก
เปิด Cloud Shell
ตั้งค่าโปรเจ็กต์ GCP ใน Cloud Shell แทนที่
project IDด้วยรหัสโปรเจ็กต์ GCP ที่จดไว้ก่อนหน้านี้gcloud config set project project IDสร้างเซิร์ฟเวอร์การติดแท็กโดยทำตามสคริปต์ของ Shell ตั้งค่าประเภทการติดตั้งใช้งานเป็น
testingbash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
เพิ่ม URL ของเซิร์ฟเวอร์การติดแท็กลงใน Tag Manager
เปิด Google Tag Manager.
ในส่วนผู้ดูแลระบบ > การตั้งค่าคอนเทนเนอร์ ให้คลิกเพิ่ม URL หากไม่ทราบ URL ของเซิร์ฟเวอร์ ให้เรียกใช้คำสั่งต่อไปนี้ใน Cloud Shell:
gcloud app browseผลลัพธ์: คุณได้ตั้งค่าเซิร์ฟเวอร์การติดแท็กและจัดสรรเซิร์ฟเวอร์ด้วยการกำหนดค่า
testingแล้ว ตอนนี้คุณสามารถทดสอบการติดแท็กฝั่งเซิร์ฟเวอร์ได้แล้ว
การกำหนดค่าเซิร์ฟเวอร์เริ่มต้น (testing)
การกำหนดค่า `testing` เหมาะสำหรับการสำรวจผลิตภัณฑ์โดยการส่งการเข้าชมทดสอบจำนวนเล็กน้อยและการใช้ฟีเจอร์แสดงตัวอย่างใน Tag Manager การกำหนดค่านี้เป็นคลาสอินสแตนซ์ App Engine F1 ในสภาพแวดล้อมมาตรฐาน และในกรณีส่วนใหญ่ คุณจะไม่มีค่าใช้จ่าย
2. การใช้ App Engine ในการใช้งานจริง
ในการกำหนดค่า production เซิร์ฟเวอร์แต่ละเครื่องจะมีค่าใช้จ่ายประมาณ $40 ต่อเดือน (USD) เซิร์ฟเวอร์แต่ละเครื่องเป็นอินสแตนซ์ App Engine ที่มี
1 vCPU, หน่วยความจำ 0.5 GB, ดิสก์ 10 GB
ในสภาพแวดล้อมแบบยืดหยุ่น
ดู การจัดการค่าใช้จ่ายของ App Engine เพื่อทำความเข้าใจการเรียกเก็บเงินของ App Engine และวิธีกำหนดค่าการแจ้งเตือนการเรียกเก็บเงิน เรา ขอแนะนำอย่างยิ่งให้ตั้งค่า การแจ้งเตือนการเรียกเก็บเงิน
การตั้งค่าการใช้งานจริงที่แนะนำ
เราขอแนะนำให้เรียกใช้เซิร์ฟเวอร์อย่างน้อย 3 เครื่องเพื่อลดความเสี่ยงในการสูญเสียข้อมูลในกรณีที่เซิร์ฟเวอร์หยุดทำงาน อย่างไรก็ตาม คุณสามารถเลือกที่จะเรียกใช้เซิร์ฟเวอร์น้อยลง (หรือมากขึ้น) ก็ได้ เราคาดว่าการปรับขนาดอัตโนมัติของเซิร์ฟเวอร์ 3-6 เครื่อง (ค่าเริ่มต้น) จะจัดการคำขอได้ 50-200 รายการต่อวินาที ประสิทธิภาพจะขึ้นอยู่กับจำนวนแท็กและสิ่งที่แท็กเหล่านั้นทำ
วิธีกำหนดค่าเซิร์ฟเวอร์การติดแท็ก
- เปิด Google Cloud Platform Cloud Shell
- ตั้งค่าโปรเจ็กต์ Cloud Platform ใน Cloud Shell แทนที่
project IDด้วยรหัสโปรเจ็กต์ GCP ที่จดไว้ก่อนหน้านี้gcloud config set project project ID
- หากต้องการกำหนดค่าเซิร์ฟเวอร์การติดแท็กใหม่สำหรับสภาพแวดล้อมการใช้งานจริง ให้เรียกใช้
สคริปต์การตั้งค่าด้านล่าง และทำตามงานต่อไปนี้
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
- เปลี่ยนประเภทการติดตั้งใช้งานเป็น
production - ตั้งค่าเซิร์ฟเวอร์เพิ่มเติมเพื่อแสดงการเข้าชมการใช้งานจริง เราขอแนะนำให้ใช้เซิร์ฟเวอร์อย่างน้อย 3 เครื่อง
- เปลี่ยนประเภทการติดตั้งใช้งานเป็น
ไม่บังคับ: ปิดใช้การบันทึก
การบันทึกคำขอ
โดยค่าเริ่มต้น App Engine จะบันทึกข้อมูลเกี่ยวกับคำขอทุกรายการ (เช่น เส้นทางคำขอ พารามิเตอร์การค้นหา ฯลฯ) ที่ได้รับ หากเซิร์ฟเวอร์การติดแท็ก จัดการคำขอจำนวนมากต่อเดือน (เช่น มากกว่า 1 ล้านรายการ) ข้อความบันทึกเหล่านั้นอาจทำให้เกิด ค่าใช้จ่ายในการบันทึกจำนวนมาก เราขอแนะนำให้ปิดใช้การบันทึกคำขอของ App Engine เพื่อลดหรือกำจัดค่าใช้จ่ายในการบันทึก
วิธีปิดใช้การบันทึกคำขอของ App Engine
- เปิด
ตัวจัดเส้นทางบันทึก ใน Google Cloud Platform ตรวจสอบว่า
คุณอยู่ในโปรเจ็กต์ที่ตรงกับรหัสคอนเทนเนอร์:

- สำหรับประเภท: Cloud Logging bucket, ชื่อ: _Default line ให้เลือกเมนูรายการเพิ่มเติม แล้วคลิกแก้ไขซิงก์
- ในส่วนปลายทางของซิงก์ ให้เลือก Bucket บันทึก _Default
ในส่วนเลือกบันทึกเพื่อรวมไว้ในซิงก์ ให้เพิ่มบรรทัดใหม่ ป้อนกฎต่อไปนี้ลงในตัวกรองการรวมที่มีอยู่
NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT LOG_ID("appengine.googleapis.com/request_log")หากต้องการปิดใช้การบันทึกจากตัวจัดสรรภาระงานด้วย ให้เพิ่มบรรทัดใหม่และป้อนกฎต่อไปนี้ลงในตัวกรองการรวมที่มีอยู่
NOT LOG_ID("requests")อัปเดตซิงก์ เพื่อใช้การเปลี่ยนแปลง ตอนนี้ระบบจะยกเว้นคำขอ App Engine จากการบันทึก
ตรวจสอบว่าไม่มีคำขอใหม่ปรากฏใน บันทึกเครื่องมือสำรวจบันทึก
การบันทึกคอนโซล
เซิร์ฟเวอร์การติดแท็ก ไคลเอ็นต์ หรือแท็กในคอนเทนเนอร์สามารถบันทึกข้อความลงใน คอนโซล ซึ่งอาจทำให้เกิด ค่าใช้จ่ายในการบันทึก คุณสามารถปิดใช้ข้อความบันทึกคอนโซลที่ไม่ต้องการเพื่อลดหรือกำจัดค่าใช้จ่ายในการบันทึก
ระบุบันทึกคอนโซลที่ไม่ต้องการ
- เปิด เครื่องมือสำรวจบันทึกใน GCP
มองหาข้อความบันทึกที่ไม่ต้องการซึ่งมาจากแท็ก เช่น
แท็กอาจส่งบันทึกต่อไปนี้
const logToConsole = require('logToConsole'); logToConsole('Custom message: ' + data.param1); logToConsole('An important message to keep around!'); data.gtmOnSuccess()มองหาข้อความบันทึกที่เกี่ยวข้องในช่อง
textPayloadfield:
วิธีปิดใช้ข้อความในบันทึกคอนโซล
- เปิด
ตัวจัดเส้นทางบันทึก ใน Google Cloud Platform ตรวจสอบว่า
คุณอยู่ในโปรเจ็กต์ที่ตรงกับรหัสคอนเทนเนอร์:

- สำหรับประเภท: Cloud Logging bucket, ชื่อ: _Default line ให้เลือกเมนูรายการเพิ่มเติม แล้วคลิกแก้ไขซิงก์
- ในส่วนปลายทางของซิงก์ ให้เลือก Bucket บันทึก _Default
ในส่วนเลือกบันทึกเพื่อรวมไว้ในซิงก์ ให้เพิ่มบรรทัดใหม่ ป้อนกฎต่อไปนี้ลงในตัวกรองการรวมที่มีอยู่
NOT textPayload:"Custom message:"สำหรับบันทึกคอนโซล ให้แทนที่ Custom message: ข้อความ ด้วยสตริงย่อยจากบันทึกคอนโซลที่คุณต้องการปิดใช้ หากต้องการตัวกรองที่ซับซ้อนมากขึ้น ให้ใช้ ภาษาการค้นหาการบันทึก
อัปเดตซิงก์ เพื่อใช้การเปลี่ยนแปลง ระบบควรยกเว้นข้อความ
logToConsoleที่ตรงกันจากการบันทึกตรวจสอบว่าไม่มีข้อความบันทึกคอนโซลใหม่ปรากฏใน เครื่องมือสำรวจบันทึก
3. แมปการติดตั้งใช้งานกับโดเมนที่กำหนดเอง
การติดตั้งใช้งานการติดแท็กฝั่งเซิร์ฟเวอร์เริ่มต้นจะโฮสต์ในโดเมน App Engine เราขอแนะนำให้คุณแก้ไขการติดตั้งใช้งานเพื่อใช้โดเมนย่อยของเว็บไซต์
แมปโดเมนย่อยของเว็บไซต์กับเซิร์ฟเวอร์การติดแท็ก
4. เพิ่ม URL ของเซิร์ฟเวอร์ลงใน Google Tag Manager
เมื่อมีเซิร์ฟเวอร์แล้ว คุณต้องตรวจสอบว่า Google Tag Manager ทราบว่าควรใช้เซิร์ฟเวอร์ของคุณ
เปิด Google Tag Manager.
คลิกคอนเทนเนอร์ของเซิร์ฟเวอร์ที่ต้องการชี้ไปยังเซิร์ฟเวอร์การติดแท็ก
เปิดการตั้งค่าคอนเทนเนอร์ของเซิร์ฟเวอร์ในแท็บผู้ดูแลระบบ > การตั้งค่าคอนเทนเนอร์
คลิกเพิ่ม URL แล้ววาง URL ของเซิร์ฟเวอร์
บันทึก แล้วกลับไปที่พื้นที่ทำงาน
5. การตรวจสอบความถูกต้อง
เมื่อตั้งค่าเซิร์ฟเวอร์การติดแท็กแล้ว ให้ตรวจสอบว่าเซิร์ฟเวอร์ทำงานตามที่ต้องการ
การยืนยัน UI
ในพื้นที่ทำงานของ Tag Manager ให้คลิกปุ่มแสดงตัวอย่าง หากหน้าแสดงตัวอย่างโหลด แสดงว่าทุกอย่างได้รับการตั้งค่าอย่างถูกต้อง
การยืนยัน API
นอกจากนี้ คุณยังยืนยันได้ว่าเซิร์ฟเวอร์ตอบสนองต่อการตรวจสอบประสิทธิภาพการทำงานโดยใช้ API ของเซิร์ฟเวอร์
- คัดลอก URL ของคอนเทนเนอร์เซิร์ฟเวอร์ จากผู้ดูแลระบบ > การตั้งค่าคอนเทนเนอร์
- เปิดแท็บเบราว์เซอร์ใหม่
- วาง URL แล้วต่อท้าย
/healthyลงในเส้นทาง เช่นhttps://www.example.com/metrics/healthy - หากบริการทำงาน คุณควรเห็นข้อความ
okในหน้า
หากคำขอสำหรับผลิตภัณฑ์หนึ่งๆ หายไป ให้ตรวจสอบว่าระบบได้ทริกเกอร์เหตุการณ์แล้ว คำสั่ง config จะเริ่มต้นผลิตภัณฑ์ แต่โดยปกติแล้วระบบจะส่งข้อมูลเมื่อมีการเรียก event เท่านั้น
ดูข้อมูลเพิ่มเติมเกี่ยวกับแนวทางปฏิบัติแนะนำสำหรับการยืนยันการติดแท็กฝั่งเซิร์ฟเวอร์ได้ที่ ดู การกำหนดค่าโดเมนที่กำหนดเอง
แสดงตัวอย่าง URL หลายรายการ
หากคุณแมปโดเมนหลายรายการกับเซิร์ฟเวอร์การติดแท็กเดียว ให้ตรวจสอบว่าได้เพิ่ม URL แต่ละรายการลงในการตั้งค่าคอนเทนเนอร์แล้ว
หากคุณระบุ URL หลายรายการ เส้นทางทั้งหมด (สตริงหลังชื่อโดเมน) ต้องตรงกัน
| ใช้ได้ | ใช้ไม่ได้ |
|---|---|
URL 1: example.com/abcURL 2: example2.com/abc |
URL 1: example.com/abcURL 2: example2.com/def |
หากเพิ่ม URL หลายรายการ คุณจะเห็นไอคอนข้างปุ่มแสดงตัวอย่าง ซึ่งช่วยให้คุณเลือก URL ที่จะแสดงตัวอย่างได้
อัปเดตเวอร์ชันเซิร์ฟเวอร์การติดแท็ก
การอัปเดตเซิร์ฟเวอร์การติดแท็กใหม่มีการแก้ไขช่องโหว่ด้านความปลอดภัยและฟีเจอร์ใหม่ เราขอแนะนำให้อัปเดตเซิร์ฟเวอร์การติดแท็กอย่างน้อยทุกครั้งที่มีการเผยแพร่เวอร์ชันหลัก (เช่น การอัปเกรดจากเวอร์ชัน 1.x.x เป็น 2.x.x) เมื่อ Tag Manager แจ้งให้คุณอัปเดต
หากต้องการอัปเดตเซิร์ฟเวอร์การติดแท็ก ให้เรียกใช้สคริปต์การตั้งค่าอีกครั้งโดยใช้การตั้งค่าเดียวกับที่ใช้ก่อนหน้านี้ ระบบจะตั้งค่าที่มีอยู่โดยค่าเริ่มต้น
วิธีอัปเดตเซิร์ฟเวอร์การติดแท็ก
- เปิด Google Cloud Platform Cloud Shell
- ตั้งค่าโปรเจ็กต์ Cloud Platform ใน Cloud Shell แทนที่
project IDด้วยรหัสโปรเจ็กต์ GCP ที่จดไว้ก่อนหน้านี้gcloud config set project project ID
- เรียกใช้สคริปต์การตั้งค่าโดยใช้การตั้งค่าเดียวกับที่ใช้ก่อนหน้านี้ ระบบจะตั้งค่าที่มีอยู่โดยค่าเริ่มต้น
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
วิธีตรวจสอบว่าการอัปเดตสำเร็จ
- ในคอนเทนเนอร์ของเซิร์ฟเวอร์ ให้คลิกปุ่มแสดงตัวอย่าง เพื่อเริ่มเซสชัน การแก้ไขข้อบกพร่องใหม่และส่งคำขอในแท็บแยกต่างหาก
- ในสรุป ให้เลือกแท็บคอนโซล และตรวจสอบว่าไม่มีข้อความแจ้งให้คุณอัปเดตเซิร์ฟเวอร์การติดแท็ก
Tag Manager อาจแสดงข้อความแจ้งให้คุณอัปเดตเซิร์ฟเวอร์การติดแท็กเป็นเวลาสูงสุด 1 วันหลังจากที่อัปเดตเซิร์ฟเวอร์สำเร็จ อย่างไรก็ตาม หน้าแสดงตัวอย่างจะแสดงข้อความเกี่ยวกับเวอร์ชันเซิร์ฟเวอร์การติดแท็กที่อัปเดตแล้ว
แก้ปัญหาการหมดเวลาในการติดตั้งใช้งานจริง
เมื่อเรียกใช้สคริปต์การตั้งค่าเพื่อสร้างหรือกำหนดค่า เซิร์ฟเวอร์การติดแท็กใหม่ สคริปต์อาจหมดเวลา ซึ่งอาจเกิดขึ้นได้จากหลายสาเหตุ 2 สาเหตุที่พบบ่อยที่สุดคือ
บัญชีบริการมีสิทธิ์ไม่ถูกต้อง - บัญชีบริการ Compute Engine และ App Engine มีหน้าที่รับผิดชอบในการติดตั้งใช้งานและดูแลรักษาการติดตั้งใช้งานจริง โดยค่าเริ่มต้น ระบบจะกำหนดค่าบัญชีบริการเหล่านี้ล่วงหน้าด้วยสิทธิ์ที่เหมาะสม อย่างไรก็ตาม ในบางกรณี นโยบายขององค์กรอาจทำให้สิทธิ์ไม่ถูกต้อง
- ไปที่หน้า IAM และผู้ดูแลระบบ ในแถบนำทางด้านซ้ายใน คอนโซล Google Cloud
- ค้นหาบัญชีบริการ Compute Engine
<project_number>-compute@developer.gserviceaccount.comและบัญชีบริการ App Engine<project_name>@appspot.gserviceaccount.com - บัญชีบริการทั้ง 2 บัญชีต้องมีบทบาท
Editorหากบัญชีใดบัญชีหนึ่ง ไม่มีบทบาทEditorให้อัปเดตบทบาทโดยคลิกไอคอนดินสอ ทางด้านขวาของบัญชี คลิกเมนูแบบเลื่อนลงของบทบาทที่มีอยู่ เลื่อนขึ้นไปด้านบน แล้วคลิก โปรเจ็กต์ จากนั้นคลิก Editor
โควต้าไม่เพียงพอ - การติดตั้งใช้งานจริงใช้โควต้า Compute Engine หากโปรเจ็กต์มีโควต้าไม่เพียงพอ การติดตั้งใช้งานอาจหมดเวลาขณะพยายามจัดสรรทรัพยากร
- ไปที่หน้า IAM และผู้ดูแลระบบ ในแถบนำทางด้านซ้ายใน คอนโซล Google Cloud แล้วคลิกแท็บโควต้า ในแถบนำทางด้านซ้าย
- คลิกช่องข้อความที่ระบุว่ากรองตาราง ใกล้ด้านบนของหน้า แล้วพิมพ์
Compute Engine APIคลิกผลการค้นหาเพียงรายการเดียว - ตรวจสอบว่าสถานะโควตาทั้งหมดอยู่ในขีดจำกัดหรือมีเครื่องหมายถูกสีเขียว
- ค้นหาและคลิกCPU ตรวจสอบว่าการใช้งานปัจจุบันรวมกับจำนวนอินสแตนซ์ที่กำลังทำให้ใช้งานได้จะยังคงต่ำกว่าขีดจำกัดสำหรับภูมิภาคการทำให้ใช้งานได้