找回密码
 立即注册

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老户
海外CL企业户源头最大欧洲Nutra网盟BA找量 FB高权重耐操个号⚡️稳定过审GG,FB,TK, 欧美源头, 欢迎合作❤️
FB企业户海外户,授信户,TK加白户联盟收款/海外资金下发/服贸结汇⚡️Spend.net — 美元卡仅需$0⚡️✔Taboola海外户
广告位出租8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构 
查看: 19400|回复: 7

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
本帖最后由 yang。 于 2021-7-15 23:15 编辑
4 x) x/ c$ t2 k" Q* n! w6 p2 k( w' P# i% f3 l# M; _) z: c4 i
在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。
3 N* P+ w# y9 c3 m. l& o6 K但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。* N7 ]8 H/ X) S1 Q+ A8 s* F
8 B3 A( ~, H! s0 r' x" `; D( L
另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。
4 Q9 q8 d7 u$ y# T6 n  i0 U! {* u3 r8 W6 F: Y# J: l  h8 r
具体做法是:5 r( [+ t: M! ^* b5 e3 q* P2 W
$ @+ E) u* e6 ?, Z) c
1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。
% ~3 Y. A0 z% k4 g假设前置页面的访问路径为 http://www.xxx.com/7 |' O! e+ Q2 I. E
2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  
4 T( P; `) ?9 F/ phttp://www.xxx.com/iphone/02/index.html
. v; }' v7 ^; D7 s% P" {% \那么我们在追踪器中设置的LP访问路径为1 M1 F+ A) @7 o; k; X- u/ Z
http://www.xxx.com/?offerUrl=iphone&landUrl=010 `6 Q- N  y% i, q$ S
http://www.xxx.com/?offerUrl=iphone&landUrl=02/ }4 ]6 K0 h( Q4 d. \& R; |
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理* b, n9 G  W( z0 p7 s# `, g% c

. g; K. l, e  g5 {5 q6 Y/ Q这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。
" M9 b" j$ v, e# T, \- \: K( X' D6 D4 W

8 B" C+ F3 i* g* }* D1 |/ G2.前置页面内容如下* R" Y$ g: E8 N# ?! J
  1. <!DOCTYPE html>' V$ U+ t& Q: C! l9 s/ J
  2. <html lang="en">
    9 e& K  W( u# F! f8 _
  3. <head>
    / }+ o# G1 u& r8 o- Z
  4.     <meta charset="UTF-8">5 V! O* m+ j+ [. n+ o; K
  5.     <title>Loading</title>
    3 K# W) `+ A4 ]" f( u  y+ ~
  6. </head>" r! f+ S: w% ^' f
  7. <body>
      T; B1 A7 F3 n2 g+ f
  8. Loading...) n; h6 }8 ~- L. \0 E+ E8 {% Z9 f
  9. </body>% r$ H7 {, t0 X0 o
  10. * C, S6 X9 |6 `
  11. <script>
    . o; t, }/ P$ G% H
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成$ V+ D( m6 A# v( B6 _# Q# X( F
  13.     //iphone$ k' s1 e. u7 C  i% d5 P" E/ ^
  14.         //01                     http://xxx/iphone/01/index.html
    # V+ e% h& _6 F
  15.         //02                     http://xxx/iphone/02/index.html" ^. i6 k$ [8 C5 A1 p' n: b
  16.         //以此类推
    ( R# q7 U! n: H  _
  17.    
    # |/ l+ h8 i1 R6 F- S) W
  18.    
    2 a( ^* O! V5 [; k7 f) s5 Z8 d
  19.     : b$ G0 C' `9 c$ X$ A( E, u
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html
    ( H7 Y) s( U- I8 ^( X
  21.     //那么我们的offerUrl = iphone,landUrl = 01/ ~7 L1 F6 L( e: t3 b& X$ C2 K
  22.     6 `1 @; b. I; P% y' S
  23.     //从url参数中获取设置好的访问参数4 q0 y0 \% r- @. c( y8 n
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");7 k* y' n" Z$ E- H$ B
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");& Z; u$ D7 z: Q) b, n2 _
  26.    
    ; n! u$ N: ^) z0 z1 C
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径
    ( I7 r2 I% {# N; _/ U0 a
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);* D7 m# a' @4 M- E
  29.     if(b){/ e8 @  `! L7 C% Y4 w
  30.         setTimeout(function() {- j$ |* U0 ~$ e6 f+ w% F- ~) w7 c
  31.             var params = funcUrlDel(['offerUrl','landUrl']);9 v1 k+ c. x# {/ N( t$ I3 _
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤
    . s& U6 x+ i$ G7 d: m+ R
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);3 R* p1 p1 Q. d
  34.         }, 300);# L) H# [' g" v& e$ h1 o" j
  35.     }else{
复制代码

2 p2 Z  r0 R$ w: I8 ~, c& }! }, `8 x  k' {  G7 w( O( E" \# X
( x% P3 U0 _- S6 [0 E) h
只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。
3 e+ j& i0 Q6 r5 r9 e4 E9 w) S5 B' G: P* N

* @, _/ q" L( ~- ?5 x0 o0 d9 k7 ]1 _* F2 Z; m
4 K+ S5 n; G# L+ o. Q! a) E

2 S  z: p9 C6 @  v4 g. ?9 B; {( \4 m5 y
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

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

使用道具 举报

1665

主题

1万

广告币

2万

积分

管理员

宇宙无敌河马天神

积分
27945

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的
" ~1 i6 B5 c+ o, H  a& S
+ B8 c' M- r. R但是对于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, n+ V6 q1 Z$ t  @! x, B& C) ^
想法是好的
; |7 i4 {. a5 u1 D  A7 q4 ]; ~6 j/ g! \5 {0 J: [. b! v
但是对于tracking来说,多一层跳转,一般会多一层流量损失
! l% i9 g8 m5 \' c
请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55) E1 A& r2 K9 u
想法是好的
' X9 c' v+ _' |. F) |
; ~; ^! H8 ?/ Y但是对于tracking来说,多一层跳转,一般会多一层流量损失
7 P% \9 j6 ?; \. T# i
经过测试,直接用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:06) G: [2 _" e/ k# c4 u* F" y% D, `* [
额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...
% f$ S" J- E0 C% G
1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。% i# Y$ H. S+ t, j2 ]
2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。
% y3 G- |! B& @3 A: k# R3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>/ Y6 q" G. p# E
+ ^8 u- c8 ^% H
4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

850

广告币

1006

积分

中级会员

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-14 20:12 , Processed in 0.073922 second(s), 27 queries , Gzip On.

Copyright © 2001-2026, AdvertCN

Proudly Operating in Hong Kong.

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