0
window.dataLayer = window.dataLayer || []
window.dataLayer.push(gtmDataLayerObject)

We are using window.dataLayer.push method for pushing data to GTM, So initially it working fine, after change any page and we push new data in dataLayer show both data new and older. How can I reset, remove or override the older data before new push??

I have tried below code but not work for me.

window['google_tag_manager']['GTM-XXXXXX'].dataLayer.reset()
[
    {
        "gtm.start": 1667452944739,
        "event": "gtm.js",
        "gtm.uniqueEventId": 1
    },
    {
        "siteModule": "TEST DATA",
        "secondLevelModule": "-",
        "thirdLevelModule": "-",
        "userId": 111111,
        "dateTimeCustom": "Thu Nov 03 2022 10:52:26 GMT+0530 (India Standard Time)"
    },
    {
        "event": "gtm.dom",
        "gtm.uniqueEventId": 3
    },
    {
        "event": "gtm.load",
        "gtm.uniqueEventId": 11
    }
]

After updating 1 index object with

{
        "siteModule": "New DATA",
        "secondLevelModule": "New DATA",
        "thirdLevelModule": "New DATA",
        "userId": 22222,
        "dateTimeCustom": "Thu Nov 03 2022 10:58:56 GMT+0530 (India Standard Time)"
}

We need to push new data object only.

[
    {
        "gtm.start": 1667452944739,
        "event": "gtm.js",
        "gtm.uniqueEventId": 1
    },
    {
    "siteModule": "New DATA",
        "secondLevelModule": "New DATA",
        "thirdLevelModule": "New DATA",
        "userId": 22222,
        "dateTimeCustom": "Thu Nov 03 2022 10:58:56 GMT+0530 (India Standard Time)"
    },
    {
        "event": "gtm.dom",
        "gtm.uniqueEventId": 3
    },
    {
        "event": "gtm.load",
        "gtm.uniqueEventId": 11
    }
]
  • It is very usual that datalayer has old information and new information. Let's say I have a datalayer is `page_category`. Then I browse page A and Page B. The datalayer will show two `page_category`. But GTM's datalayer variable will get the newest one. Is that make sense to you? – darrelltw Nov 03 '22 at 05:57

0 Answers0