JavaScript跟踪客户

用户指南

读也JavaScript跟踪客户用户指南熟悉JavaScript跟踪客户。

列表中可用的所有方法跟踪API

从Matomo请求跟踪实例(原名Piwik)类

  • Matomo。getTracker (trackerUrl siteId)-跟踪的新实例
  • Matomo。getAsyncTracker (optionalMatomoUrl optionalMatomoSiteId)——得到内部跟踪器的实例用于异步跟踪

使用跟踪器对象

  • trackPageView ([customTitle])——日志页面视图
  • trackEvent(类别,行动,[名字],[价值])——日志事件与事件类别(视频、音乐、游戏…),一个事件动作(播放、暂停、持续时间、添加播放列表,下载,点击…),和一个可选的事件名称和可选的数字值。
  • trackSiteSearch(关键字,[类别],[resultsCount])日志一个内部网站搜索一个特定的关键字,在一个可选的类别,指定可选的搜索结果页面中。
  • trackGoal (idGoal [customRevenue]);——日志转换为数字目标ID和一个可选的数字customRevenue定制收入。
  • linkType trackLink (url)从您自己的代码——日志点击。url是完整的url被跟踪点击。linkType可以是“链接”outlink或“下载”下载。
  • trackAllContentImpressions ()——对所有内容块扫描整个DOM和跟踪所有印象一旦DOM事件被触发。
  • trackVisibleContentImpressions (checkOnScroll timeIntervalInMs)——扫描整个DOM对所有内容块当页面加载。它追踪的印象只有一个内容块实际上是可见的。
  • trackContentImpressionsWithinNode (domNode)——扫描给定的DOM节点及其内容块和轨道的孩子对他们的印象如果没有印象已经跟踪。
  • contentInteraction trackContentInteractionNode (domNode)-跟踪与给定的DOM节点的交互/内容块。
  • trackContentImpression (contentName contentPiece contentTarget)使用指定的值——跟踪内容的印象。
  • trackContentInteraction (contentInteraction contentName、contentPiece contentTarget)——跟踪内容交互使用指定的值。
  • logAllContentBlocksOnPage ()——日志页面内的所有发现内容块到控制台。这是有用的跟踪调试/测试内容。
  • ping ()——发送ping请求。Ping请求不跟踪新的行动。如果他们发送标准访问长度内,他们将会更新现有的访问时间。如果发送的标准长度的访问后,ping请求将被忽略。另请参阅enableHeartBeatTimer
  • enableHeartBeatTimer (activeTimeInseconds)——安装一个心跳计时器将额外的请求发送到Matomo为了更好地衡量所花费的时间。这些请求将只有当用户积极查看页面选项卡时(活跃和焦点)。这些请求不会跟踪额外的行动或页面浏览量。默认情况下,activeTimeInSeconds被设置为15秒。意义只有在页面被至少15秒(和用户离开页面或集中远离选项卡)然后ping请求将被发送。另请参阅开发人员指南
  • enableLinkTracking(启用)——在所有适用的安装链接跟踪链接元素。设置启用参数正确使用伪单击处理程序(治疗中单击打开快捷菜单,左键点击)。单击右键(或任何点击打开上下文菜单)将跟踪链接点击即使不是选择“打开新标签”。如果“false”(默认),没有什么会在中间打开上下文菜单或点击跟踪。
  • enableFileTracking ()-启用跟踪文件:/ /协议的行为。默认情况下,文件:/ /协议不是跟踪。
  • disablePerformanceTracking——禁用页面跟踪性能。
  • enableCrossDomainLinking ()——允许跨域链接。默认情况下,用户ID识别访问者存储在浏览器的一个独特的甲方饼干。这意味着饼干只能访问页面在同一个域。如果你拥有多个域,愿跟踪所有的行动和页面浏览量特定访客到相同的访问,你可以启用跨域连接(了解更多)。当用户点击一个链接将附加一个URL参数pk_vid前锋当前访问者的点击URL的页面ID值不同的域。
  • setCrossDomainLinkingTimeout(超时)——设置跨域连接超时(秒)。默认情况下,两次跨领域将联系在一起点击链接时,在页面加载在180秒超时的窗口中
  • getCrossDomainLinkingUrlParameter ()——让查询参数附加到处理跨域链接的链接。使用这个来添加跨域支持动态链接添加到DOM。了解更多关于跨域链接
  • disableBrowserFeatureDetection ()——默认情况下,Matomo从访问者的浏览器访问信息来检测当前浏览器分辨率和浏览器插件支持(例如PDF和饼干)。这些信息是用来给你报告访问者的浏览器分辨率,支持浏览器插件,它还可以用于生成一个短暂的为每一个客人我们称之为标识符config_id。一些隐私法规可能只允许从访问者的访问信息设备后同意。如果这适用于你,不再调用这个方法来访问这些信息。了解更多关于浏览器的功能检测
  • enableBrowserFeatureDetection ()——启用浏览器特性检测如果你之前禁用它。

