Раздельный показ рекламы AdSense / РСЯ на основе ГЕО

Brat_Sergij
На сайте с 26.11.2015
Offline
355
#81
Неуч #:

Вот есть теперь простой платный плагин.

https://sites.google.com/view/geo-ip-countries/

Конечно проще Ad Inserter, но свою задачу выполняет.

У вас на скринах и в тексте на сайте очень много грамматических ошибок. Поправьте, а то не солидно как-то продавать такое )

D
На сайте с 28.06.2008
Offline
1104
#82
Неуч #:
Забыл отписать. Самый адекватный способ сейчас - скачать себе базу гео ip и определять регион по ней. ПО повод,у как дела с кешем - у меня самописка, поэтому у меня все ок. на WP и иже с ним не проверял. Но скоро займусь тестом. Отпишусь по итогу.

Я так и сделал. Из Nginx кидаю переменные в PHP а там банальное условие как писали выше

 if ($geoIP != 'RU')
        {
           //показываем буржуйскую рекламу
        }
        else
        {
            //показываем рекламу в России
        }
MP
На сайте с 18.05.2012
Offline
102
#83
Brat_Sergij #:

У вас на скринах и в тексте на сайте очень много грамматических ошибок. Поправьте, а то не солидно как-то продавать такое )

Очень много - это 1 опечатка?

Brat_Sergij
На сайте с 26.11.2015
Offline
355
#84
Неуч #:

Очень много - это 1 опечатка?

Нет

MP
На сайте с 18.05.2012
Offline
102
#85
Brat_Sergij #:

Нет

Ну ни я ни сервисы не увидели других ошибок, кроме опечатки в слове "Основные".

В любом случае, плагин функционирует, кому надо тот возьмет. Кому не надо - собственно и не надо.

Плагин делался для своих проектов.

AB
На сайте с 27.01.2016
Offline
100
#86
Dram #:

Я так и сделал. Из Nginx кидаю переменные в PHP а там банальное условие как писали выше

А где базу IP взять можно?

Brat_Sergij
На сайте с 26.11.2015
Offline
355
#87
Неуч #:

Ну ни я ни сервисы не увидели других ошибок, кроме опечатки в слове "Основные".

В любом случае, плагин функционирует, кому надо тот возьмет. Кому не надо - собственно и не надо.

Плагин делался для своих проектов.

Вижу вы уже поправили. Вот еще тут пропустили букву t:


Н
На сайте с 27.02.2013
Offline
78
#88
Brat_Sergij #:

Вижу вы уже поправили. Вот еще тут пропустили букву t:


Так одна опечатка была. А это переменная, так и задумано)) 

Поправлю. Спасибо. 

Н
На сайте с 27.02.2013
Offline
78
#89
Неуч #:

Вот есть теперь простой платный плагин.

https://sites.google.com/view/geo-ip-countries/

Конечно проще Ad Inserter, но свою задачу выполняет.

Кстати, нет обращения к сторонним серверам. База скачивается. Размер плагина вместе с базой около 6 мб. Достигается такой размер за счёт того, что в базе содержатся только ip и страны. 

R
На сайте с 20.01.2020
Offline
30
#90
D.iK.iJ #:

У себя делал вот так. Показывается реклама Гугла. Если не может или не хочет - Яндекса.

Совместил !adsbygoogle.loaded и таймер. Так не нужно ждать загрузки страницы. Работает корректно только без async в скрипте Гугла.

Дополнительно, блок Гугла скрывается стилями, если пустой:  data-ad-status="unfilled".

Просто  if (!adsbygoogle.loaded) {  что-то толком не работает. То срабатывает сразу (если скрипт вызван асинхронно) то вообще не срабатывает. Говорят, реагирует на Адблок, но я так и не смог заставить это корректно работать.

Делал еще вариант с

в комплекте со стилями

Но там скорость срабатывания такая, что повеситься можно.

P.S. Примера нет, так как открутил рекламу, вывел деньги и скрипт убрал.

Спасибо! И не нужно заморачиваться геотаргетингом!!!

Модернизировал под несколько РК блоков, вроде работает😁

<!-- Шапка -->
<script>window.yaContextCb=window.yaContextCb||[]</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>
<script src="https://yastatic.net/pcode/adfox/loader.js" crossorigin="anonymous"></script>
<script src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-*************" crossorigin="anonymous"></script>

<script>
let adstmer = 0;
function abygg2(id,arrRTB){
    console.log(document.getElementById(id));
    console.log(adsbygoogle2);
    reszTmr2 = setTimeout(function() {abygg2(id,arrRTB);}, 1000);
    let adstmerObj = adstmer;
    if(adstmerObj >= 5) {clearTimeout(reszTmr2);}
    if (!adsbygoogle.loaded || document.getElementById(id).getAttribute('data-ad-status') == "unfilled") {
        arrRTB
        clearTimeout(reszTmr2);
    }
    adstmer++;
}
</script>
<!-- END Шапка -->

<!-- Блок1 -->
<div id="adfox_111111111111111"></div>
<ins class="adsbygoogle" id="adsbygoogle1" style="display:inline-block;width:100%;height:90px" data-ad-client="ca-pub-**********" data-ad-slot="11111111111111"></ins>
<script>
    (adsbygoogle = window.adsbygoogle || []).push({});
    let rtb1 = window.yaContextCb.push(()=>{
                                Ya.adfoxCode.create({
                                    ownerId: *****,
                                    containerId: 'adfox_111111111111111',
                                    params: { p1: 'cvbwy', p2: 'gyxj', pfc: 'eivyq', pfb: 'lyoei'
                                    }
                                })
                            });
    abygg2('adsbygoogle1',rtb1);
</script>

<!-- Блок2 -->
<div id="adfox_2222222222222"></div>
<ins class="adsbygoogle" id="adsbygoogle3" style="display:inline-block;width:100%;height:90px" data-ad-client="ca-pub-**********" data-ad-slot="22222222222222"></ins>
<script>
    (adsbygoogle = window.adsbygoogle || []).push({});
    let rtb2 = window.yaContextCb.push(()=>{
                                Ya.adfoxCode.create({
                                    ownerId: *****,
                                    containerId: 'adfox_2222222222222',
                                    params: { p1: 'cvbwy', p2: 'gyxj', pfc: 'eivyq', pfb: 'lyoei'
                                    }
                                })
                            });
    abygg2('adsbygoogle2',rtb2);
</script>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий