AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
⚡️AdsPower:安全不封号,高效自动化Google FB TK游戏代投⚡️E.PN 虚拟卡⚡️BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理全球虚拟卡, 支持U充值
各种主页、账单户、BM户(优势)⚡️TikTok企业户,bm户,账单户IPCola原生住宅IP⚡️$1.8/条双ISPFB海外户、GG老户、TK加白老户
PTM虚拟卡[全新卡BIN+高返点]FB虚拟卡⚡️消费越多返现越多高品质·稳定高速纯净IP FB个号1块一个
TikTok2审户/老户/国内外端口/加白SX.ORG 高质量代理⚡235+ 地区GG,FB,TK, 欧美源头, 欢迎合作!跨境债务催收/风险代理
高权重Google老户[卖户+筛户等级] 海外斗篷・智能广告过审率高达 99%DataImpulse⚡️纯净住宅代理仅 $1广告位出租
8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构  
查看: 19223|回复: 7

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
HuiTong虚拟卡
本帖最后由 yang。 于 2021-7-15 23:15 编辑 - O  `, n! Y; L8 g2 X
  s$ {2 Q' h+ L( k- Y0 U' _
在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。
; D% c" J# c, Y$ R. z2 y但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。
6 A, W( S; l4 T
# @8 J  D1 ^% N/ G' ^& ^另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。
5 E! p) c0 y+ h4 k) S. N9 A2 c) _5 Z" @2 p
具体做法是:" x( S3 y$ d7 e9 R  o1 C! u
0 h" H: e9 b* G
1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。
( L3 K& x; j# X- C& e* v假设前置页面的访问路径为 http://www.xxx.com/) |/ {; P: Z1 T
2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  + G, m8 g  i; H6 p
http://www.xxx.com/iphone/02/index.html7 q+ p2 m+ `% ]
那么我们在追踪器中设置的LP访问路径为) p9 M& P! y9 \. S3 c" I0 m7 p
http://www.xxx.com/?offerUrl=iphone&landUrl=01
1 W5 n3 I4 W4 K7 S* b( [  thttp://www.xxx.com/?offerUrl=iphone&landUrl=02
2 N( V6 n& v4 p+ B这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理
% `/ ]/ y+ P+ U3 G6 B9 }
. P  P8 w5 {. Q1 V1 U/ f7 s' r" O这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。
6 ^$ r6 J" E8 S0 S/ f3 e
( r+ O" M2 x' D, W2 M6 d% D' {+ n% x" Q6 c& O
2.前置页面内容如下, d& n" y8 m  {0 T- \' [
  1. <!DOCTYPE html>" l( O6 D4 L' w; {
  2. <html lang="en">
    7 _* T7 m  ]1 C' T/ L0 u
  3. <head>
    8 ~* p9 ^5 J) b& h
  4.     <meta charset="UTF-8">
      \0 x6 _, _6 w" O4 n8 W8 f+ o
  5.     <title>Loading</title>
    % r/ B6 e% j& g/ }* m% q9 u' U
  6. </head>' d6 \; N, ^& B( h# O! M
  7. <body>
    3 i7 v& k, S2 r$ L7 D/ W  _
  8. Loading.../ V! ?4 J+ P; w: ~7 }, @7 p# F
  9. </body>
      P1 J, @- P- w" J) d+ u, l+ C/ h
  10. 1 `. P5 J4 O7 N% s6 H$ H. Q
  11. <script>' Q  ]% H4 b6 {0 i1 h" ~
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成0 H1 |1 h, h' |9 [8 Q
  13.     //iphone
    % O' n! Y1 j9 x
  14.         //01                     http://xxx/iphone/01/index.html
    ; z- U0 h1 K$ k) h$ w4 O5 H4 ^  F
  15.         //02                     http://xxx/iphone/02/index.html( N7 Z0 ]/ f; a3 _% n) h
  16.         //以此类推
    : ?* Z+ D& x" y* K# r2 |
  17.    
    % S4 w* v. y$ H% P( T/ B7 B
  18.    
    7 g( Q" D9 A1 ?& S3 K4 m
  19.     ( j4 D+ \# X! O. Z$ r8 P  z2 X) [
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html/ O: @# l+ e; t, o1 f! O
  21.     //那么我们的offerUrl = iphone,landUrl = 01+ ]0 \/ F" T( q# i  _( b
  22.     ' M% N( ^( j/ i+ e
  23.     //从url参数中获取设置好的访问参数. L% v; s' n0 Y4 p' C
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    5 r4 o2 O) A+ Z) v
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    / Q0 O  p7 s0 K
  26.    
    + M) X) z: s6 u$ l. h5 N
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径' @- {* i( O0 ?9 A5 r0 z( q
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);
    : J, Y8 Y) g2 t5 x$ }6 g1 O* z: \+ t
  29.     if(b){
    ) O& e$ k$ x% j7 `3 b1 X: P- Z
  30.         setTimeout(function() {* q2 t! f3 A! s3 f
  31.             var params = funcUrlDel(['offerUrl','landUrl']);. q. k! p8 m3 Z: W1 H9 v5 Q
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤
    3 ?/ e" `7 q3 `+ Z( L0 F# U
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);9 E* r! P0 P* H- ], O9 l0 Z1 S, R$ q
  34.         }, 300);
    - E  W/ x, G' x' h# Y7 j! p
  35.     }else{
复制代码

/ I0 `. G$ c; \  s0 n3 H- h9 M) C8 y9 M2 E0 ~/ C

! m8 y4 J! `0 ~+ z+ R7 r. I4 W只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。
4 j" w% |, |! e4 p
. X5 ^' q7 F- a) X! W0 i8 y/ w+ H6 D, h
5 d1 x( k) i5 U

& b. g2 }1 p  s' C$ p. }
/ C4 }1 D: H) ]$ Z7 F+ V6 l7 H2 A, W5 z# d" _
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

1653

主题

1万

广告币

2万

积分

管理员

宇宙无敌河马天神

Rank: 9Rank: 9Rank: 9

积分
27611

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的
4 C4 _2 v4 U" t9 o
& F) r8 B# L- w5 w  J$ t, U0 S, p但是对于tracking来说,多一层跳转,一般会多一层流量损失
学会提问的艺术, 从小处入手, 忌大而空
AdvertCN电报群

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

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 09:47:46 | 显示全部楼层
河小马 发表于 2021-7-16 07:55
: A, s/ F8 x# B. c- |想法是好的6 h, e3 L9 L) y6 q8 |

" B1 x2 R$ A6 x. u$ r( P但是对于tracking来说,多一层跳转,一般会多一层流量损失
0 U0 S$ d5 K5 {. `
请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55  q, d' g$ q% q* n
想法是好的
# N  H9 w. x3 L* H+ i4 P) t2 F. Z4 h! z; V. p
但是对于tracking来说,多一层跳转,一般会多一层流量损失

! @' h1 W% W" Y- O! _4 v经过测试,直接用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
- C! w; ~/ ^, m8 x* i# O( o额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...

0 i1 s4 \( s% @: E1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。
3 t, E% ]9 m5 d/ E9 z2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。
0 x+ }+ s( w+ M2 `( O7 s/ u! I3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>% A% L! l. E( G
! h8 f, y: x! |0 [0 E
4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

841

广告币

994

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-25 03:17 , Processed in 0.054507 second(s), 18 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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