跟踪对象的配置

  • setDocumentTitle(字符串)——覆盖document.title
  • setDomains(数组)——设置一系列被视为本地主机名或域。通配符子域,您可以使用:setDomains (“.example.com”);setDomains (* .example.com);。您还可以指定一个路径在一个域:setDomains (“*.example.com/subsite1');
  • setCustomUrl(字符串)——覆盖页面的URL
  • setReferrerUrl(字符串)——覆盖http referer发现。我们建议你在跟踪代码调用这个方法早在你的电话trackPageView如果它应该适用于所有跟踪请求。
  • setExcludedReferrers(字符串|数组)——设置数组的主机名或域名应该被忽略的反向链接。通配符子域,您可以使用:setExcludedReferrers (“.example.com”);setExcludedReferrers (* .example.com);。您还可以指定一个路径在一个域:setExcludedReferrers (“*.example.com/subsite1');。该方法可作为Matomo 4.12。
  • getExcludedReferrers ()——返回排除反向链接的列表,这是以前设置使用setExcludedReferrers
  • setSiteId(整数)——指定网站ID。冗余:可以指定getTracker ()构造函数。
  • setApiUrl(字符串)——指定Matomo HTTP API端点URL。piwik的根目录,例如https://matomo.example.org/或https://example.org/matomo/。这个函数只有在“叠加”报告是不工作。默认情况下,您不需要使用这个函数。
  • setTrackerUrl(字符串)——指定Matomo服务器URL。冗余:可以指定getTracker ()构造函数。
  • getMatomoUrl ()——返回Matomo服务器URL。
  • getPiwikUrl ()弃用,使用getMatomoUrl ()代替。
  • getCurrentUrl ()返回当前正在访问页面的url。如果一个定制的URL是在调用这个方法之前,将返回自定义URL。
  • setDownloadClasses(字符串|数组)——设置类被视为下载(除了matomo_download)
  • setDownloadExtensions(字符串|数组)——设置列表被认为是下载的文件扩展名。示例:“医生”或“医生”、“xls”)
  • addDownloadExtensions(字符串|数组)——指定附加的文件扩展名是公认的下载。示例:“医生”或“医生”、“xls”)
  • removeDownloadExtensions(字符串|数组)——从列表中删除指定文件扩展名的下载文件扩展名。示例:“医生”或“医生”、“xls”)
  • setIgnoreClasses(字符串|数组)——如果出现在集合类忽略链接(除了matomo_ignore和piwik_ignore)
  • setLinkClasses(字符串|数组)——设置类被视为outlinks(除了piwik_link)
  • setLinkTrackingTimer(整数)——设置延迟跟踪链接,以毫秒为单位。
  • getLinkTrackingTimer ()——获得延迟链接跟踪(以毫秒为单位)。
  • discardHashTag(保龄球)——设置为true不记录散列标签(锚点)的url的一部分
  • appendToTrackingUrl (appendToUrl)——添加一个自定义字符串的末尾matomo.php HTTP请求吗?
  • setDoNotTrack(保龄球)——设置为true不退出跟踪跟踪用户使用Mozilla的(提议)不跟踪设置。
  • killFrame ()——使frame-buster防止跟踪网页框架/ iframe。
  • redirectFile (url)——力浏览器加载URL生活如果跟踪加载web页面从本地文件(例如,保存到某人的桌面)。
  • setHeartBeatTimer (minimumVisitLength heartBeatDelay)——记录已经被浏览的页面如果minimumVisitLength多长时间(以秒为单位)获得;heartBeatDelay决定的频率更新服务器
  • getVisitorId ()——返回ID访问者16个字符
  • setVisitorId (visitorId)- - - - - -visitorId需要一个16位的十六进制字符串。visitorId不会坚持一个cookie,需要每一个新页面加载。
  • getVisitorInfo ()——返回数组中的游客cookie内容
  • getAttributionInfo ()-返回游客归因阵列(推荐人信息和/或活动名称和关键字)。归因信息Matomo信贷使用正确的引用(姓或介绍人)当用户触发一个目标转换。

    您也可以使用下列函数来得到特定属性的数据:

    • matomoTracker.getAttributionCampaignName ()
    • matomoTracker.getAttributionCampaignKeyword ()
    • matomoTracker.getAttributionReferrerTimestamp ()
    • matomoTracker.getAttributionReferrerUrl ()
  • getUserId ()——返回用户ID字符串如果是集。

  • setUserId(标识)——设置一个用户ID这个用户(例如一个电子邮件地址或用户名)。
  • resetUserId-清除(un-set)的用户ID。
  • setCustomVariable(指数、名称、值、范围)——设置一个自定义的变量。
  • deleteCustomVariable(指数、范围)——删除自定义变量。
  • getCustomVariable(指数、范围)——检索一个自定义变量。
  • storeCustomVariablesInCookie ()——自定义变量的范围称为“访问”将存储(坚持)甲方cookie访问期间。这是非常有用的,如果你想打电话getCustomVariable在之后的访问。(默认情况下自定义变量并不是存储在访问者的电脑。)
  • setCustomDimension (customDimensionId customDimensionValue)——设置一个自定义维度。(需要自定义尺寸插件)
  • deleteCustomDimension (customDimensionId)——删除自定义维度。(需要自定义尺寸插件)
  • getCustomDimension (customDimensionId)——检索一个自定义维度。(需要自定义尺寸插件)
  • setCampaignNameKey(名字)活动名称参数设置(年代)。(帮助:自定义活动名称参数名称)
  • setCampaignKeywordKey(关键字)-运动关键字参数设置(s)。(帮助:自定义战役关键字参数名称)
  • setConversionAttributionFirstReferrer(保龄球)——设置为true属性转换为第一个推荐人。默认情况下,转换是由于最近的推荐人。

