ตอนนี้มาโครทั้งหมดที่ใช้ในแท็ก HTML ที่กำหนดเองและมาโคร JavaScript ที่กำหนดเองจะส่งคืนค่าเดิมตลอดช่วงเวลาของเหตุการณ์ หากปัจจุบันคุณมีโค้ดที่ขึ้นอยู่กับการเปลี่ยนแปลงค่าระหว่างที่เกิดเหตุการณ์ โปรดย้ายลอจิกนั้นเข้าไปในแท็ก HTML ที่กำหนดเอง เมื่อคุณดำเนินการเสร็จและพร้อมที่จะใช้ค่าสุดท้ายแล้ว ให้พุชเหตุการณ์ลงในชั้นข้อมูลที่ระบุว่ามาโครพร้อมสำหรับการใช้งานแล้ว
ตัวอย่างเช่น หากคุณมีแท็ก HTML ที่กำหนดเองซึ่งใช้มาโครชื่อ {{productKey}} จากตัวแปร JavaScript productKey
ดังนี้
แท็ก HTML ที่กำหนดเอง #1
function() {
productKey = productKey.toUpperCase();
// use {{productKey}}
}
ตอนนี้แท็กนี้จะไม่ทำงานเนื่องจาก {{productKey}} จะไม่ส่งคืนค่าใหม่สำหรับเหตุการณ์ถัดไป คุณสามารถให้แท็กทำงานในลักษณะเดิมได้โดยการพุชเหตุการณ์ใหม่ที่เริ่มการทำงานของแท็กใหม่
แท็ก HTML ที่กำหนดเอง #1 ที่แก้ไขแล้ว
function() {
productKey = productKey.toUpperCase();
dataLayer.push({'event' : 'productKeyReady'});
}
แท็ก HTML ที่กำหนดเอง #2 ซึ่งเริ่มทำงานเมื่อเกิดเหตุการณ์ productKeyReady
function() {
// use {{productKey}}
}