Ottieni il nome della categoria usando JS

Sono riuscito a ottenere l’ID Categoria per le pagine delle Categorie e degli Argomenti,
ma quando vado alle FAQ o a un’altra pagina, l’ID Categoria viene comunque visualizzato, preso dalla pagina precedente.
Come posso escluderlo?

Ecco il mio codice, funziona, ma in generale non conosco JS.

<script type="text/discourse-plugin" version="0.8">
const container = Discourse.__container__;

api.onPageChange((url, title) => {
    const topic = container.lookup('controller:topic');
    const topic_cat_id = topic.get("model.category_id");
    if(typeof topic_cat_id !== "undefined")
    {
        gtag('event', 'Categories Views Analytics', {
            'event_category': 'Topic Page',
            'event_label': topic_cat_id,
        });
        console.log("Topic " + topic_cat_id);
    } else {
        const category = container.lookup('controller:navigation/category');
        const category_cat_id = category.get("category.id");  
        
        if(typeof category_cat_id !== "undefined") 
        {
            gtag('event', 'Categories Views Analytics', {
                'event_category': 'Category Page',
                'event_label': category_cat_id,
            });  
            console.log("Category " + category_cat_id);
        } else {
            gtag('event', 'Categories Views Analytics', {
                'event_category': 'Other Page',
                'event_label': 'Other Page'
            });              
            console.log("Other");
        }
    }
});
</script>

Devo aver combinato qualcosa con le variabili o aver bisogno di ottenere un controller di un tipo di pagina diverso.