标签: optimizely

Optimizely&Visual网站优化工具如何处理可视化DOM编辑?

Optimizely&Visual网站优化工具是两个很酷的网站,允许用户执行简单的A/B测试.

他们做的最酷的事情之一是可视化DOM编辑.您可以直观地操作网页并离线保存更改.然后,在随机访问者页面视图中通过JS加载应用更改.

视觉编辑如何运作?

javascript wysiwyg dom optimizely

19
推荐指数
1
解决办法
7072
查看次数

获取访问者的优化A/B测试和变体

当我在我的网站上进行实验时,我希望能够找出当前访问者看到的测试和变体.我无法从Optimizely Javascript API中找到如何执行此操作.

javascript api optimizely

13
推荐指数
2
解决办法
3409
查看次数

是否可以使用Angularjs在网站上使用Optimizely(或其他DOM操作A/B测试工具)?

我希望在我们将使用Angularjs的网站上使用Optimizely,但从我的理解,这将是困难的,因为Angularjs的整个目的是不操纵DOM,并且Optimizely通过操纵DOM来工作.

有没有人对如何使用这些工具的文件有任何指导?也许我可以创建指令来帮助工具工作的结构?

javascript dom optimizely angularjs

12
推荐指数
1
解决办法
3424
查看次数

如何为单页应用程序设置Optimizely测试?

我有一个单页面的Web应用程序,它提供了一个多步骤的照片管理"向导",通过一个标签条分成几个不同的步骤(照片上传,样式,注释,发布).在切换步骤中,我将URL哈希设置为#publishing-step(或激活了哪个步骤).

如何设置Optimizely测试以在向导的各个离散步骤上运行?

浏览器永远不会离开页面,因此它只会获得一个window.load事件.它的DOM不会被废弃或重新生成,而只是在任何时候通过display: none或切换哪些页面元素是可见的block,所以我试图弄清楚的部分主要是关于我如何进行Optimizely测试设置本身 -如果一次性应用所有编辑,那就很好(并且可能是必要的).

不幸的是,这件事必须在IE9中工作,所以我不能用于history.pushState为每一步获得相当分散的URL.

ab-testing optimizely single-page-application

10
推荐指数
1
解决办法
2041
查看次数

GWO(谷歌网站优化工具)的替代品?

我们现在正在使用GWO(Google网站优化工具).多变量和A/B测试正是我们所需要的,并且从显示用户变化的角度来看效果很好.但是,我们有几个问题让我想要使用不同的工具:

  • 与Google Analytics相比,统计信息不准确,因此我们现在忽略它们并且必须手动检查
  • 预览通常不起作用
  • 不能在变体中拥有动态内容(我知道vary_content,但我无法让它工作,谷歌的论坛中的任何人都无法帮助..我怀疑谷歌可能已经停止支持这个)
  • 文档很差,有一个技术指南,众所周知的不准确性,一年多来都没有修复.
  • 我们修改多变量测试部分的html/javascript代码很难看,使我们的页面无法通过标准验证
  • 每页只有8个测试部分,问题在于我们希望我们的市场营销人员能够在GWO中完成他们需要的所有工作,但现在他们需要在我们的自定义工具中标记他们想要/不想要的测试部分
  • 每次测试都有不同的实验关键,这也使得市场营销人员有时需要使用我们的代码

是否有像GWO这样的好工具可以与Google Analytics(我喜欢)一起使用?

更新:我们选择了Optimizely并且一直很高兴.但是,它可能很难处理,因为它对你来说有点太多了.您可以直接从他们的UI编辑您的网页,但这当然并不容易,甚至可能.特别是当涉及Javascript时.我们的UI经常在这个过程中搞砸了.我喜欢GWO的方法,因为开发人员将代码分开,营销人员可以用开发人员允许的变量填写这些部分.对我来说这是理想的,除了GWO,当然,实际上并不起作用.

