2010-02-22 49 views
7

Tôi đã xây dựng một ứng dụng web bằng cách sử dụng nền tảng Java EE bán một phần mềm của tôi.Làm cách nào để triển khai Liên kết Liên kết đến ứng dụng web của tôi?

Bây giờ tôi muốn cung cấp cho công việc tiếp thị trang web của tôi cho các công ty tiếp thị điện tử khác nhau. Nhưng vì tôi sẽ phải cung cấp hoa hồng cho họ, tôi nên biết rằng ai sẽ gửi lưu lượng truy cập.

Tôi nghĩ rằng một trong những giải pháp cho vấn đề trên là:

Thực hiện một URL riêng biệt cho mỗi công ty e-marketing và cung cấp cho họ URL tương ứng của họ và chuyển hướng tất cả các URL đến một đơn Servlet. Và sau đó, đếm số không. của khách truy cập trên một URL cụ thể (url của một công ty tiếp thị điện tử) để đếm số không. của khách truy cập được giới thiệu bởi công ty tiếp thị điện tử đó.

Google và nhiều loại khác sử dụng các loại kỹ thuật tương tự khác với các kỹ thuật khác.

Q1. Tất cả chúng có sử dụng cách tiếp cận này không?

Q2. Có cách tiếp cận nào khác mà theo đó việc này có thể được thực hiện theo cách tốt hơn không?

Bạn cũng có thể tư vấn một số thứ khác quá ...

Cảm ơn trước

+0

Nhiều url trỏ đến cùng một nội dung có thể gây hại cho thứ hạng google của bạn, vì điều này sau đó trông giống như một trang trại liên kết. – Dominik

Trả lời

1

Yep tôi đồng ý với @krassib và @TomR - sử dụng tham số queryString, sau đó bạn có thể viết bộ lọc servlet để kiểm tra thông số cụ thể và tăng số lượng cho chi nhánh đó. Sử dụng một bộ lọc servlet cũng sẽ cung cấp cho bạn thêm tiền thưởng là theo dõi số lượng các liên kết riêng lẻ trên cơ sở liên kết.

Bạn làm điều gì đó như sau:

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

Sau đó, thêm một cái gì đó như thế này để bạn 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> 

Và có một ánh xạ bộ lọc cho tất cả các servlet của bạn.

+0

@simonlord Một số yêu cầu đến từ công cụ tìm kiếm sẽ không chứa id liên kết. Vì vậy, những gì sẽ là giải pháp cho điều đó? –

+0

@Yatendra: Yêu cầu từ các công cụ tìm kiếm không được liên kết với đơn vị liên kết, vì chi nhánh không chịu trách nhiệm hướng lưu lượng truy cập đến trang web của bạn. Đó là, họ không cần phải chứa một ID liên kết, vì họ không đến từ một chi nhánh. –

+0

@Software Monkey .. Tôi biết đây là lý do tôi hỏi câu hỏi trên ...thực sự bạn giải thích nó sai hoặc có thể tôi không thể giải thích rõ ràng ... Bây giờ tôi đã có câu trả lời của tôi từ người khác .. nhưng cảm ơn bạn đã dành thời gian trả lời –

0

Khá nhiều giống với câu trả lời trước - bạn có thể cung cấp cho mỗi trang web liên kết một chìa khóa duy nhất (trong URL) mà họ sẽ gửi. ứng dụng máy chủ của bạn sẽ (giải mã và) khớp với khóa so với danh sách các trang web liên kết và đếm nguồn gốc khách hàng tiềm năng.

1

afaik, có 3 khả năng:

  1. như bạn đã đề cập, url duy nhất cho mỗi công ty,
  2. sử dụng một "mã coupon" mà cần phải được nhập bằng cách truy cập người dùng. một chút khó chịu cho khách truy cập, nhưng tôi đã nhìn thấy một cái gì đó như thế này.
  3. cuối cùng, chỉ có tác dụng nếu công ty bạn đề cập đến có một trang web và đưa liên kết đến trang web của bạn từ đó: bằng cách bắt url referer

là tốt nhất, theo ý kiến ​​của tôi, là lựa chọn đầu tiên. đó có lẽ là lý do tại sao điều này được sử dụng rộng rãi nhất/biết.

