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企业新户老户、谷歌新户老户
FB虚拟卡⚡️消费越多返现越多最大欧洲Nutra网盟BA找量优质住宅/移动代理/高匿名/高性能TK白名单老户|兼职广告可投
⚡比特指纹浏览器+云手机, 4.5折起T3NZU:定义应用网盟新时代FB个人号源头服务商寻找顶级电商?AdsBranded等你!
TK老户/国内外端口/预审/加白广告位出租8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构
查看: 19050|回复: 7

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
HuiTong虚拟卡
本帖最后由 yang。 于 2021-7-15 23:15 编辑
+ u4 j. y+ l; o2 a- L
! o- y& n7 Z' A) p  m在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。
- e# D( L2 c1 ~但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。( C; E3 m8 u6 E: H+ E5 \5 V

' _& w; s4 K8 l另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。
/ E8 }2 \8 a/ o- ^/ c% q
) D! [9 Z, f2 a- x, a2 q具体做法是:
% l1 X6 ^& o* H. u0 T+ w6 [3 H" q6 C1 y9 r, \/ n
1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。! Q/ {" L1 N: T, M8 |  ?
假设前置页面的访问路径为 http://www.xxx.com/
0 c+ Z4 R  J5 v, z5 E  C! E2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  9 [0 V& u* b  V
http://www.xxx.com/iphone/02/index.html; Q" I5 v. g3 V' {% p! S$ f8 J
那么我们在追踪器中设置的LP访问路径为
$ m5 C9 h" @8 i7 Uhttp://www.xxx.com/?offerUrl=iphone&landUrl=01
  O4 A5 H( g7 P8 Q' chttp://www.xxx.com/?offerUrl=iphone&landUrl=02, z( f6 @; d- F
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理4 j, }3 R- c! n2 Y$ f  O
0 M# \8 o& ^$ }/ }7 K4 q% a) P
这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。
& ]7 z, ^; S. ]3 r; Z  Y/ p. W( P& ~' T) L1 B1 M

# r- d- R  L. [  s! d1 Z& q2.前置页面内容如下# t3 {4 V" _' O" N% j3 E! o
  1. <!DOCTYPE html>
    4 m( t/ M4 d/ E# h4 {) M# s
  2. <html lang="en">
    2 z* e6 D" N2 Q" j& N2 e
  3. <head>
    . C: U1 [* r+ X3 _) \- K5 Y" _* P+ O
  4.     <meta charset="UTF-8">
      |4 S  Y: |$ N, o! B/ f
  5.     <title>Loading</title>- B! I3 i" b0 W* |- f# m
  6. </head>
    + r( Y4 s' V7 o7 V4 a; o) j
  7. <body>
    - c# z, ~. Q% u% ?
  8. Loading...
    ( K2 x% ~5 P4 |- G2 u
  9. </body>
    8 V+ Q9 F0 H0 N5 I6 B2 F& o+ ~& _# w
  10. ' [$ J# k! G$ O! i, {- \: F; w3 @
  11. <script>
    ' ~6 n' R/ D$ J6 B
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成
    ) A/ q2 N' q) d6 d" n5 i7 }4 e0 J
  13.     //iphone/ p2 o7 {  \3 e4 J& n5 H+ k
  14.         //01                     http://xxx/iphone/01/index.html
    " `' K/ ~, D$ E! I/ @+ X, F! g
  15.         //02                     http://xxx/iphone/02/index.html
    1 F6 |. f* \# ?9 @
  16.         //以此类推7 Y& s- y" W) g$ _+ Q
  17.    
    . _; t( I6 k! Q1 H# b
  18.    
    - [+ l) V2 {, E2 {3 Y/ X
  19.     1 R( Q7 w4 ?, R) Z8 M8 s8 s
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html
    & K1 u+ l( R/ t4 h2 u
  21.     //那么我们的offerUrl = iphone,landUrl = 01
    ! r! l) s6 s1 S5 p% U
  22.     8 x4 r% H+ E' J( v
  23.     //从url参数中获取设置好的访问参数
    9 L1 V3 @4 U1 Z2 y9 t7 {: z
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    ; q$ J% J  N6 B; T
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");$ ^0 C8 `+ Y  `1 r5 f
  26.    
      O: d) c/ g# G
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径
    & X$ G& l, O' o. M
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);- R' s0 p0 ?* K
  29.     if(b){
    ! q6 x+ w& D  V& v  A1 D1 ^
  30.         setTimeout(function() {- I0 u' C, a5 r7 y8 g0 i
  31.             var params = funcUrlDel(['offerUrl','landUrl']);/ J; |1 P% W  U2 M9 A
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤$ K9 l* d' G: y' Q/ u! z( M9 R
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);
    ( _5 [" T) {  I0 S! R% }2 u
  34.         }, 300);. X1 e+ y/ U. y' o! L
  35.     }else{
复制代码
2 V5 T; O2 y. c7 C4 e( ^0 Z

& {  O$ n7 O+ _+ z
' C9 j; w, g+ b  f只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。
  M0 m" a8 u$ H- ?. H, d
2 m9 J1 H+ N) M, o& L- o8 B( Z/ W
( _) z' q1 u7 O4 G- n5 S6 a
- z- M" f# |& B3 I
$ _; D+ A* d3 k, g  A$ m* u
3 r* A" ~& a% X" h$ P. J3 a
7 `( N( @1 p/ a  R$ x+ O
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

1645

主题

1万

广告币

2万

积分

管理员

宇宙无敌河马天神

Rank: 9Rank: 9Rank: 9

积分
27437

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的
$ v5 m3 R1 x9 X& |( |( a( U, M4 \0 Z* f: n- w
但是对于tracking来说,多一层跳转,一般会多一层流量损失
学会提问的艺术, 从小处入手, 忌大而空
AdvertCN电报群

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

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 09:47:46 | 显示全部楼层
河小马 发表于 2021-7-16 07:55, ?, @& s1 f* z0 D) {
想法是好的/ X  u. [: a  b

. e1 u4 h/ R% {$ a' g% ?8 C7 }但是对于tracking来说,多一层跳转,一般会多一层流量损失

$ B# ]. }, \  d% J2 H4 q# a请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55* s  l# P4 z- X) }8 Z* b
想法是好的
" k: ~* \) q! R, a+ w% [  a
; E1 q7 y! E" H! o  O但是对于tracking来说,多一层跳转,一般会多一层流量损失
) c+ W% i* A( R* S6 N
经过测试,直接用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
( Y) y# o" W+ j7 }额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...

# L7 s* T# ]4 `  @9 ]1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。" C5 E( }  B, n5 k6 p
2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。" h3 O) W/ A) k! s9 w* w2 \+ }
3.这个在自己服务器内部流转,应该不会被判定。。。<待测试># a6 c6 J" D. [* e5 W
; Z4 ?- X8 k) i( C& I: e
4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

835

广告币

983

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-15 06:22 , Processed in 0.053759 second(s), 18 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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