做一个/ b测试 -- theming 领域 和 users 领域 和 testing 领域 drupal 相关 的问题

Doing A/B testing


12
vote

问题

中文

我想做一些a / b测试。

我希望有2个略微不同的模板和每个模板的不同模块和路径,然后我想对访问者进行50%模板A +模块和逻辑等,以及50%的访客模板B +自己模块。

它将基于用户IP,一些简单的逻辑半个游客将看到第一个模板,访问者的后半部分将看到具有不同设置的第二个模板。

一个重要的是用户(基于IP或登录)应该看到他第一次永远看到的模板不仅适用于他的会话。

我不确定我是否必须使用两个数据库安装两个Drupal版本并使用 .htaccess 或其他东西来做出决定。

或者我已经查找了模块,但只发现了这个: http://drupal.org/project/multivariate

似乎太亮了。

任何建议哪种建议以及如何接近这个问题。

英文原文

I would like to do some A/B testing.

I would like to have 2 slightly different templates and different modules and paths for each template and then I would like to do to the visitors 50% template A + modules and logics etc. and 50% of the visitors template B + own modules.

It would be based on user IP and some simple logic half visitors will be seeing first template and the second half of the visitors will be seeing the second template with different settings.

An important thing is that a user (based on IP or login) should see the template he saw for the first time forever not only for his session.

I am not sure if I have to install two Drupal versions with two databases and use .htaccess or something to make the decision.

Or I have looked for modules but found only this one: http://drupal.org/project/multivariate

Which seems too light.

Any advice which way to choose and how to approach this problem.

        
     
     

回答列表

6
 
vote
vote
最佳答案
 

我会建议您考虑测试 http://visualwebsiteoptimizer.com/ 用于您的用例。还有一个模块 http://drupal.org/project/visual_website_optimizer 这使得集成更容易。

从vwo的常见问题页面中,您可以看到

  1. 使用cookie跟踪访客
  2. 访问者即使在重复访问时也看到相同的变化

所以应该解决你的问题。为了做出哪些用户应该可以看到哪些变化的决定,用于选择这些条件的光滑UI。

但是,如果你想做事情,那么你可以使用 http://drupal.org/ Project / Multivariate ,它为您提供了更多控制。多变量更像规则或上下文模块。您有一组条件(是用户使用x浏览器的用户,是他源自y国家的IP等),并且当遇到这些条件时,可以执行一组动作(为他的多变量a而不是b)。

重要的是用户(基于IP或登录)应该看到 他第一次看到的模板不仅仅是为了他的 会话。

确保满足上述条件,您可以增加饼干集的寿命。如果您想在(匿名用户)之前跟踪登录前的用户,并且在经过身份验证之后,那么您可能需要执行一些自定义编码。

 

I would recommend you to consider testing http://visualwebsiteoptimizer.com/ for your use case. There is also a module http://drupal.org/project/visual_website_optimizer which makes the integration easier for you.

From the FAQ page of VWO you can see that

  1. Uses cookies to track visitors
  2. Visitors see same variation even on repeat visits

So that should solve your problem. To make the decision of which variate should be visible to which users, there is sleek UI for selecting those conditions.

However if you want to do the things, the Drupal way then you can use http://drupal.org/project/multivariate which gives you more control. Multivariate is more like Rules or Context module. You have a set of conditions(is the user using X browser, is his IP originating from Y country and so on) and when those conditions are met a set of actions can be performed(serve his multivariate A instead of B).

An important thing is that a user (based on IP or login) should see the template he saw for the first time forever not only for his session.

For making sure that above condition is met you can increase the life of the cookies set. If you want to track the users before loggin in(anonymous users) and after they have authenticated, then you might need to do some custom coding.

 
 
6
 
vote

A / B测试一个Drupal网站的一些选项,所有选项都将运行此问题的简单测试要求(将流量与指定的百分比拆分,并在其初始体验中保留访问者)。两种基本方法正在使用付费外部服务来运行A / B测试或使用完全耳机集成模块。以下是每个方法的选项:

drupal模块

  • a / b test :可用于D7,此模块在项目页面上介绍作为"用于在代码中实现A / B测试的低级API" 。测试用自定义PHP实现,这需要了解Drupal数据结构并在PHP侧挂钩。另请注意,HTML缓存层将复杂化问题(如果不是所有站点访问者正在击中后端PHP)。自2015年4月以来,此模块尚未更新,并且没有稳定版本,但有30多个网站目前使用它报告。
  • 多变量:作为gokul提到的,多变量允许在admin ui中通过测试配置,不需要任何自定义代码。它可用于D7,但尚未稳定发布,并未自2013年10月以来尚未更新。它确实拥有任何非外部A / B测试模块的最高电流使用,其中100多个网站目前报告它们使用它。由于它是一个后端解决方案,HTML缓存层可以防止该模块的使用。
  • a / b test js :这是一个运行的D7和D8的新模块在JavaScript中测试并公开管理UI以进行测试创建。它目前没有网站报告使用情况,但积极开发和维护。自定义JavaScript代码段需要创建测试,并且必须在像Google Analytics这样的单独的分析平台中进行测试。

外部服务

外部选项在前端运行所有测试逻辑(在JavaScript中),可以直接包含脚本,或者在可用时通过Drupal模块实现。

  • 优化 drupal module 可在D7和D8中获得,并且具有任何A / B测试选项的使用量最多。
  • Visual网站优化器:我没有这个问题,但它确实包括一个wysiwyg界面创建测试和接口以查看结果。 a drupal module 在您的网站页面中包含VWO JavaScript可用于D6,D7和D8,并且还对Drupal的大量使用量。
  • Adob​​e Test and Target :从个人体验与Adobe T& t ,它具有用于创建测试的WYSIWYG界面,但我发现了UI相当越野车,最糟糕的是,我们的许多测试为网站访问者导致了"闪烁" ,原始页面在实现测试修改之前闪烁。 test&目标 drupal模块也有很少的用法,仅适用于D7。
  • 谷歌内容实验:作为谷歌分析的一部分,内容实验不是作为上面的选项,但我相信服务是免费的,并且可以满足这个问题的要求。 内容实验 drupal模块可在d7中获得。

结论

长话短说,这可以满足这些解决方案,只要它们按预期运行。需要更详细的细节来找到最佳解决方案。一般来说,我更喜欢使用 drupal a / b test js ,但也是因为我制作了它:)

 

There are a few options for A/B testing a Drupal website, and all options will run the simple test requirements of this question (splitting traffic with specified percentages and keeping visitors in their initial experiences). The two basic approaches are using a paid external service to run the A/B tests or using a fully Drupal-integrated module. Here are the options for each approach:

Drupal Modules

  • A/B test: Available for D7, this module is described on the project page as a "low-level API for implementing A/B tests in code". The tests are implemented with custom PHP, which requires knowledge of Drupal data structures and hooks on the PHP side. Also note that an HTML cacheing layer will complicate matters (if not all site visitors are hitting backend PHP). This module has not been updated since April 2015 and has not had a stable release, but there are 30+ sites that currently report using it.
  • Multivariate: As Gokul mentioned, Multivariate allows tests to be configured through in the admin UI, without needing any custom code. It is available for D7, but has not had a stable release and hasn't been updated since October, 2013. It does have the highest current usage of any non-external A/B testing module with 100+ sites currently reporting that they use it. As it is a backend solution, an HTML cacheing layer could prevent usage of this module.
  • A/B Test JS: This is a new module for D7 and D8 that runs tests in JavaScript and exposes an admin UI for test creation. It does not currently have sites reporting usage, but is actively being developed and maintained. Custom JavaScript snippets are required to create tests, and evaluation of the tests must be done in a separate analytics platform like Google Analytics.

External services

The external options run all testing logic on the frontend (in JavaScript) and can be implemented with either direct inclusion of the scripts, or through Drupal modules when available.

  • Optimizely: I have not used Optimizely, but I do know that is widely used and considered state-of-the art for A/B testing. It includes a WYSIWYG UI for creating the test modifications, so tests can be created without any code. The Optimizely Drupal module is available in D7 and D8, and has the most usage of any of the A/B testing options.
  • Visual Website Optimizer: I don't have experience with this either, but it does include a WYSIWYG interface for creating tests and interface for viewing results. A Drupal module that includes the VWO javascript in your site's pages is available for D6, D7, and D8, and also has a significant amount of usage on Drupal.
  • Adobe Test and Target: From personal experience with Adobe T&T, it has the WYSIWYG interface for creating tests, but I found the UI quite buggy, and worst of all, many of our tests caused "flicker" for site visitors, where the original page flashes before test modifications are implemented. The Test&Target Drupal module also has very little usage, and is only available in D7.
  • Google Content Experiments: As a part of Google Analytics, Content Experiments are not as fully featured as the options above, but I believe the service is free and would satisfy the requirements of this question. The Content Experiments Drupal module is available in D7.

