AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AdsEmpire
 谷歌+Bing+TT+MSN官方代理 
⚡️按条S5代理⚡️静态⚡️独享⚡️5G⚡️最干净<Wifi住宅+5G移动>IP代理指纹浏览器,就用AdsPower
【广户】
⚡️我们很有实力Search feed套利⚡️Affiliate 广告开户FB/Google/TK点我开户⚡️
DuoPlus专注打造跨境电商云手机E.PN 虚拟卡BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具
MediaGo+Taboola+Ob开户百度国际MediaGo⚡️让产品狂奔全球百度国际,高点击转化,快速放量百度国际MediaGo,独家原生流量
ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理全球虚拟卡, 支持U充值Facebook 批量上广告
尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)2024做什么 - Media buy 项目库各种主页、账单户、BM户(优势)
⚡️个人户,bm户不限额,账单户Adsterra 的CPA/CPM/CPC 网站流量一手BM分享户不限额9Proxy ⚡️ $0.04/IP, 无限带宽
FB顶级服务商IPCola原生住宅IP⚡️$2.1/条双ISPFB1拖7/8/9一个也是批发价FB二三解0.1元一个
Google、Bing官方总代  联盟流量开户广告位出租  
查看: 16301|回复: 7

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
adsterra
本帖最后由 yang。 于 2021-7-15 23:15 编辑 6 m# Q7 ]1 K  j# q" k% h, `

* X, M: I( A# P: c8 D在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。
& f7 V& F& o: D8 y7 o# w但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。
' ]# p- I2 q2 G/ _+ M) c
' l7 p1 j9 u7 s$ D另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。
  l6 H  S0 j. Y  @4 @) h/ ^. s
% o) @8 f0 r0 H6 a: T- ]具体做法是:4 t  z: l/ v8 [/ M# Z/ Y; ^; q& C8 j

6 p! g7 Q7 |- F) K/ |: J6 ?1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。
0 Z: P0 U. j, `, w假设前置页面的访问路径为 http://www.xxx.com/! S% V  u. y; j# [' }$ s# x2 S
2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  
  m& t$ ^) `+ s7 C8 F4 h4 chttp://www.xxx.com/iphone/02/index.html9 _1 o3 X1 I7 W) G' t. E
那么我们在追踪器中设置的LP访问路径为
$ D* ]0 `/ }5 r, L! S2 x' Dhttp://www.xxx.com/?offerUrl=iphone&landUrl=01
, R) G! S* L5 E- g& z) r/ Jhttp://www.xxx.com/?offerUrl=iphone&landUrl=025 J3 O) d: I8 h8 W
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理
/ b! g5 M# t: B/ q# L; u/ k0 r, Q: a  [6 M( R
这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。! b$ E4 M; B( r+ x7 Y

) g6 `9 g  z6 T- [+ j
; _7 R$ N% N& Q) F' E2.前置页面内容如下
. e7 R8 G. |( \
  1. <!DOCTYPE html>
    ( x* N' n+ a+ Y$ M- A
  2. <html lang="en">) M0 ~0 f& U" A# i0 V, q9 g
  3. <head>+ @5 t" _/ l3 y6 I
  4.     <meta charset="UTF-8">
    1 |  H0 c; V+ ?  _" V# ~5 d; i
  5.     <title>Loading</title>
    ; z8 l+ J$ k1 W( ~3 r# u
  6. </head>0 N4 S" _1 k% @3 q% b2 S$ o
  7. <body>
    ( X- @) N  r: i% n) o! h
  8. Loading...! o# y1 ?0 d/ f
  9. </body>
    ( g+ N0 f* D  \" V+ J

  10. ! O+ l; O: s- c% l4 l% V
  11. <script>4 q$ _5 Q0 r; W: N: T  d. R9 {
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成
    5 b9 _$ @( s+ v% R" D+ z: K7 @
  13.     //iphone/ y; ?" @( ?& U. \7 |! q6 F
  14.         //01                     http://xxx/iphone/01/index.html" ?2 p, @( Z  ~: c9 n2 E
  15.         //02                     http://xxx/iphone/02/index.html4 s  }. r3 `, a9 q. l
  16.         //以此类推  i/ H( u8 y2 a" B
  17.    
    5 N7 F# u  N- P$ ^
  18.    
    + e4 x9 c+ p( Z! b8 P
  19.     * W5 c8 E, d7 o( T3 A! t
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html2 e$ c: n4 @0 E( D" m# _
  21.     //那么我们的offerUrl = iphone,landUrl = 01* {* ?- ^; o0 u% F2 F7 |
  22.     ; D' U: N& I. o8 x6 n& |" i# S8 `7 a
  23.     //从url参数中获取设置好的访问参数
    2 p" S2 f( n( G* x0 E
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");# T( A" E  q% j  M: q1 r( w
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");. Z# p8 ?' K2 F; T
  26.    
    ! h1 @- k9 F4 ~+ S# y
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径
    ) t/ M3 E" X  d8 ^
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);" i5 i; ^# W. X; ]/ a% L1 m
  29.     if(b){
    9 m# V$ Y* I( A, A, E
  30.         setTimeout(function() {6 a# }5 [' }  T# T6 p
  31.             var params = funcUrlDel(['offerUrl','landUrl']);
    , h! e8 i5 L0 e0 S% B& [) {
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤) A. g3 q1 T9 }
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);
    / C/ F6 Y4 ]1 r2 r
  34.         }, 300);* [. [8 W5 H& l1 Z& s
  35.     }else{
复制代码

9 U! u: }5 c: ^0 o: j5 j: T3 ~* d& z. K& Y  D* C
# h1 T7 i) f6 Z2 g; B
只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。
' D2 r- V3 P4 Z* W7 d4 l" @
2 d* v$ q0 Y/ I7 p
. x. q2 q  Q; z3 e3 b/ T# J9 m2 M' U# R: L' W
3 p0 }9 @) {8 M/ ^! n

2 y( P2 o0 m* u/ ^8 G
9 l! _* }! W% s+ o: e
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

1611

主题

1万

广告币

2万

积分

管理员

宇宙无敌河马天神

Rank: 9Rank: 9Rank: 9

积分
29207

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的
5 g0 u! ], }- Q- f, D- A1 J
6 }2 X& C* w0 x6 c2 g# A但是对于tracking来说,多一层跳转,一般会多一层流量损失

点评

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

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

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 09:47:46 | 显示全部楼层
河小马 发表于 2021-7-16 07:55: @6 l/ B( i( G4 r
想法是好的
% s" T; n( ^* ^. g& _& N1 u
; m9 f6 Y: v( n% R. K但是对于tracking来说,多一层跳转,一般会多一层流量损失
( Y# r: b; z9 p5 w, `: F
请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55
( z  N' P5 j, A# V+ f, p0 `1 f& E2 Z想法是好的# r! B$ m/ p! L, T6 s) W4 g) i
. S1 v  q1 w$ Q% S% I! w6 Y
但是对于tracking来说,多一层跳转,一般会多一层流量损失

/ s. S, S, M( F& I0 L% M1 H+ T, O经过测试,直接用load的方式,用户基本无感,应该会比直接跳转的方式要好很多,相当于通过ajax隐藏了中间跳转的细节
回复 支持 反对

使用道具 举报

3

主题

13

广告币

22

积分

初级会员

Rank: 2

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

点评

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

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-17 10:52:29 | 显示全部楼层
卡拉赞 发表于 2021-7-16 22:06
) W/ @: s9 G$ w* X; S5 l/ i额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...
* T5 m- R5 ]0 j; C. Z
1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。! v% ^; c/ S- G/ R8 v( D
2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。5 W6 E3 {  \' z2 e# D1 s, K
3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>
; `, @6 t* A) }8 N- ]6 A! y' Y, `  S0 e* J
4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

775

广告币

927

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 00:16 , Processed in 0.047559 second(s), 15 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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