电子商务

Matomo提供电子商务分析让你衡量物品添加到购物车,学习关于废弃的车和采购订单的详细指标。为例子,更多信息请点击这里

  • categoryName setEcommerceView (productSKU productName,价格)——设置当前页面视图作为一个产品或类别页面视图。当你打电话setEcommerceView它必须调用紧随其后trackPageView记录产品或类别页面视图。
  • addEcommerceItem (productSKU [productName], [productCategory],[价格],[]数量)——添加一个产品进入电子商务订单。必须要求每个产品的顺序。
  • removeEcommerceItem (productSKU)——删除指定的产品从开始回升的电子商务秩序。
  • clearEcommerceCart ()——删除所有产品无路径的电子商务秩序。_Note:这是自动完成的trackEcommerceOrder ()被称为。
  • getEcommerceItems ()——返回所有电子商务项目目前无路径的电子商务秩序。返回的数组将被复制,所以改变它不会影响电子商务秩序。影响什么跟踪,使用addEcommerceItem ()/removeEcommerceItem ()/clearEcommerceCart ()方法。使用这种方法,看看将跟踪之前你跟踪订单或购物车更新。
  • trackEcommerceCartUpdate(总计)-跟踪一个购物车。调用这个javascript函数每次用户添加、更新或删除购物车的产品。
  • trackEcommerceOrder (orderId、总计(小计),(税收),(海运),(折扣))-跟踪电子商务秩序,包括任何电子商务项目之前添加到订单中。orderId总计(即。收入)是必需的参数。