Optimizely的竞争对手名为Visual Website Optimizer.看起来也很漂亮,但我上面描述了同样的问题.

是否有GWO有效?

javascript google-analytics google-website-optimizer multivariate-testing optimizely

7
推荐指数
1
解决办法
3406
查看次数

Optimizely如何欺骗chrome而不提示加载不安全的内容

在最新的Chrome更新之一中,Chrome团队添加了"无论如何"加载消息,提示用户批准在安全页面上加载不安全内容,以某种方式优化地找到了一种方法来"欺骗"chrome不要求问题而只是简单地使用黄色警告键加载内容,例如:https://www.optimizely.com/edit#url=http : //www.yahoo.com/

我似乎无法理解他们是如何做到的......有人理解吗?

谢谢

javascript ssl https google-chrome optimizely

6
推荐指数
1
解决办法
1123
查看次数

如何在页面上加载时更改HTML内容

我在我们的网站上进行A/B测试,我做的大部分工作都是在一个JS文件中,在文件顶部加载之前,其他任何东西都被渲染,但是在jQuery加载之后,它有时会派上用场.

举一个非常简单的改变H1标签的例子,我通常会在头部注入一个样式来将H1不透明度设置为0,然后在DOMContentLoaded上,我会操纵H1内容,然后将不透明度设置为1.是为了避免在更改发生之前闪现旧内容 - 隐藏整个对象在眼睛上更优雅.

我已经开始研究MutationObserver API了.我之前在使用覆盖对话框中更改内容时使用过这个用户可以打开的内容,这似乎是一个非常酷的方法,我想知道是否有人设法使用MutationObserver来收听文件,因为它是第一次加载/在首次渲染之前和DOMContentLoaded之前解析并更改文档?

这种方法可以让我更改H1内容而不必隐藏它,更改它,然后显示它.

到目前为止,我已经尝试但失败了,刚刚结束了关于即将到来的突变事件的阅读,并想知道我是否正在尝试做一些不可能的事情.然而,我们(不是我)已经设法将机器人放在火星上,所以我希望我能解决这个问题.

因此,可以使用MutationObservers在加载/解析页面时动态更改HTML内容吗?

感谢您的帮助或任何指示.

问候,尼克

javascript ab-testing optimizely mutation-observers mutation-events

6
推荐指数
1
解决办法
2688
查看次数

由第 3 方注入的应用程序会话 cookie

我的应用程序使用会话 cookie。不知何故,这个 cookie 被注入了一些用户的跟踪信息:

JSESSIONID=0624EF8E3E5E7CCBDB52BAE6C44C5AFB.jvm-application; optimizelySegments=%7B%22204658328%22%3A%22false%22%2C%22204736122%22%3A%22referral%22%2C%22204775011%22%3A%22ie%22%2C%222%22%2C%122%22%22%2722%21 %7D; optimizelyEndUserId=oeu6892721299353r0.9526657112221855; optimizelyBuckets=%7B%7D

JSESSIONID 来自我的应用程序,而 optimizelyXXX 元素似乎来自 optimizely.com,请参阅optimizely FAQ

这怎么可能,我该怎么办?ModSecurity 抱怨可能的注入。当然我可以禁用此规则,但我想了解发生了什么。

cookies session code-injection session-cookies optimizely

5
推荐指数
1
解决办法
1150
查看次数

包含优化脚本时,请求的资源上不存在“Access-Control-Allow-Origin”标头

我在http://www.makeitreal.camp/ 中优化使用,但是当我打开浏览器控制台时,我看到了这个错误:

XMLHttpRequest cannot load http://app.optimizely.com/account/snippet_installed?project_id=3129750879&wxhr=true.
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.makeitreal.camp' is therefore not allowed access.
Run Code Online (Sandbox Code Playgroud)

似乎一切正常,因为优化的诊断说“您的实验似乎已正确实施。 ”但我想确保此错误不会影响实验。

