找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
Google FB TK游戏代投⚡️E.PN 虚拟卡⚡️BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具
ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款全球虚拟卡, 支持U充值
Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款
各种主页、账单户、BM户(优势)IPCola原生住宅IP⚡️$1.8/条双ISPFB资源,账单户,分享户,国内一手TK加白户/二解户/FB海外户/GG老户
最大欧洲Nutra网盟BA找量 FB高权重耐操个号⚡️稳定过审FB企业户海外户,授信户,TK加白户联盟收款/海外资金下发/服贸结汇
✔Taboola海外户源头广告位出租虚拟卡返佣1%,国内持牌机构 
查看: 19510|回复: 7

[分享] 简单垃圾流量利用及爬虫过滤、JS支持校验方案

[复制链接]

16

主题

376

广告币

533

积分

中级会员

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
Binom_AdvertCN
本帖最后由 yang。 于 2021-7-15 23:15 编辑
& U1 X% J9 Q  z9 {6 B) T! g& p4 r
在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。
) y, r( k% P( a9 f5 M* d但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。
9 B& f+ S/ z, F3 }0 u& ^
# N- L6 m0 R7 A/ S另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。
) q" ?; }; T- N# l0 Q. N8 J% ~# p9 r; {2 n5 v8 |! e/ s3 i
具体做法是:
5 T: O3 L/ L4 A7 Z+ R5 A% [* l8 `* u/ s2 g6 l/ c0 p  m
1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。
, s$ p7 q4 w) k假设前置页面的访问路径为 http://www.xxx.com/
# h6 [% y( b4 ~2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  : g5 Y# x0 G+ u( c
http://www.xxx.com/iphone/02/index.html
; d$ Z3 O. p* {9 g, F那么我们在追踪器中设置的LP访问路径为' x  l. x$ |& [1 W5 ]: m& l2 V/ |
http://www.xxx.com/?offerUrl=iphone&landUrl=01+ |5 `  ]$ k- R/ A/ i7 u
http://www.xxx.com/?offerUrl=iphone&landUrl=02$ e  q5 W2 W0 u( e
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理
! i& ~" ^; Y2 P; c3 v6 p' Y; W3 }0 D/ h" C. C5 T2 o9 t
这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。* t- O( \& t( j/ S; l) a
  O! w+ p9 {, D* J4 k+ ~- y* t1 s

# _! B% B) U' B' F1 x) }2.前置页面内容如下
% c9 _' I0 h$ F' ^
  1. <!DOCTYPE html>
    " E& ^( k  ~# @; B2 @  M1 r
  2. <html lang="en">9 v  O+ i0 b  m' h6 V
  3. <head>! f. g% V4 v% V# q, o! `
  4.     <meta charset="UTF-8">0 y( M5 ~+ w7 p
  5.     <title>Loading</title>- x2 P% _# y% S0 f% I
  6. </head>2 Y" R5 g5 v  H/ }8 v+ @) K
  7. <body>
    2 T: O4 P7 x8 P) a' y
  8. Loading...) k' M( S) s) M/ R- v9 ^+ E
  9. </body>5 M$ j" {! j( a5 e' u
  10. 6 _9 B& _$ i3 r/ z" b- ]$ P$ z# E3 y
  11. <script>
    & C7 J9 f; n' Y' k1 _
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成2 ~; Q& g7 i2 O0 l1 S3 i
  13.     //iphone2 @0 |3 Z9 X$ l. S! i. h, D- I
  14.         //01                     http://xxx/iphone/01/index.html: g6 Z- y& y  B% @5 E
  15.         //02                     http://xxx/iphone/02/index.html4 y/ W. O" m) i* |
  16.         //以此类推
    5 R$ y1 P+ G  ]6 c7 X6 V* m
  17.    
    7 ?3 \( K  ]' P: M% D4 D
  18.    
    . B2 R2 v# ~0 `0 N
  19.     / v" o& U; x8 w; ~  {
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html
    ! `% e1 H. k  }+ k4 Z9 y
  21.     //那么我们的offerUrl = iphone,landUrl = 012 A& r8 a$ E* @
  22.    
    ! l3 P" X% [4 J1 z
  23.     //从url参数中获取设置好的访问参数
    , C4 S, v) b/ F9 j, m3 w# H
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    / c' U" v8 q9 I! A
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    # b: ]7 C: W6 Y0 H5 C
  26.    
    : q8 Z4 H9 B: v/ G. c1 B
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径
    7 S" O. z$ P2 x' {  w: k+ u
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);. I' p" N" _) g1 a, m  H
  29.     if(b){; |5 q, M1 V+ D1 ]; U
  30.         setTimeout(function() {6 p' f2 D6 h) N! B+ i
  31.             var params = funcUrlDel(['offerUrl','landUrl']);
    0 R8 V! g7 Q: P0 `- s  h
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤
    5 V2 ?7 L+ q( x2 z& i
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);
    # Y) D7 A' r3 C) b" r
  34.         }, 300);* i, D  C. `+ q& u9 W. g; ^0 R. v
  35.     }else{
复制代码
+ p  F  ^' s2 Y7 i7 L

2 F$ ~+ Z7 j4 V1 a: o  m( O+ F: _* v" t4 f
只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。
$ X2 M. i. z+ a: T6 r: p1 @/ ]
5 z% \- T9 Q8 k
, Z% m2 i; x1 N
/ w( Y; y  l# p8 h1 R3 U! b& a9 Z6 ?- K: I# K/ V/ E
4 s  |) [9 O# a4 `) k: o) j

# h4 H& Y4 ?1 b6 R
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

积分
533
 楼主| 发表于 2021-7-15 23:28:50 | 显示全部楼层
当然,引申一点,如果你的LP做的足够通用,比如你做的一个专门为各种手机抽奖的LP,每种不同的手机都有一组相同名称的图片,你完全可以通过传入参数去加载不同的手机图片、或者语言等等,通过一个LP,不同的参数组合实现N多个offer的复用和测试
回复 支持 反对

使用道具 举报

1672

主题

1万

广告币

2万

积分

管理员

宇宙无敌河马天神

积分
28130

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的
/ s# a7 w4 v' q0 B5 M" v
" t, ~$ |# X% q" U, F# s4 ^但是对于tracking来说,多一层跳转,一般会多一层流量损失

点评

经过测试,直接用load的方式,用户基本无感,应该会比直接跳转的方式要好很多,相当于通过ajax隐藏了中间跳转的细节  详情 回复 发表于 2021-7-16 10:28
请教下河马大大 如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div  详情 回复 发表于 2021-7-16 09:47
学会提问的艺术, 从小处入手, 忌大而空
AdvertCN电报群

我最喜欢用的工具
7200W全球动态不重复住宅IP代理
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

积分
533
 楼主| 发表于 2021-7-16 09:47:46 | 显示全部楼层
河小马 发表于 2021-7-16 07:55$ T4 R1 J& l& [3 l8 p/ W) x
想法是好的
$ v# x6 D5 s- z
$ ^5 h( |. P  g. t+ M- H  v# Z/ x2 O但是对于tracking来说,多一层跳转,一般会多一层流量损失
! m7 K/ @! C' k. R
请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55! D3 m$ C- B  |5 K
想法是好的
# i0 h& ^! K, n0 k$ s/ R5 i( b+ k3 ]+ X, k$ J0 O
但是对于tracking来说,多一层跳转,一般会多一层流量损失
; ?( n4 x2 K( @9 G$ ^
经过测试,直接用load的方式,用户基本无感,应该会比直接跳转的方式要好很多,相当于通过ajax隐藏了中间跳转的细节
回复 支持 反对

使用道具 举报

3

主题

13

广告币

22

积分

初级会员

积分
22
发表于 2021-7-16 22:06:24 | 显示全部楼层
额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核。。。小白一枚 不是杠 真心求教

点评

1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。 2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。 3.这个在自己服务器内部流转,应该不会被判定。  详情 回复 发表于 2021-7-17 10:52
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

积分
533
 楼主| 发表于 2021-7-17 10:52:29 | 显示全部楼层
卡拉赞 发表于 2021-7-16 22:060 r: b. E. C$ T: ?" Y/ n" M" j! Z
额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...
$ o( E$ n& u/ q7 p9 u1 o- H. }
1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。
! x3 X6 S5 g" m% ]2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。! {6 Q5 d4 J: D) h. A- m6 F$ t
3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>& V9 |" ]; U. Q9 E

7 {0 b! H  @1 {  Q0 g8 o- F/ f4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

850

广告币

1006

积分

中级会员

积分
1006
发表于 2021-7-17 12:17:23 | 显示全部楼层
技术大佬,人才
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们|联系我们|DMCA|广告服务|小黑屋|手机版|Archiver|Github|网站地图|AdvertCN

GMT+8, 2026-10-3 01:49 , Processed in 0.082101 second(s), 24 queries , Gzip On.

Copyright © 2001-2026, AdvertCN

Proudly Operating in Hong Kong.

快速回复 返回顶部 返回列表