2010-02-22 5 views
7

Ich habe eine Webanwendung mit Java EE-Plattform gebaut, die eine meiner Software verkauft.Wie implementiere ich Affiliate-Links zu meiner Webanwendung?

Jetzt möchte ich die Arbeit der Vermarktung meiner Website zu verschiedenen E-Marketing-Unternehmen geben. Aber da ich ihnen den Auftrag geben muss, sollte ich wissen, wer den Verkehr schickt.

Ich denke, dass eine Lösung für oben genannte Problem ist:

Machen Sie eine separate URL für jedes E-Marketing-Unternehmen und gibt ihnen ihre entsprechende URL und leitet alle diese URLs auf eine einzigen Servlet. Und danach, zähle das Nein. von Besuchern auf einer bestimmten URL (URL einer E-Marketing-Firma), um die Nr. von Besuchern, die von dieser E-Marketing-Firma verwiesen werden.

Die Google und verschiedene andere verwenden ähnliche Arten von Techniken, die sich voneinander unterscheiden.

Q1. Verwenden alle diese Art von Ansatz?

Q2. Gibt es einen anderen Ansatz, mit dem dies viel besser gemacht werden kann?

Sie können auch einige andere Dinge beraten ...

Vielen Dank im Voraus

+0

Mehrere URLs, die auf denselben Inhalt zeigen, könnten Ihrem Google-Ranking schaden, da dies dann wie eine Link-Farm aussieht. – Dominik

Antwort

1

Ja, ich stimme @krassib und @TomR zu - verwenden Sie einen queryString-Parameter, dann können Sie einen Servlet-Filter schreiben, um nach dem spezifischen Parameter zu suchen und die Anzahl für diesen Partner zu erhöhen. Mit einem Servlet-Filter erhalten Sie außerdem den zusätzlichen Vorteil, dass Sie die Anzahl der einzelnen Links pro Affiliate-Basis verfolgen können.

Sie etwas tun, wie folgt aus:

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(); 
    } 
} 

Dann so etwas wie dies in den Ihr 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> 

Und haben eine Filterzuordnung für alle Ihre Servlets.

+0

@simonlord Einige Anfragen, die von der Suchmaschine kommen, enthalten keine Partner-ID. Was wäre die Lösung dafür? –

+0

@Yatendra: Anfragen von Suchmaschinen sollten nicht mit einem Affiliate verknüpft sein, da der Affiliate nicht dafür verantwortlich ist, Traffic auf Ihre Website zu leiten. Das heißt, sie müssen keine Affiliate-ID enthalten, da sie nicht von einem Affiliate stammen. –

+0

@Software Monkey .. Ich weiß das ist, warum ich die obige Frage gestellt habe ...tatsächlich hast du es falsch interpretiert oder vielleicht könnte ich es nicht klar erklären ... Jetzt habe ich meine Antwort von jemand anderem ... aber danke, dass du deine Zeit damit verbracht hast zu antworten –

0

ziemlich ähnlich wie die vorherige Antwort - Sie können jeder Affiliate-Website einen eindeutigen Schlüssel geben (in der URL) dass sie einreichen würden. Ihre Server-Anwendung wird (entschlüsseln und) den Schlüssel mit einer Liste von Affiliate-Websites vergleichen und die Leads-Herkunft zählen.

1

afaik gibt es 3 Möglichkeiten:

  1. wie Sie bereits erwähnt, eindeutige URL für jedes Unternehmen,
  2. einen "Gutschein-Code" verwenden, die durch den Besuch Benutzer eingegeben werden muss. ein bisschen nervig für den Besucher, aber ich habe so etwas gesehen.
  3. zuletzt, funktionieren nur, wenn die Unternehmen Sie eine Website erwähnt haben und auf Ihrer Website setzt Link von dort aus: durch die Referer-URL erfassen

die beste, meiner Meinung nach, ist die erste Option. wahrscheinlich ist dies der am weitesten verbreitete/bekannteste.

