Google Sheets Add-on 未触发 GTM 中的自定义事件

问题描述

我正在尝试从 Google App Script Sidebar 触发 GTM 自定义事件。下面给出了代码的简化版本。如果我在本地服务器上将其作为网页进行本地测试,则相同的代码有效。事件被触发。但是当它是附加组件的一部分时,事件不会被触发。任何帮助将不胜感激。 HTML 文件如下。这显示为侧边栏。 更新:我已经发布了完整的工作代码。当我在本地服务器中测试时,以下相同的代码会触发标签。但是当在谷歌表格插件中显示为侧边栏时不会触发标签。我怀疑 html 显示在 iframe 内。不知道为什么它不起作用

<!DOCTYPE html>
<html>
  <head>
    <base target="_blank">
    <script>
    dataLayer = [];
    </script>
    <!-- Google Tag Manager -->
    <!-- Google Tag Manager -->
    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-XXXXXXX');</script>
    <!-- End Google Tag Manager -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js" ></script> 
    
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

    <!-- Optional theme -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

    <!-- Latest compiled and minified JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> 
    <link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
  </head>
  <body>
      <!-- Google Tag Manager (noscript) -->
    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TLGFLD7"
    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
    <!-- End Google Tag Manager (noscript) -->

    <div class="container main_page">
        <div class="row">
            <div class="col-md-12">
                <div class="text-center">
                    <button type="button" class="btn btn-primary" name="report" id="report"  >Create Report</button>
                </div>
            </div>
        </div>
    </div>
    <script>
        
        function ProcessReport() {
                dataLayer.push({'event':'run_report'});
                console.log(window.dataLayer);
        }
    
        
        $( document ).ready(function() {
            $("#report").click(ProcessReport);
        });
    </script>
  </body>
</html>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)