Как внедрить партнерские ссылки на мое веб-приложение? - PullRequest
7 голосов
/ 22 февраля 2010

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

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

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

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

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

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

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

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

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

Ответы [ 7 ]

2 голосов
/ 02 марта 2010

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

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

1 голос
/ 05 декабря 2012

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

1 голос
/ 06 марта 2010

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

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

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

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

прощай

1 голос
/ 05 марта 2010

Да, я согласен с @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>

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

1 голос
/ 01 марта 2010

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

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

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

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

0 голосов
/ 05 марта 2010

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

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

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

Привет.

0 голосов
/ 23 февраля 2010

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

...