Sie möchten wahrscheinlich Cookie implementieren, um sich daran zu erinnern, dass ein Besucher von welcher Firma kommt, also wenn ein Besucher - der sich beim ersten Besuch nicht entschieden hat etwas zu kaufen - zurückkehrt und etwas kauft wissen Sie, welches Unternehmen Ihnen Ihre Site vorstellt.

0

Warum nicht mit, was schon da ist? Ich spreche über das HTTP-Protokoll und eines seiner Header-Felder: Referrer (normalerweise an Code in der Umgebungsvariablen HTTP_REFERER oder HTTP_REFERRER übergeben).

Obwohl es nicht zu 100% kugelsicher ist (aber dann wieder, was ist ein 100% bullet proof?) Ich denke, es in Ihrem Fall ausreichend sein könnte. Ich gehe davon aus, dass Ihre Kunden, die mit einem Affiliate verbunden sind, von einer ihrer Sites referenziert werden? Wenn dies der Fall ist, können Sie leicht zwischen Kunden unterscheiden, die von verschiedenen E-Marketing-Unternehmen kommen, da jeder von ihnen seinen eigenen Domainnamen haben sollte.

mehr über die Referrer field lesen. Beachten Sie jedoch, dass das Verspotten oder Verstecken von Referrern zwar möglich, aber sehr unwahrscheinlich ist (wenn ich meine Server-Logdateien durchblättere, werden schätzungsweise 95% aller Besucher das Referrer-Feld senden).

Grüße.

+0

Ich kann das Referrer-Feld nicht verwenden, da ich E-Marketing-Unternehmen nicht auf eine eigene Website beschränken möchte (obwohl dies in den meisten Fällen der Fall ist). Auf diese Weise können sie Bannerwerbung meiner Website auch auf andere Websites platzieren. –

1

Ok, hier ist noch eine. Sie könnten die Ankermethode verwenden. Lassen Sie mich erklären:

Stellen Sie sich vor, http://myappz.com/fooshop_cs ist die URL des verkaufenden Produkts und das ist, was Sie an Ihre Partnerunternehmen verteilen, aber jede mit einer kleinen Variation. Sie fügen einfach eine eindeutige ID zu der URL hinzu, indem Sie die fragment identifier (d. H. http://myappz.com/fooshop_cs#em001) übernehmen.

Sobald ein Benutzer einem Link zu Ihrer Site folgt, der mit einer eindeutigen ID belastet wurde, prüfen Sie mithilfe von JavaScript (location.href.search(/#em\d*/)), ob die ID vorhanden ist. Sobald Sie eine ID gefunden haben, lösen Sie einfach einen AJAX-Anruf aus, um diesen Partner eine Stufe höher zu legen (ich kann das jQuery-Framework dazu empfehlen).

Der Vorteil dieses Ansatzes ist, dass Suchmaschinen über Fragmentbezeichner nicht kümmern und dass Sie Ihr Produkt aus einer einzigen Seite zu verkaufen, werden in der Lage. Ihre Benutzer werden sich auch nicht darum kümmern, da der Anker keinerlei Auswirkungen auf sie hat (außer Sie würden ein Anker-Tag in Ihrer Seite einrichten).

bye

1

In Bezug auf die Antwort von aefxx über Fragmentbezeichner, gehe ich davon aus, dass der Nutzen dieses Ansatzes SEO Rang beibehält. Wenn dies der Fall ist, können Sie dies weiterhin mit Querystrings verwalten. Sie müssen sie jedoch so festlegen, dass sie in den Google Webmaster-Tools ignoriert werden. Ich nehme an, Bing und vielleicht Yahoo haben ähnliche Mechanismen. Auf diese Weise können Sie immer noch anhand von Querystrings nachverfolgen, und Sie können sie auch in Google Analytics verfolgen (ohne die Fragment-IDs zu verfolgen), wenn Sie keine Anpassungen vornehmen möchten.

Verwandte Themen