|
本帖最后由 yang。 于 2021-7-15 23:15 编辑
) [% Z. @! m$ E; H* u3 { d4 a( P
/ e8 c0 }! W& Y* ^在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。- M- |, r$ H B, ?* Y6 E
但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。
7 {: I- O, Y% q4 p3 Q4 T. U5 q3 J3 i1 x
另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。
7 ]9 M2 s) S& [7 N3 B+ a
; u3 I& h! u4 U! z( c- x具体做法是:
8 `# u6 l2 h9 j# [% E6 ?' N5 D' W6 M Q$ R' l N5 \0 n" U3 r
1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。1 c% r1 m' O+ y
假设前置页面的访问路径为 http://www.xxx.com/
2 Z- |2 R$ U0 Y, y8 z3 ]- M2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html ' R# K1 h, s i
http://www.xxx.com/iphone/02/index.html
/ V3 a0 m2 O, `2 H4 T那么我们在追踪器中设置的LP访问路径为) h/ f3 R: ~0 t4 s+ P! \) G, b4 r1 B
http://www.xxx.com/?offerUrl=iphone&landUrl=01
( L# ^/ |- e/ l: m* y& E/ Nhttp://www.xxx.com/?offerUrl=iphone&landUrl=02
; g$ h9 U, e9 t k$ R. O3 n; z这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理
/ |% P+ G3 F4 a0 K" A" i8 e1 d1 G' P6 o0 M1 W4 A5 C
这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。
2 |& {. Y6 f, }& j1 j/ `3 E1 C8 c" m1 _. S5 g
$ w" h9 j+ t2 W' \; U% D) u4 M2.前置页面内容如下0 i7 N7 W; j* w0 V; p4 {
- <!DOCTYPE html>; `$ g, O' y8 i) h/ d8 H, k0 J
- <html lang="en">
) Z) G/ w9 m \$ ^6 n - <head>
( s9 \$ T8 y& D8 k - <meta charset="UTF-8">
/ Q, c+ O8 r( q0 b' j: D+ r9 H - <title>Loading</title>: G- J+ z* x# ~7 e% K- d+ u
- </head>, O$ I3 x$ Q2 Q6 h1 ]
- <body>8 E7 P! E6 C6 y1 ~/ ~6 \5 v) Y
- Loading...
9 h w% `1 G( _" t5 w6 ^0 y - </body>; b7 Q! `$ D/ N4 u
d" J& o, s, Z& [! Y4 d9 M- <script>: O2 y& M* l1 Z$ C( M
- //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成
8 }- C' t/ I; U7 e8 w - //iphone8 n' R- m1 }: x0 }! x( f
- //01 http://xxx/iphone/01/index.html
8 z& j( m3 }! }( t% s - //02 http://xxx/iphone/02/index.html
$ h* v" f8 C) S. g+ z - //以此类推1 [8 m) c! J2 v8 B2 z r* `" s: p, |+ D
- ! f; r: M0 {4 K9 n
-
7 y- R- E1 K! `5 {7 p' a+ H; D -
: M4 H( R0 w6 N0 U6 o% m - //这里假设我们的offer访问路径是 http://xxx/iphone/01/index.html
3 k4 M; O; E+ y8 b0 A" v7 f - //那么我们的offerUrl = iphone,landUrl = 01* S, l6 k7 b3 R& p
- * E) t7 s1 W/ a1 d4 P- |) Q
- //从url参数中获取设置好的访问参数, E- d- Y W: a- D0 I
- const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
3 n; W4 F1 Q5 U5 n4 j! f - const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
. s6 B3 u {( i$ s( ~' y) w9 G - 8 u, p$ c7 P- P' c3 q. H0 J
- //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径
; j3 l, c! L1 B: u: U' K8 N - const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);$ a1 R5 A$ ]" k' g$ }
- if(b){' L! V5 H2 A6 h( \# h
- setTimeout(function() {! Z- k& A: i/ u0 ^3 j& L$ K
- var params = funcUrlDel(['offerUrl','landUrl']);7 r- l! t! l, Q- [7 P4 J
- // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤
: K6 p1 H9 w+ f" K2 `6 N v - window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);
$ n5 {) h0 [( v; r- q2 B) g - }, 300);
* z: p# Q& _" [8 u( i' S/ ~, T - }else{
复制代码 & ]( E! |6 @9 _
. i: M8 [& H5 @4 U2 d7 U/ t/ e6 @: y+ u: F, g; M
只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。
$ H, F1 d# G# x Y/ _( U* @4 l4 c4 p) P- _; \
! U* W" {% m/ j! n% @) ~! `
' Q$ y d4 j# I7 v! C9 V: Z
1 Y8 G3 w1 o0 `7 C- V- E
2 M- i7 f9 W; n) @6 C
8 ~& w. K# k8 s& J. e |
|