Conclusion

Long story short, this use case can be satisfied with any of these solutions so long as they function as intended. More specifics would be needed to find the best solution. In general, I prefer to use Drupal A/B Test JS, but that's also because I made it :)

 
 

相关问题

2  面板内容包装器  ( Panels content wrapper ) 
我意识到这是一个可怕的详细问题,所以决定编辑它并再试一次! 我试图找到一种用div包裹一组三个(或更多)面板内容区域 - 这可能呢? ...

3  最轻的方式来控制领域的标记  ( Lightest way to control a fields markup ) 
到目前为止,我已经使用显示套件来控制实体的输出。这尤其适用于节点的字段,默认接收多个包装器(如 99887664 , field-item ,Zebras),我不需要。如果我错了,请纠正我,但我会说只为这个目的安装展示套件是一个很大的开销。如果您同意这一点,那么可以成为我想要的标记的最轻的方法? ...

4  7 - 如何在另一个地区添加一个地区?  ( 7 how can i add a region inside another region ) 
我很惊讶我找不到在线的答案。 我当前正在为我的Drupal网站创建一个自定义标题,所以我在.info和一个区域中创建了一个custom_header区域 - custom-header.tpl.php文件。在该地区内部,我需要添加另一个区域。 我试图在标题区域内打印另一个区域,但没有任何东西出现。 良好的做法或...