我怎样才能避免这个错误?

cors optimizely

5
推荐指数
0
解决办法
312
查看次数

Optimizely object is not valid. Failing isFeatureEnabled

Trying to use the React and JavaScript SDKs for Optimizely, but getting the following error in the console:

OPTIMIZELY: Optimizely object is not valid. Failing isFeatureEnabled.
Run Code Online (Sandbox Code Playgroud)

More info about my setup below:

Installed via Yarn: yarn add @optimizely/react-sdk

Import statement in the app container:

import {
  createInstance
} from '@optimizely/react-sdk'
Run Code Online (Sandbox Code Playgroud)

Logic in render function:

const optimizely = createInstance({
  sdkKey: '<SDK_KEY>',
})

const enabled = optimizely.isFeatureEnabled('example_feature', 'user123');
Run Code Online (Sandbox Code Playgroud)

I get this error in the Chrome console:

OPTIMIZELY: Optimizely object is not …
Run Code Online (Sandbox Code Playgroud)

optimizely

5
推荐指数
1
解决办法
1287
查看次数

Podfile 未下载最新版本的 Pod

我正在为我的公司项目使用 cocoapods,但我在获取最新的 pod 方面遇到了问题。

在我的 Podfile 中,我有很多 Pod,但我的痛点是优化 Pod。

pod 'Optimizely-iOS-SDK' - 这应该获得最新的 pod 版本,但它没有。最新版本是 1.2.2,但现在是 1.0.78。

当我制作特定版本的 pod 时: pod 'Optimizely-iOS-SDK', '1.2.2' 这会抱怨:

[!] 无法满足以下要求: -Optimizely-iOS-SDK (= 1.2.2)要求Podfile

Cocoapods 版本:0.39.0

OS X: El Capitan

红宝石版本:红宝石 2.0.0p645

我很感激任何关于我做错了什么的指示。

谢谢

编辑:我的主要问题是,没有提及任何版本号,为什么它会得到较旧的(1.0.78)版本而不是最新版本?

更新: pod install --verbose

-> 安装 Optimizely-iOS-SDK (1.0.78)

Git 下载 Git 下载 $ /usr/bin/git clone https://github.com/optimizely/Optimizely-iOS-SDK.git /var/folders/n7/tr3hj67d0gxbdbm2thmsrr840000gp/T/d20151014-1032-jwurwk --single-branch --depth 1 --branch 1.0.78 克隆到 '/var/folders/n7/tr3hj67d0gxbdbm2thmsrr840000gp/T/d20151014-1032-jwurwk'... 错误:RPC 失败;结果 = 56,HTTP 代码 = 200

[!] 安装 Optimizely-iOS-SDK 时出错 …

optimizely cocoapods

3
推荐指数
1
解决办法
3973
查看次数

了解 Optimizely API

我试图更好地理解optimize api 是如何工作的。我是新手。因此,如果我问的问题非常明显,请原谅。

但我认为 API 的工作原理是使用一个优化对象,该对象有两个方法 get 和 push,以及一个数据对象。但后来我在 optimizely 网站上看到了这段代码,它似乎将变量 windows[optimizely] 分配给一个数组 [ ]。不应该是 { } 而不是 [ ]。请帮忙

var activated = function(event) {
// The Optimizely snippet has been activated.
var visitorId = window.optimizely.get('visitor_id').randomId;
console.log("The visitor ID is: " + visitorId);
};

window["optimizely"] = window["optimizely"] || []; 
// SHOULDN"T THE ABOVE BE **window["optimizely"] = window["optimizely"] || {}
window["optimizely"].push({
type: "addListener",
filter: {
  type: "lifecycle",
  name: "activated"
},
// Add the activated function as a handler.
handler: …
Run Code Online (Sandbox Code Playgroud)

javascript api optimizely

1
推荐指数
1
解决办法
588
查看次数