Matomo跟踪提供了一种机制来管理用户的同意。您可以要求用户同意你追踪任何他们的行为之前,禁用跟踪用户不同意,并为那些同意后重新启用跟踪。没有饼干时将使用没有同意。一旦同意,将使用cookie。

  • requireConsent ()——默认情况下,Matomo追踪假定同意跟踪。改变这种行为所以没有追踪直到用户同意,您必须调用requireConsent
  • setConsentGiven ()——马克,当前用户已经同意了。同意只是一次性的,所以在随后的浏览器会话,用户将不得不同意了。记住同意,请参阅下面的方法:rememberConsentGiven
  • rememberConsentGiven (hoursToExpire)——马克,当前用户已经同意了,记得这同意通过浏览器cookie。下次用户访问网站时,Matomo将记住他们同意了,并跟踪他们。如果你调用这个方法,您不需要调用setConsentGiven
  • forgetConsentGiven ()——删除用户的同意,如果同意一次性只记得如果同意。调用该方法后,用户将不得不同意再次被跟踪。
  • hasRememberedConsent ()——返回真或假取决于当前游客已同意之前。
  • getRememberedConsent ()——如果同意了,返回游客同意时的时间戳。只有工作rememberConsentGiven而不是使用什么时候setConsentGiven是使用。时间戳是取决于游客的本地时间戳。
  • isConsentRequired ()——返回真或假取决于requireConsent以前被称为。

Matomo还提供了一种机制来管理用户的cookie同意。你可以要求用户同意使用cookie。跟踪请求将总是发送但根据同意饼干将使用或不使用。

  • requireCookieConsent ()——默认情况下,Matomo追踪假定同意使用cookie。改变这种行为,所以没有使用cookie在默认情况下,您必须调用requireCookieConsent
  • setCookieConsentGiven ()——马克,当前用户已经同意使用cookie。同意只是一次性的,所以在随后的浏览器会话,用户将不得不同意了。记住饼干同意,请参阅下面的方法:rememberCookieConsentGiven
  • rememberCookieConsentGiven (hoursToExpire)——马克,当前用户已经同意使用cookie,记得这个同意通过一个浏览器cookie。下次用户访问网站时,Matomo将记住他们同意了,并使用cookie。如果你调用这个方法,您不需要调用setCookieConsentGiven
  • forgetCookieConsentGiven ()——删除用户的cookie同意,如果同意一次性只记得如果同意。调用该方法后,用户将不得不同意再次为了使用cookie。
  • areCookiesEnabled ()——返回真或假取决于饼干目前启用或禁用。
  • getRememberedCookieConsent ()——如果饼干同意了,返回游客同意时的时间戳。只有工作rememberCookieConsentGiven而不是使用什么时候setCookieConsentGiven是使用。时间戳是取决于游客的本地时间戳。

管理退出

你想构建一个定制的屏幕或退出形式而不是同意而不是用我们的退出iframe吗?查看指南创建一个自定义选择退出形式

  • optUserOut ()之后,调用这个函数,用户将选择退出,不再被跟踪。
  • forgetUserOptOut ()——调用该方法后,用户将被跟踪了。如果用户选择之前调用这个方法。
  • isUserOptedOut ()——返回真或假取决于用户是否退出了。注意:这个方法可能不会返回正确的值如果您正在使用退出iframe

您可以使用这些方法来构建自己的同意书/页面。了解更多关于要求同意。

配置跟踪饼干

