2010-02-22 8 views
7

He creado una aplicación web usando la plataforma Java EE que vende uno de mis programas.¿Cómo implementar enlaces de afiliado a mi aplicación web?

Ahora quiero dar el trabajo de comercializar mi sitio web a varias compañías de e-marketing. Pero como tendré que darles la comisión, debería saber quién envía el tráfico.

Creo que una solución al problema anterior es:

Hacer una URL diferente para cada empresa e-marketing y darles su correspondiente URL y redirigir todas las direcciones URL a un solo Servlet. Y después de eso, cuente el no. de visitantes en una URL particular (url de una empresa de e-marketing) para contar el no. de visitantes referidos por esa empresa de e-marketing.

El Google y varios otros utilizan técnicas similares que distinguen una de otra.

Q1. ¿Todos ellos usan este tipo de enfoque?

Q2. ¿Hay algún otro enfoque por el cual esto se pueda hacer de una manera mucho mejor?

También puede aconsejar algunas otras cosas también ...

Gracias de antemano

+0

Las URL múltiples que apuntan al mismo contenido podrían dañar su clasificación de Google, ya que esto parece una granja de enlaces. – Dominik

Respuesta

1

Sí, estoy de acuerdo con @krassib y @TomR - use un parámetro queryString, luego puede escribir un filtro de servlet para verificar el parámetro específico e incrementar el conteo para ese afiliado. El uso de un filtro de servlet también le daría la ventaja adicional de ser un seguimiento del recuento de enlaces individuales por afiliado.

haces algo como lo siguiente:

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

A continuación, añadir algo como esto a su 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> 

Y tener una asignación de filtros para todas sus servlets.

+0

@simonlord Algunas solicitudes provenientes del motor de búsqueda no contendrán una identificación de afiliado. Entonces, ¿cuál sería la solución para eso? –

+0

@Yatendra: las solicitudes de los motores de búsqueda no deben asociarse con un afiliado, ya que el afiliado no es responsable de dirigir el tráfico a su sitio. Es decir, no es necesario que contengan una identificación de afiliado, ya que no provienen de un afiliado. –

+0

@Software Monkey .. Sé que es por eso que hice la pregunta anterior ...en realidad lo interpretaste mal o es posible que no pudiera explicarlo claramente ... Ahora recibí mi respuesta de otra persona ... pero gracias por dedicar tu tiempo a responder –

0

bastante similar a la respuesta anterior - se puede dar a cada sitio web afiliado una clave única (en el URL) que enviarían. su aplicación de servidor (descifrará y) hará coincidir la clave con una lista de sitios web afiliados y contará el origen de los prospectos.

1

que yo sepa, hay 3 posibilidades:

  1. como usted ha mencionado, URL única para cada empresa,
  2. uso de un "código de cupón" que necesita ser ingresado al visitar usuario. un poco molesto para el visitante, pero he visto algo como esto.
  3. pasado, sólo funcionará si las empresas que usted ha mencionado tienen un sitio web y poner un enlace a su sitio desde allí: capturando la url árbitro

la mejor, en mi opinión, es la primera opción. que es probablemente la razón por la cual este es el más utilizado/conocido.

es probable que desee implementar la cookie para "recordar" que un visitante proviene de la compañía, por lo que cuando un visitante --que no ha decidido comprar nada en la primera visita-- regrese y compre algo, lo hará saber qué compañía les presenta su sitio.

0

¿Por qué no utilizar lo que ya está allí? Estoy hablando del protocolo HTTP y uno de sus campos de encabezado: Referrer (generalmente se pasa al código en la variable de entorno HTTP_REFERER o HTTP_REFERRER).

Aunque no es 100% a prueba de balas (pero, una vez más, ¿qué es un 100% a prueba de balas?) Creo que podría ser suficiente en su caso. Supongo que sus clientes asociados con un afiliado son referidos desde uno de sus sitios. De ser así, sería fácil para usted distinguir entre los clientes provenientes de diferentes compañías de e-marketing ya que cada uno de ellos debería tener su propio nombre de dominio.

Lea más acerca de Referrer field. Tenga en cuenta que la simulación o el ocultamiento de referencia es posible pero muy poco probable (revisando los archivos de registro de mi servidor, se estima que el 95% de todos mis visitantes envían el campo de referencia).

Atentamente.

+0

No puedo usar el campo Referrer ya que no voy a restringir que las compañías de e-marketing tengan su propio sitio web (aunque en la mayoría de los casos sí lo tienen). De esta forma, también pueden colocar anuncios publicitarios de mi sitio en otros sitios. –

1

Ok, aquí hay otra. Podría usar el método de anclaje. Permítanme explicar:

Imagínese que http://myappz.com/fooshop_cs es la URL del producto de venta y esto es lo que distribuye a sus afiliados, pero cada uno con una pequeña variación. Simplemente agrega una ID única a la URL secuestrando el fragment identifier (es decir, http://myappz.com/fooshop_cs#em001).

Una vez que un usuario sigue un enlace a su sitio que ha sido cargado con una ID única, puede verificar la existencia de ID usando Javascript (location.href.search(/#em\d*/)). Una vez que encontraste una ID, simplemente disparaste una llamada AJAX para llevar a esa afiliado a un nivel superior (puedo recomendar el marco jQuery para hacerlo).

El beneficio de este enfoque es que los motores de búsqueda no se preocupan por los identificadores de fragmentos y que usted podrá vender su producto desde una sola página. A sus usuarios tampoco les importará ya que el ancla no tiene ningún impacto en ellos (excepto que usted configuraría una etiqueta de anclaje dentro de su página).

bye

1

En cuanto a la respuesta de aefxx sobre identificadores de fragmentos, que suponen que la ventaja de este enfoque es mantener el rango de SEO. Si es así, aún puede administrar esto con cadenas de consulta, pero debe configurarlas para ignorarlas en Herramientas para webmasters de Google. Supongo que Bing y tal vez Yahoo tienen mecanismos similares. De esta forma, puede realizar un seguimiento basado en la cadena de consulta, y de hecho, también puede rastrearlo en Google Analytics (que no rastrea los identificadores de fragmentos) sin personalizarlo si lo prefiere.

Cuestiones relacionadas