问题标签 [data-layers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-tag-manager - 将具有可变值的变量传递给 GTM
我想根据用户是否登录来跟踪网站上的用户行为。我想在 JavaScript 中创建自己的变量,一种具有不同值的 userState,比如说,logged 和 guest,我想将它传递给 dataLayer。怎么做?我可以做这样的事情吗
?
google-analytics - 坚持通过 GTM 添加 GA 标准电子商务交易
我们使用 GTM 将 GA 添加到我们的网站。GA 中启用了标准电子商务跟踪。为了开始这个项目,我正在使用相同 GTM/GA 帐户的 DEV 环境中进行测试。只有来自实时站点的数据显示在 GA 中,所以 DEV 被过滤掉(我不确定这是如何完成的)。我有两个问题。
- 如何设置“transactionProducts”以循环浏览购物车中的商品并单独显示它们,而不是全部一起显示?
- 我该怎么做才能从 DEV 站点查看 GA 中的结果 - 我无法实时测试 - 除非我在带有假数据的实时站点上创建一个 noindex/nofollow 静态页面,以查看它是否会将其发送到 GA。
我根据 GA 方向创建了 GTM 电子商务标签: 标签类型:谷歌分析:通用分析 跟踪类型:交易 谷歌分析设置:在此标签中启用覆盖设置(我们有一个 GA 变量,但我决定不使用它,以防它可能干扰) 跟踪ID: UA-########-#
我根据 GA 方向创建了 GTM 电子商务触发器: 触发器类型:页面视图(DataLayer 在 GTM 脚本之后出现) 此触发器触发:某些页面视图 触发此触发器...:页面 URL 包含 /order/confirmation
确认页面是提交订单页面之后的自己的页面。
因此,DataLayer 是:
在 GTM 预览模式下,我确实看到了数据层的当前值:但如果我的购物车中有多个商品,则“transactionProducts”商品会全部融合在一起。
如何遍历“transactionProducts”以分别显示购物车中的每个项目?我猜一个 for 循环可能会做,但我将如何设置它,然后我将它添加到 DataLayer 的哪里,这样它就不会破坏任何东西?另外,我是否需要从结果中删除“$”符号(我知道该怎么做)?
我在哪里可以找到一个过滤器来阻止来自 DEV 站点的数据被发送 - 所以我可以在测试时暂时禁用它?我是否需要发布 GTM 标记/触发器以使其实际发送数据,或者我可以使用预览模式并期望在 GA Conversions > Ecommerce > Overview 中看到 DataLayer 数据?
google-tag-manager - 如何在谷歌标签管理器中定义 google_tag_params?
我想在 Google Ads 中创建一个动态再营销活动,但我必须让 GTM 知道从我的网站中提取ecomm_prodid、ecomm_pagetype、ecomm_totalvalue和ecomm_category的信息的位置。我知道我必须创建一个数据层变量,但我只是不知道如何让这些标签从我的网站中提取必要的信息。我也知道您应该能够在 Google Tag Assistant 中看到动态再营销标签中您的产品(价格、品牌、类别等)的元数据。不幸的是,我无法将代码添加到我的网站,因为它是在不允许自定义代码的平台上创建的,所以我必须使用 GTM。
例如价格的类别是:fPrice -g-product-final-price-258。ecomm_totalvalue不应该从这个类中获取信息吗?我尝试阅读谷歌的帮助页面,但它们太混乱了,我无法理解它们。
如果有人能帮助我解决这个问题,我将不胜感激。
谢谢
asp.net-mvc - 使用实体框架和 DI 在具有 3 层架构的 MVC 中实现登录/注销
我想使用 3 层架构在 ASP.NET MVC 中实现登录/注销服务。我还想使用实体框架和依赖注入模式,例如 NInject(例如)。
有人可以建议一些文章,我可以在哪里看到一些示例或教程?看起来互联网上的大多数文章都是针对 WebForms 的......
提前致谢。
c# - C#、ASP.NET 核心 | SqlException:关键字“TOP”附近的语法不正确
我在 ASP.NET Core 中尝试从我的小型数据库中获取数据。我想从我的表中选择 2 个随机行,但我无法让它工作。
我的数据库表:
我想出了错误,因为我SqlCommand
的不正确,但我不知道如何使它正确。
我的 DAL:
我尝试过的查询:
SELECT * FROM Karatker ORDER BY RAND() LIMIT 10;
SELECT * FROM Karakter ORDER BY RAND() TOP 2;
SELECT * FROM Karakter TOP 2;
SELECT * FROM Karakter Limit 2;
SELECT TOP 2 * FROM Karakter ODER BY RAND();
SELECT TOP 2 FROM Karakter ODER BY RAND();
除了关键字之外,上述所有查询都会引发相同的错误。
任何人都可以帮忙吗?
编辑:当我尝试这个查询时:
它显示了数据库的前 2 条记录,这证明错误不是其他层的问题,唯一的问题是查询本身。
asp.net-core - 分层应用程序中数据库查询的性能
我正在构建一个 ASPnetCore 分层应用程序,该应用程序将拥有一个大型数据库。我正在使用实体框架核心和异步调用从数据库中的 db 检索数据。我正在等待这些电话。在服务层中,我还使用对数据层的异步调用并等待这些。在服务层中,我使用 LINQ 为 api 调用或 razor 页面转换数据。
我想知道在考虑性能时这是否聪明,还是在数据库或数据层查询中转换数据会更好?
javascript - window.dataLayer.push 在本地机器上工作,但不在生产环境中
这是注销逻辑,这里的键logoutoverlay设置在本地存储中。
在 Main.js 中,localStorage
检查本地的键logoutoverlay
在 dataLayerAnalytics.js 中,项目被推送到数据层
所有这些在我的本地机器上运行良好。但是在我将它部署到生产环境之后localStorage.removeItem("logoutPlace")
,Main.js 内部没有被执行,代码也无法到达localStorage.removeItem("logoutPlace")
。这就是为什么“logoutoverlay”项不会从本地存储中删除的原因。
而且由于我无法在本地系统上复制此问题,因此我什至无法调试代码。
postgresql - 在应用程序代码上使用 Postgres 的外部过程语言
我试图找出使用非 plpgsql 过程语言(PL/Python、PL/Perl、PL/v8 等)在数据库级别实现数据操作逻辑而不是上升到模型级别的优缺点/与数据库(Rails、Entity Framework、Django 等)交互并在那里实现它的应用程序框架的 ORM。
举一个具体的例子,比如说,我有一个包含Mustache模板的表,我想以某种方式“渲染”它们。表定义:
通常我会去模型代码并添加额外的方法来渲染模板。Rails 中的示例:
但是,我也可以编写一个 PL/Python 函数,它可以做到这一点,但在数据库级别:
这在功能方面产生了几乎相同的结果。这个例子是非常基本的,但想法是使用 PL/Python(或其他)以比 PL/pgsql 允许的更高级的方式操作数据。也就是说,PL/pgsql 没有今天任何通用编程语言提供的相同数量的库(在示例中,我依赖于 Mustache 模板系统的实现,在这种情况下在 PL/pgsql 中实现是不切实际的)。我显然不会将 PL/Python 用于任何类型的网络或其他操作系统级别的功能,但对于专门针对数据的操作,这似乎是一种不错的方法(改变我的想法)。
到目前为止我可以观察到的几点:
- PL/Python 是一种“不受信任”的语言,我想这使得编写函数更加危险,因为您可以访问系统调用;至少感觉搞砸一个 PL/Python 函数的成本比在应用层出错的成本要高,因为前者是在数据库的上下文中执行的
- 数据库方法更具可扩展性,因为我正在处理最接近数据的级别,即我没有将表示逻辑分散在多个“层”(在这种情况下为 ORM 和 DB)。这意味着如果我需要一些其他对与数据交互感兴趣的外部服务,我可以将其直接插入数据库,绕过应用程序层。
- 在模型级别上实现这一点似乎执行起来要简单得多
- 支持应用程序代码变体似乎也更容易,因为要记住的概念更少
这两种方法的其他优点和缺点是什么?(例如性能、可维护性)
google-tag-manager - 将“读取时间”键添加到数据层以在 Google Tag Manager/Analytics 中进行跟踪
使用 WP 插件,我将为每篇文章添加“阅读时间”。注意:阅读时间仅显示阅读文章需要多长时间,而不是用户阅读我的文章的时间。
我想将此值作为自定义维度拉入 Google Analytics(分析)。我想比较人们在页面上停留的时间(平均在 pg 上的时间)与阅读整篇文章需要多长时间(阅读时间)。
我知道我需要为数据层添加一个“读取时间”的密钥,并将该密钥拉入 GTM。但是,文档并没有明确说明要为数据层添加什么键以获得读取时间等值。或者如果可能的话,如何为它创建一个谷歌分析将理解的密钥。
任何可能的解决方案?