Matomo使用甲方饼干跟踪一些用户信息。必须考虑保留时间和避免冲突与其他饼干,追踪器,应用程序。

  • disableCookies ()——禁用所有甲方饼干。现有Matomo饼干这个网站将被删除在下一页的观点。饼干甚至会禁用如果用户cookie同意使用方法rememberCookieConsentGiven ()
  • deleteCookies ()——删除当前跟踪cookie设置时(这是有用创建新的访问)
  • hasCookies ()——返回饼干是否启用并得到这个浏览器的支持。
  • setCookieNamePrefix(前缀)——默认的前缀是pk”。
  • setCookieDomain(域)——默认文档域;如果你的网站可以访问www.example.com和example.com,您将使用:tracker.setCookieDomain (“.example.com”);tracker.setCookieDomain (* .example.com);
  • setCookiePath(路径)——默认是“/”。
  • setSecureCookie(保龄球)——设置为true,以便安全cookie国旗所有甲方饼干。这应该时使用你的网站只有在HTTPS以便所有跟踪cookie总是通过安全连接发送。
  • setCookieSameSite(字符串)——默认为宽松的。可以设置为没有一个严格的没有一个需要HTTPS和所有流量也将自动设置安全cookie。它可以有用,例如,如果跟踪网站是一个iframe。严格的只如果你Matomo和网站运行在同一领域。
  • setVisitorCookieTimeout(秒)——默认是13个月
  • setReferralCookieTimeout(秒)——默认为6个月
  • setSessionCookieTimeout(秒)——默认是30分钟

先进的使用

  • addListener(元素)——点击监听器添加到一个特定的链接元素。当点击时,Matomo将自动记录点击。
  • setRequestMethod(方法)——设置请求方法“获得”或“后”。使用POST请求方法,1)Matomo主机是一样的跟踪网站主机(Matomo安装在同一个域作为跟踪网站),或者2)如果Matomo没有安装在同一个主机上你的网站,你需要使歌珥(跨域请求)作为这个FAQ中解释。请记住,当Matomo使用sendBeacon()发送跟踪请求(这是默认启用),它将通过邮政发送数据。如果你希望Matomo从未发送POST请求,您可以使用此方法得到这将自动禁用sendBeacon
  • disableAlwaysUseSendBeacon ()——禁用发送跟踪跟踪请求使用navigator.sendBeacon这是默认启用。
  • setCustomRequestProcessing(函数)——设置一个函数将处理请求的内容。函数将调用一次请求(查询参数字符串)已经准备好了,和发送请求之前内容。
  • setRequestContentType (contentType)——设置请求的content - type报头值。适用于当“POST”请求方法是通过使用setRequestMethod
  • disableQueueRequest ()——禁用该功能组多个跟踪请求和发送批量POST请求。禁用这个特性很有用,当你想要重播所有日志:一个必须使用disableQueueRequest禁用这种行为以后能够回放记录Matomo日志(否则请求的一个子集不能重播)。
  • setRequestQueueInterval(间隔)——定义了多少毫秒后排队请求将请求排队后开始执行。值越高越跟踪请求可以发送在一起。时间间隔必须至少1000年(1000毫秒= 1),默认为2.5秒。
  • setPagePerformanceTiming ([networkTimeInMs], [serverTimeInMs], [transferTimeInMs], [domProcessingTimeInMs], [domCompletionTimeInMs], [onloadTimeInMs])——手动设置性能指标以毫秒为单位在一个页面应用程序或当Matomo无法检测一些指标。你可以设置参数未定义的如果你不想要跟踪这个指标。至少一个参数需要设置。一组性能计时将跟踪只有在下一个页面上查看。如果你追踪另一个页面视图,那么你将需要设置计时了。需要Matomo 4.5或更新的版本。

使用Matomo标记经理?

如果你使用Matomo标签管理器和你想使用一个JavaScript函数,你可能会发现,他们尚未公布Matomo配置变量。当这种情况发生时,请开一个问题(或打开一个拉请求来实现新功能在这里)

单元测试覆盖matomo.js

Matomo JavaScript跟踪API是由一个广泛的JavaScript单元测试套件,以确保代码质量尽可能高,我们从来没有打破这个功能。测试是使用QUnit编写。要运行测试,只需付款Matomo Git存储库/道路/ / matomo /测试/ javascript /。测试运行在浏览器。

Matomo JavaScript API测试了许多web浏览器。最大化覆盖,我们使用等服务crossbrowsertesting.combrowsershots.org

贬低matomo.js

matomo。js缩小则是减少你的网站访客的大小必须下载。使用YUI Compressor贬低JavaScript (更多的信息)。你可以找到原非简化版/ js / piwik.js

Baidu