Одним из возможных решений было бы реализовать ваш код в виде пользовательского тега HTML и передать результат обещаний как событие в dataLayer - тогда вы можете запустить свой тег для этого нового события. Например:
<script>
navigator.permissions && navigator.permissions.query({name:'geolocation'}).then(function(PermissionStatus) {
if(PermissionStatus.state == 'granted'){
dataLayer.push({event: 'permissionGranted'})
}else{
dataLayer.push({event: 'permissionDenied'})
}
})
<script>
Тогда вам нужно будет запустить ваш тег для этого пользовательского события "licenseGranted".
Подробнее о пользовательских событиях здесь .