bạn có thể muốn triển khai cookie để "nhớ" khách truy cập đến từ công ty nào, vì vậy khi khách truy cập - không quyết định mua bất kỳ thứ gì trong lần truy cập đầu tiên-- trả lại và mua thứ gì đó, bạn sẽ biết công ty nào giới thiệu trang web của bạn cho họ.

2

Bạn cũng có thể sử dụng thông số Chuỗi truy vấn. (Đây có thể là những gì krassib đã đề cập đến.) Giống như http://yoursite.foo/yourpage.jsp?affiliateid=ABC123

Sau đó, chỉ cần có một trang phân tích chuỗi truy vấn từ URL và lưu trữ/đếm.

0

Tại sao không sử dụng những gì đã có? Tôi đang nói về giao thức HTTP và một trong các trường tiêu đề của nó: Referrer (thường được chuyển tới mã trong biến môi trường HTTP_REFERER hoặc HTTP_REFERRER).

Mặc dù nó không phải là 100% đạn bằng chứng (nhưng sau đó một lần nữa, 100% đạn bằng chứng là gì?) Tôi nghĩ rằng nó có thể là đủ trong trường hợp của bạn. Tôi giả định rằng khách hàng của bạn được liên kết với một chi nhánh được reffered từ một trong các trang web của họ? Nếu vậy, bạn sẽ dễ dàng phân biệt giữa khách hàng đến từ các công ty tiếp thị điện tử khác nhau vì mỗi công ty nên có tên miền riêng của họ.

Đọc thêm về Referrer field. Hãy nhớ rằng mặc dù giới thiệu giả mạo hoặc ẩn là có thể nhưng rất rất không (đi qua logfiles máy chủ của tôi đó là một ước tính 95% của tất cả các khách truy cập của tôi mà gửi trường giới thiệu).

Trân trọng.

+0

Tôi không thể sử dụng trường Người giới thiệu vì tôi sẽ không hạn chế các công ty tiếp thị điện tử có trang web riêng của họ (mặc dù trong hầu hết các trường hợp họ có). Bằng cách này, họ cũng có thể đặt quảng cáo biểu ngữ của trang web của tôi cho các trang web khác. –

1

Ok, đây là một số khác. Bạn có thể sử dụng phương thức neo. Hãy để tôi giải thích:

Hãy tưởng tượng rằng http://myappz.com/fooshop_cs là URL của sản phẩm bán và đây là những gì bạn phân phối cho các chi nhánh của mình nhưng mỗi sản phẩm có một biến thể nhỏ. Bạn chỉ cần thêm một ID duy nhất vào URL bằng cách chiếm đoạt fragment identifier (ví dụ: http://myappz.com/fooshop_cs#em001).

Khi người dùng theo liên kết đến trang web của bạn đã bị tính phí bằng một ID duy nhất, bạn kiểm tra sự tồn tại của ID bằng cách sử dụng Javascript (location.href.search(/#em\d*/)). Một khi bạn tìm thấy một ID bạn chỉ cần kích hoạt một cuộc gọi AJAX để có liên kết lên một notch (tôi có thể đề nghị các khung công tác jQuery để làm như vậy).

Lợi ích của phương pháp này là các công cụ tìm kiếm không quan tâm đến số nhận dạng phân đoạn và bạn sẽ có thể bán sản phẩm của mình từ một trang. Người dùng của bạn sẽ không quan tâm vì neo hoàn toàn không ảnh hưởng đến chúng (ngoại trừ bạn sẽ thiết lập một thẻ liên kết trong trang của bạn).

bye

1

Về câu trả lời của aefxx về số nhận dạng phân đoạn, tôi cho rằng lợi ích của phương pháp này là duy trì xếp hạng SEO. Nếu vậy, bạn vẫn có thể quản lý điều này bằng truy vấn, nhưng bạn phải đặt chúng bị bỏ qua trong Công cụ quản trị trang web của Google. Tôi cho rằng Bing và có lẽ Yahoo có các cơ chế tương tự. Bằng cách đó, bạn vẫn có thể theo dõi dựa trên chuỗi truy vấn và trên thực tế, bạn cũng có thể theo dõi nó trong Google Analytics (không theo dõi số nhận dạng phân đoạn) mà không có tùy chỉnh nếu bạn muốn.

Các vấn đề liên quan