Хобрук: Ваш путь к мастерству в программировании

Как внедрить партнерские ссылки в мое веб-приложение?

Я создал веб-приложение с использованием платформы Java EE, которое продает одно из моих программ.

Теперь я хочу передать работу по маркетингу моего веб-сайта различным компаниям, занимающимся электронным маркетингом. Но поскольку я должен буду отдать им комиссию, я должен знать, кто отправляет трафик.

Я думаю, что одним из решений вышеуказанной проблемы является:

Создайте отдельный URL-адрес для каждой компании, занимающейся электронным маркетингом, дайте им соответствующий URL-адрес и перенаправьте все эти URL-адреса на один Servlet. И после этого считайте нет. посетителей по определенному URL-адресу (URL-адрес электронной маркетинговой компании), чтобы подсчитать нет. посетителей, привлеченных этой компанией электронного маркетинга.

Google и многие другие используют схожие методы, которые отличают один от другого.

Q1. Все ли они используют такой подход?

Q2. Есть ли другой подход, с помощью которого это можно сделать намного лучше?

Вы можете посоветовать и другие вещи...

заранее спасибо


  • Несколько URL-адресов, указывающих на один и тот же контент, могут повредить вашему рейтингу в Google, поскольку это выглядит как ферма ссылок. 05.03.2010

Ответы:


1

Да, я согласен с @krassib и @TomR - используйте параметр queryString, тогда вы можете написать фильтр сервлета для проверки конкретного параметра и увеличить счетчик для этого партнера. Использование фильтра сервлета также даст вам дополнительный бонус в виде возможности отслеживать количество отдельных ссылок для каждого партнера.

Вы делаете что-то вроде следующего:

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class AffiliateTrackingFilter implements Filter {
    private AffiliateTrackingService affiliateTrackingService = null;

    @Override
    public void destroy() {
    }

    @Override
    public void doFilter(ServletRequest rq, ServletResponse rs,
            FilterChain chain) throws IOException, ServletException {
        String affililateId = rq.getParameter("affiliateId");
        affiliateTrackingService.incrementAffiliateHit(affililateId);
        chain.doFilter();
    }

    @Override
    public void init(FilterConfig fc) throws ServletException {
        affiliateTrackingService = new AffiliateTrackingService();
    }
}

Затем добавьте что-то вроде этого в свой web.xml:

<filter>
    <filter-name>AffiliateTrackingFilter</filter-name>
    <filter-class>com.example.AffiliateTrackingFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>AffiliateTrackingFilter</filter-name>
    <servlet-name>MyMainServlet</servlet-name>
</filter-mapping>

И иметь сопоставление фильтров для всех ваших сервлетов.

