AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
⚡️AdsPower:安全不封号,高效自动化⚡️E.PN 虚拟卡⚡️FB BM不限额,短id账单户BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款
全球虚拟卡, 支持U充值Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)
FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)⚡️TikTok企业户,bm户,账单户提供TK企业新户老户、谷歌新户老户
PTM虚拟卡[全新卡BIN+高返点]FB虚拟卡⚡️消费越多返现越多最大欧洲Nutra网盟BA找量优质住宅/移动代理/高匿名/高性能
TK白名单老户|兼职广告可投⚡比特指纹浏览器+云手机, 4.5折起T3NZU:定义应用网盟新时代FB个人号源头服务商
寻找顶级电商?AdsBranded等你!TK老户/国内外端口/预审/加白广告位出租8500万高质量住宅IP,助力各种需求
虚拟卡返佣1%,国内持牌机构   
查看: 19064|回复: 7

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
HuiTong虚拟卡
本帖最后由 yang。 于 2021-7-15 23:15 编辑
5 h  q. K6 i3 i; l) @
" P) o3 j& D3 a  D: }1 l在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。
8 Q5 n2 \. K% h( n1 {& Y- R但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。
! j* K5 n1 }/ w! E. S" J" s  R, T' |
另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。2 s  E8 j) Z, [4 H5 P

7 e7 \) Y9 D2 f% B; K具体做法是:
6 V/ u8 ]* K7 x! V: G6 S7 }, y# Q) M: h4 P
1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。/ J2 w; o& A3 h2 C7 ?& O
假设前置页面的访问路径为 http://www.xxx.com/0 s; b  `* l% Y2 c4 s2 N& m
2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  ( z$ M, ]. ~4 H4 g# w$ K7 r
http://www.xxx.com/iphone/02/index.html6 ?5 C- }; `8 @* S8 q) `
那么我们在追踪器中设置的LP访问路径为$ ^+ Q5 o& U' B& W2 ?0 P' w0 J
http://www.xxx.com/?offerUrl=iphone&landUrl=01
# L* V3 n' h/ G& D$ fhttp://www.xxx.com/?offerUrl=iphone&landUrl=02, L- B; f6 v4 K3 T- V- T, E
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理4 t6 k* c8 Z# b2 W1 E3 F+ r

: n( W1 f# j# M) U( E& f* P这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。% Z! X1 P; ~2 e9 X7 E- [

+ i  h; g+ \7 p& {6 R2 z
" p& C; j- p/ I+ b2.前置页面内容如下
% e1 y. r  Y3 c1 c, |" S
  1. <!DOCTYPE html>, V! k! v* `7 b* |& k
  2. <html lang="en">
    . l& d/ y3 s2 E$ o. u& R) K+ V) S
  3. <head>
    8 @6 h3 B" W( y
  4.     <meta charset="UTF-8">
    + `0 O' y7 o6 T2 Z
  5.     <title>Loading</title>. s3 _( a2 D+ f& m
  6. </head>( U" \4 X, P* j3 i; R
  7. <body>
    4 @* f9 M; }1 K
  8. Loading...4 ?8 b8 P% Z* e' n6 C" |1 u
  9. </body>  L+ ~* e! y" u7 I' r: e
  10. " z; A! w$ T- s; Z& t! m
  11. <script>4 ~) K- h% w* ?: h8 R3 M
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成6 S- a2 m9 L+ R. ^+ G4 h0 x
  13.     //iphone% c9 y7 c7 _+ i$ F2 O, K, W6 K
  14.         //01                     http://xxx/iphone/01/index.html0 W! h! M5 b5 ^. m
  15.         //02                     http://xxx/iphone/02/index.html
    " ?1 `0 K" g4 I6 o- a/ p9 y$ Y
  16.         //以此类推3 p+ O, B0 z0 ?. G* A  m# s: I
  17.    
    8 |, Q# j5 E# m: }6 ?/ y. w
  18.    
    % U& j* Z( p' ~7 E0 J; _" x
  19.    
    * J$ ^! N  M0 r: I: H2 r
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html
    8 b) D1 }5 ], ?: [" v
  21.     //那么我们的offerUrl = iphone,landUrl = 01
    # K6 K. s" J7 v. y. @: T: z, _
  22.     0 @) F% j8 E3 M, x6 Y3 V$ x) A
  23.     //从url参数中获取设置好的访问参数
    ( T; v9 F6 l2 v% V* V( [0 _) g
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");4 Z. m" A2 a0 z8 q. G
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");0 ~4 u! e2 a. ]* ]0 \
  26.    
    # Y6 d: h8 B/ k9 ]% \# }8 _  X
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径
    9 J. F- d3 b0 P+ L2 N* Z
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);' {2 j  ^/ `1 {; q3 j7 q
  29.     if(b){; v5 i7 o2 V8 g4 Y: V" A
  30.         setTimeout(function() {
    # T8 L6 [0 N  {2 k$ i
  31.             var params = funcUrlDel(['offerUrl','landUrl']);
    - S; a4 D% v$ x% k' H* E9 [
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤
    8 i- C+ [8 T, H2 K2 s! |
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);8 N0 V' D0 d' m5 c, Y
  34.         }, 300);6 Y! b( r+ Y/ v- q! w
  35.     }else{
复制代码
3 t8 h- P/ b0 E# ?, D
4 z9 y/ `, J+ E
& Y: J6 l: E; e# o
只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。
: s- }( \* }3 b" h$ n# U# H, `8 J, P' K8 r7 O: I  x, \) b8 ?

& w) |* J- u& N' i; i- M7 ]$ M
+ w# g1 g- ?* m4 u" ]
5 x" v0 O* L; b+ O
0 C- J0 i8 j! ^5 |& s4 r$ Y4 H7 N1 u& N
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

1647

主题

1万

广告币

2万

积分

管理员

宇宙无敌河马天神

Rank: 9Rank: 9Rank: 9

积分
27450

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的% r) l: Y; \4 H5 I

2 X% J# P6 Z# R* C/ F8 P. w但是对于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:553 Z3 v' S! X1 w6 y% c* l
想法是好的6 B( M/ u( |7 `; ~2 _: K

+ M, B5 S& s9 a% ~! }: c* x但是对于tracking来说,多一层跳转,一般会多一层流量损失

* W, k& R  e7 @) }/ h, @6 o5 q请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55" k2 Z2 S7 h1 R% e; f2 Z4 v, V
想法是好的
% U) P5 Z2 U2 J( n2 R: Y4 W' g" {/ X- S3 o0 l9 t) ^
但是对于tracking来说,多一层跳转,一般会多一层流量损失
" A! c2 K8 v" `" O5 O9 j& D! ^. w
经过测试,直接用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
1 a7 G! x" F3 d5 \* q$ i额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...
& g# r8 ~# m' y0 c( [
1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。' R! F  G8 U3 k( O3 r( [0 n$ P
2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。, u6 x- o3 B% }/ r/ F% l
3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>
5 F! c5 i1 ~6 q) b; j7 G9 c" D& \
4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

836

广告币

985

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-22 11:13 , Processed in 0.054874 second(s), 19 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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