2  template.php面包屑功能  ( Template php breadcrumb function ) 
我正在尝试在drupal中更改addcrumb以在我的主题中通过template.php在丹麦语中展示。但我无法改变它。我刷了缓存。 这就是我在template.php中放入的内容。 function modeindeks_breadcrumb($variables) { $breadcrumb = ...

0  如何从自定义用户仪表板中删除菜单选项卡  ( How to remove menu tabs from custom user dashboard ) 
我正在努力创建一些自定义用户仪表板,但似乎无法找到如何删除某些菜单项。我打算使用主要用面板的组合与上下文和视图(但我没有简单地使用家庭框),但在这个早期阶段学习D7我在系统面板模板中创建了一个自定义变体,创建了一个规则集该变体将根据其订阅(Ubercart角色)设置每个用户仪表板以加载。由于角色的性质,需要不同的DB...

3  如何为用户的个人资料页面创建Page.TPL?  ( How can i create page tpl for user s profile page ) 
在google中搜索我找到了user-profile.tpl.php,但实际上这是我想要创建page.tpl.php foe的配置文件页面的节点。 此外页面user.tpl.php包含登录页面,寄存器页面和所有页面属于我不考虑的用户,我需要为个人资料页面创建page.tpl ...

1  我需要帮助实现Ajax块以防止它被升压模块缓存  ( I need help implementing an ajax block to prevent it from being cached by boost ) 
我有一个网站完全缓存通过升压模块,其中显示块的区域。在该块内容中通过视图和视图中的显示顺序设置为随机。到现在为止还挺好。登录时,此工作正常。但是对于访客用户仅显示击中缓存的第一个块内容。 我在 drupalgroups 应该做这个技巧,一个"ajaxified块" 。 这是blocka.php 的片段 <?ph...

1  在哪里添加CSS和JavaScript指令,以便将它们插入标题?  ( Where to add css and javascript directives so they are inserted into the header ) 
我正在尝试使用jQuery脚本,该脚本将在Drupal 7首页上启用"滑块" 或"幻灯片" 。 jQuery插件的说明(称为 flexslider )表示将以下项目插入页面的标题在哪里我想使用插件。 <!-- Place somewhere in the <head> of your document --> <...

2  如何将静态HTML模板转换为Drupal主题  ( How to convert static html template to drupal theme ) 
是否有任何工具可用于将HTML模板转换为Drupal主题,是否有任何模块,使Drupal 7主题更容易? ...

1  自定义管理员内容类型页面设计  ( Customize admin content type page design ) 
我为我的ContentType壁纸创建了模板文件,但我不知道如何在该页面上获得表单设计。 例如 我的内容类型名称是壁纸,所以我为 page--node--add--wallpaper.tpl.php 中的模板文件创建了这个页面如何获得标题,正文等。 (IE)节点添加到页面设计。 感谢您的提前 ...

1  在主题更改后无法登录管理员  ( Unable to login into admin after theme change ) 
我是新的drupal,并了解我在drupal中创建了一个新主题的基础知识,并使它默认启用了。然而,它工作正常,但是,我无法登录管理员。我重新安装了Drupal,管理员登录工作正常。启用默认主题时,它可以工作,但在启用自定义主题时它不起作用。 我的 .info 文件是 - name = My First Cus...

0  使用特定的图像样式输出图像的宽度和高度  ( Output the width height of an image using a particular image style ) 
在drupal中,您可以使用以下内容 field--field-image.tpl.php 文件以将图像输出为使用特定图像样式的URL: <?php foreach ($items as $delta => $item): ?> <?php echo image_style_url('thumbnail', $i...

4  用ZEN网格主题面板  ( Theming panels with zen grids ) 
我想要使用ZEN网格的主题面板进行布局。 问题: 因为面板中的所有内容出现在"内容" 中,使用面板将内容放在页面上的内容最灵活的方法是什么? ,例如。现在,我的内容 - 用'Region-FirstBar-First'设计的内容项显示在主要内容部分(当然)。 我用吗? - 到处都是面板? - 迷你面板? 我...

1  使用模板文件自定义节点创建表单  ( Customizing the node create form using a template file ) 
我为我的内容类型创建了一个模板文件,但我不知道如何在该页面中获得表单设计。 我的内容类型名称是壁纸,我创建了 page - node - add - wallpaper.tpl.php 模板文件。如何访问节点标题或节点正文在模板文件中? ...

0  模板文件命名与别名命名  ( Template file naming with alias ) 
我使用drupal 7在我的主题中覆盖了一些模板节点。 例如:页面 - 节点 - 53.tpl.php 这可能是一个懒惰的请求,但是有没有使用我选择的别名来命名这些文件,而是使用节点号?这样我不必记住所有相关页面。 例如页面 - 节点 - about.tpl.php ...

1  在站点名称中删除,但不是标记标记  ( Line breaks in site name but not in title tag ) 
用于设计目的,我需要在多语言站点名称中删除。我已经设法通过在站点名称变量中添加 <br /> 标记来完成此操作。但他们在HTML头标记中显示出标题,我不知道如何摆脱它们。 我正在使用我添加了html.tpl.php文件的自定义zen子项。在我尝试过以下方法,无济于事: <title><?php print pre...

1  将您的视图转换为自定义模块[已关闭]  ( Convert your views into a custom module ) 
关闭。这个问题需要更多聚焦。它目前不接受答案。 想要改进这个问题?更新问题,因此它仅拍摄了一个问题,只有编辑此帖。 关闭 4年前。 ...

3  theme_hook_sugbortions忽略了我的建议  ( Theme hook suggestions is ignoring my suggestions ) 
我在drupal 7中工作。 我正在尝试为我创建的几页添加自定义模板文件。我在template.php文件中在hook_preprocess_page中完成了。 这是方案: 我有四条"基本页面" 内容将使用相同的模板文件。我已经为其他"基本页面" 内容编码了Page.tpl.php。我想要这个模板的原因是因为这四个...

0  渲染节点和其他内容与所有主题兼容  ( Rendering nodes and other content compatible with all themes ) 
是一组我们为学生创建一个系统。 现在,在该系统上,我们将拥有具有输出的各种模块,例如内容类型,其中包含有关事件的信息,具有人员和组层次结构的页面。 如何渲染此输出的驱动方式? 我知道渲染应该由主题完成。但问题是我们的用户应该能够选择他们想要的主题。为每个主题创建单独的输出只是不可行的。 ...

0  响应图像在Firefox上以omega主题正确地缩小 - 在Firefox [关闭]  ( Responsive images not scaled down properly in omega theme just on firefox ) 
这个问题不太可能帮助任何未来的访客;它仅与小地理区域,特定时刻及时的特定时刻或非常狭窄的情况,这些情况通常不适用于互联网的全球观众。有关帮助提出这个问题更广泛适用,请访问帮助中心。 ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.