05.03.2010
  • @simonlord Некоторые запросы, поступающие из поисковой системы, не будут содержать идентификатор партнера. Итак, что было бы решением для этого? 05.03.2010
  • @Yatendra: запросы от поисковых систем не должны быть связаны с партнером, поскольку партнер не несет ответственности за привлечение трафика на ваш сайт. То есть они не должны содержать идентификатор аффилиата, так как они пришли не от аффилиата. 05.03.2010
  • @Software Monkey .. Я знаю это, поэтому я задал вопрос выше ... на самом деле вы неправильно его истолковали, или, может быть, я не смог четко объяснить ... Теперь я получил ответ от кого-то еще .. но спасибо за тратить время на ответы 05.03.2010
  • @simonlord Приведенное выше решение отлично работает, когда вы отслеживаете CPC, CPM и т. Д. Но как насчет отслеживания платежей? если пользователь покупает продукт X, то только я хочу заплатить комиссию. Большинство подходов говорят о сохранении информации в файле cookie для одного и того же. Но как я узнаю, купит ли кто-то продукт X? 13.10.2016

  • 2

    Вы также можете использовать параметр строки запроса. (Возможно, именно это имел в виду крассиб.) Например, http://yoursite.foo/yourpage.jsp?affiliateid=ABC123

    Затем просто попросите эту единственную страницу проанализировать строку запроса из URL-адреса и сохранить/подсчитать ее.

    02.03.2010

    3

    афаик, есть 3 варианта:

    1. как вы упомянули, уникальный URL для каждой компании,
    2. с помощью «кода купона», который необходимо ввести при посещении пользователя. немного раздражает посетителя, но я видел что-то подобное.
    3. наконец, работайте только в том случае, если у упомянутых вами компаний есть веб-сайт и размещайте ссылку на ваш сайт оттуда: путем захвата URL-адреса реферера

    лучший, на мой взгляд, первый вариант. вероятно, поэтому это наиболее широко используемый/известный.

    вы, вероятно, захотите использовать cookie, чтобы «запоминать», что посетитель приходит из какой компании, поэтому, когда посетитель, который не решил что-либо купить при первом посещении, возвращается и что-то покупает, вы будете знать, какая компания представляет свой сайт им.

    01.03.2010

    4

    Хорошо, вот еще один. Вы можете использовать метод якоря. Позволь мне объяснить:

    Представьте, что http://myappz.com/fooshop_cs — это URL-адрес продаваемого продукта, и это то, что вы распространяете среди своих партнеров, но каждый с небольшими вариациями. Вы просто добавляете уникальный идентификатор к URL-адресу, перехватывая идентификатор фрагмента (например, http://myappz.com/fooshop_cs#em001).

    Как только пользователь переходит по ссылке на ваш сайт, которому присвоен уникальный идентификатор, вы проверяете наличие идентификаторов с помощью Javascript (location.href.search(/#em\d*/)). Как только вы нашли идентификатор, вы просто запускаете вызов AJAX, чтобы поднять этого партнера на ступеньку выше (я могу порекомендовать для этого фреймворк jQuery).

    Преимущество такого подхода в том, что поисковые системы не заботятся об идентификаторах фрагментов, и вы сможете продавать свой продукт с одной страницы. Вашим пользователям все равно, так как якорь не оказывает на них абсолютно никакого влияния (за исключением того, что вы настроите тег якоря на своей странице).

    до свидания

    05.03.2010

    5

    Что касается ответа aefxx об идентификаторах фрагментов, я предполагаю, что преимуществом этого подхода является поддержание рейтинга SEO. Если это так, вы все еще можете управлять этим с помощью строк запросов, но вы должны настроить их игнорирование в Инструментах Google для веб-мастеров. Я предполагаю, что Bing и, возможно, Yahoo имеют аналогичные механизмы. Таким образом, вы все еще можете отслеживать на основе строки запроса, и фактически вы также можете отслеживать его в Google Analytics (который не отслеживает идентификаторы фрагментов) без настройки, если хотите.

    05.12.2012

    6

    Очень похоже на предыдущий ответ — вы можете дать каждому партнерскому веб-сайту уникальный ключ (в URL-адресе), который они будут отправлять. ваше серверное приложение будет (расшифровывать и) сопоставлять ключ со списком партнерских веб-сайтов и подсчитывать происхождение потенциальных клиентов.

    23.02.2010

    7

    Почему бы не использовать то, что уже есть? Я говорю о протоколе HTTP и одном из его полей заголовка: Referrer (обычно передается коду в переменной окружения HTTP_REFERER или HTTP_REFERRER).

    Хотя это не 100% пуленепробиваемость (но опять же, что такое 100% пуленепробиваемость?), я думаю, что в вашем случае этого может быть достаточно. Я предполагаю, что ваши клиенты, связанные с партнером, перенаправляются с одного из их сайтов? Если это так, вам будет легко различать клиентов, приходящих из разных компаний электронного маркетинга, поскольку у каждой из них должно быть свое собственное доменное имя.

    Подробнее о поле Referrer. Имейте в виду, что спуфинг или сокрытие реферера возможно, но очень маловероятно (судя по лог-файлам моего сервера, примерно 95% всех моих посетителей отправляют поле реферера).

    С Уважением.

    05.03.2010
  • Я не могу использовать поле Referrer, так как я не собираюсь запрещать компаниям электронного маркетинга иметь собственный веб-сайт (хотя в большинстве случаев они у них есть). Таким образом, они также могут размещать рекламные баннеры моего сайта на других сайтах. 06.03.2010
  • Новые материалы

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..