有没有办法只为注册用户显示广告,而不为访客显示?
或者根据会话状态使用自定义的脚本标签?
这里的逻辑是:在注册/单点登录(SSO)期间已接受条款/隐私政策的用户,即表示同意在其他地方使用 cookies 和广告,而访客则尚未接受。
我认为这一需求的范围有限(主要涉及欧洲经济区国家),但即使不考虑访客的地理位置,只要能够实现这一功能,我也已经很满足了。
欢迎提供关于在代码中何处查找相关实现方法的建议。
有没有办法只为注册用户显示广告,而不为访客显示?
或者根据会话状态使用自定义的脚本标签?
这里的逻辑是:在注册/单点登录(SSO)期间已接受条款/隐私政策的用户,即表示同意在其他地方使用 cookies 和广告,而访客则尚未接受。
我认为这一需求的范围有限(主要涉及欧洲经济区国家),但即使不考虑访客的地理位置,只要能够实现这一功能,我也已经很满足了。
欢迎提供关于在代码中何处查找相关实现方法的建议。
你可以用 CSS 隐藏它,但你仍然会收到 Cookie 并收集信息。编辑:这是错误的建议。
也许你需要这个:Discourse Cookie Consent Banner
确实,仅通过 CSS 隐藏广告并不能阻止 Cookie 的存储或数据的收集。
但这依赖于一个第三方服务,且该产品为付费项目。查看其源码后发现,它似乎只是显示横幅,并未采取任何措施阻止由 Discourse 广告插件触发的 Cookie。
无论如何,该横幅仅处理 Cookie 使用的同意——这不足以满足更严格的 GDPR 要求,即针对定向广告等场景收集个人信息所需的同意。此类同意必须在加载任何广告之前获得。
我们已经在其他地方(如 SSO)收集了相关同意,因此,提供一个“仅对登录用户显示广告”的选项是解决此问题的一种方法,但我认为这可能仅适用于我们的特定配置。
顺便一提,在我们的网站上,我们通过检查用户 ID 仅向访客用户展示广告。在我们的“非 Discourse”论坛中,所有访客(未登录)用户的用户 ID 都小于 1,因此很容易进行检查,从而不对会员展示广告(这与仅向注册用户展示广告的做法相反)。
我尚未查看官方 Discourse 广告插件,以确认这是否是一个配置选项,或者是否可以通过简单的代码修改实现。
当你说“投放广告”时,是指 DoubleClick/公共广告网络,还是自家广告?
如果公共广告网络无法看到页面上投放的广告(因为访客看不到),你的账户可能会面临被暂停的风险。未经验证的展示通常会被标记为滥用,他们会认为你在视口之外渲染广告,或进行其他可疑操作。
所谓“不投放广告”,指的就是不投放广告。在我们的案例中,我们拥有并运营自己的广告服务器,该服务器按照我们指定的方式运行广告标签(内部广告、技术网络广告、特别活动广告、Google 广告标签、众多广告网络……如何投放广告完全“取决于我们”以及我们的广告客户)。你好。
不投放广告并不等于隐藏广告。就是不投放广告。
我们可以轻松配置“向中国投放内部广告”……“不向会员投放广告”……“仅向美国投放技术网络广告”……“向巴西投放绿色广告”……“不向英国投放广告”……“向 FF 浏览器投放紫色广告”……“向 Chrome 投放粉色广告”……这些都是非常基础广告投放入门知识。
我们管理和投放广告已有超过 15 年经验,我们没有任何风险。
我们清楚自己在做什么,并且在这个行业已经耕耘了非常、非常长的时间。
至于其他人,所有关于 CSS 和“隐藏广告”的讨论,并不是运营网站或讨论该话题的正确方式。你可以根据各种条件向用户投放广告(地理位置、用户状态、时间段,我们甚至可以根据用户的浏览器和性别进行精准定向)。如果你运营自己的广告服务器,这些都是基础广告投放入门知识。
我认为我们去年投放了约 5 亿次广告(可能略少,因为旧论坛的流量有所下降),范围从内部广告到定制的直接供应商采购。
我不知道 Discourse 广告插件的工作原理;但从广告投放的角度来看,针对注册用户投放广告而不针对(或不向)访客投放广告,这本身没有任何问题。这就是广告投放的运作方式:定向投放。
在我们的案例中,我们运营自己的广告服务器,并根据多种条件进行定向。这些都是非常基础广告投放入门知识。在我们的网站上,近二十年来,我们仅向未注册(访客)用户投放广告。根据长期政策,我们的会员永远不会看到广告。
广告投放定向示例
这就是我管理过的每一个广告服务器的运作方式。
此外,在“底层”层面,我们可以针对任何地理位置、会员(基于多种条件)等关闭所有广告(所有广告投放)。这是使用所有商业广告服务器进行基础广告定向的方式。
在论坛上,设置一个布尔值以不向任何群组投放广告相对容易,具体由网站决定。
然而,对于 Discourse 插件,我目前尚不清楚,因为我们暂时没有投放广告的计划;但如果我们开始投放,我保证不会向已登录用户投放广告,即使我需要亲自修改插件或自行编写插件 ![]()
对于那些从未见过传统论坛广告管理系统的人来说(现代广告插件美观多了,哈哈),以下是来自一个传统 vB 广告管理系统的两张截图(仅全局设置页面,而非广告位详细页面)。
这并非“广告服务器”,而只是一个帮助根据论坛 ID(分类)、用户组等进行广告位投放的插件。这些都是非常老旧的内容,我们几乎不再使用,特此说明。
不过,您可以看到用户组可以轻松被定向,包括针对任何用户组类别(访客、注册用户、版主、管理员等)投放或不投放广告。
另请参阅:
注意:在 bare metal(服务器)层面,我们还会基于地理位置、Cookie 等进行定向。坦白说,这完全是广告投放的基础知识(101)。例如,我们可以轻松实现“在德国使用广告服务器一”和“在日本使用广告服务器三”……当您结合(1)“bare metal”、(2)一个优秀的“广告位投放插件”以及(3)“自行运营广告服务器”时,潜力几乎是无限的。
关于 Discourse 广告插件……
我第一次粗略查看了这个插件。
$ pwd
/Users/Tim/desktop/discourse-adplugin/test/javascripts/acceptance
$ vi dfp-test.js.es6
在我看来,向特定信任等级和用户组投放广告的基本功能已经具备(虽然我尚未测试,但既然插件中已有相关代码,看起来相当直接……)
代码如下:
抱歉,本月我的工作重点不在该插件上;但经过快速浏览代码,发现根据信任等级和用户组进行定向投放的功能看起来实现起来很直接。
总之……我刚查阅了文档……其中大部分功能在 Discourse 广告插件中已经存在,例如(此示例设置中通过信任等级投放 AdSense):
Discourse 的广告插件并非用于处理定向投放,而主要是将广告单元代码嵌入到 Discourse 的输出中。定向投放(如地理位置等)可以使用 DFP(Ad Manager)之类的工具来实现。我认为该插件不应负责处理定向投放部分。
该插件目前已有设置,可在用户信任等级低于某一阈值时不显示广告。我们的需求(同样特定于我们的 SSO 设置)恰恰相反:对于未给出同意的访客,完全不显示广告。
我刚开始接触 Ruby 和 Discourse 的代码库,但会查看相关代码,看看能否找到解决方案。欢迎提供任何提示。
我只是在这里发表一点个人看法。
允许针对特定用户群体投放广告(或为某些群体跳过广告)会很有意义。
许多社区提供付费去广告选项,以此作为支持其运营成本的一种方式。
旧版论坛软件有类似的功能,我们可以在广告代码周围添加这些逻辑。如果我们想自己修改,Discourse 是否有等效的功能?
<if !user_in($loggedinuser($usergroup[id])); />
广告代码
</endif>
或者类似这样的方式。毕竟已经过去很久了。