匿名訪問者に広告を表示しない機能?

公式の House Ads プラグインで、「匿名の訪問者には広告を表示しない」という設定を追加することは可能でしょうか?

使用ケース…

私のコミュニティでは、誰でも参加・アカウント作成ができるように設定されています。そのため、アカウント作成を促すバナーを配置しており、Discourse 自体も「楽しんでいるようですね…」といったログインやアカウント作成を促すプロンプト、いいねや返信後のログイン誘導などを非常にうまく機能させています。

私は House Ad を使って、サブスクリプションを促しています。これにより、特定の Discourse グループにユーザーが追加され、特別な特典が与えられる仕組みになっています。

そのため、匿名ユーザーは「無料アカウント作成」と「サブスクリプションを促す House Ad」の両方を見ています。私个人的には、ユーザーに「次のステップ」を一つだけ提示する方がよいと考えます。匿名なら無料アカウント作成へ誘導し、ログイン済みなら House Ad を表示する(もちろん、サブスクリプションプラグインによって付与されたグループに所属している場合は House Ad は表示しない)。

具体的な方法は確認していませんが、シンプルな解決策としては、CSSでそれらを非表示にすることだと思います。匿名ユーザー向けに簡単に非表示にするよう、ハウス広告にCSSを追加しておくと良いでしょう。

おお!匿名ユーザー向けの CSS セレクターはどう書けばいいのでしょうか?(そんな試みをするなんて思いもしませんでした。)

詳しくはわからないので、「Hide css anonymous」と検索するとヒントが見つかるはずです。

匿名ユーザーを対象とするには、html.anon を選択する必要があります。

html.anon .discourse-adplugin {
display: none;
}

…という単純な解決策があります。

必要な機能というアイデアは撤回します :wink: