Hiểu tường tận về deep linking | Adjust

Deep linking là công nghệ được sử dụng trong ứng dụng di động. Khi người dùng click vào một đường link (URL) trên trang web hoặc trong một ứng dụng khác, thì deep linking sẽ mở ứng dụng và đưa người dùng đến thẳng trang họ cần. Để đem đến trải nghiệm tốt nhất cho người dùng và tăng tỷ lệ chuyển đổi, bạn tuyệt đối không nên bỏ qua deep linking. Bài viết dưới đây cung cấp hướng dẫn tạo deep link và các thông tin quan trọng khác.

Lý do bạn cần đến deep linking

Giả sử rằng bạn vừa phát hành một ứng dụng âm nhạc. Để mừng một bài hát mới, bạn chi thật nhiều tiền để chạy quảng cáo trên một trang web nổi tiếng. Trong quảng cáo đó, bạn đăng lên một đoạn trích nhỏ từ bài hát, và bạn muốn người dùng nghe đoạn trích đó từ ứng dụng của bạn chứ không phải ngay trên trang web đó, tất cả những gì họ thấy trên trang chỉ là bìa album.

Một ví dụ khác, giả sử bạn muốn thu hút lại người dùng ít tương tác và ít hoạt động trên ứng dụng, nên bạn quyết định chạy một chiến dịch khuyến mãi. Khi người dùng click vào quảng cáo, họ sẽ được đưa đến thẳng trang khuyến mãi trong ứng dụng, không phải tìm kiếm loanh quanh trong ứng dụng hay gõ tay mã khuyến mãi. Cả hai ví dụ trên đều có sự góp mặt của deep linking: tất cả chứng minh một điều, deep linking giúp bạn hiện thực hóa các loại chiến dịch kể trên.

Deep linking giúp cải thiện trải nghiệm của người dùng, đồng thời làm tăng tỷ lệ chuyển đổi (conversion rate) và tỷ lệ duy trì (retention rate). Để biết thêm thông tin, bạn có thể tham khảo bài viết tác động của deep linking lên chiến dịch.

Lý do deep linking ra đời

Như chúng tôi đã từng đề cập, deep linking giúp người dùng chuyển hướng giữa trang web và ứng dụng một cách dễ dàng hơn. Nhà quảng cáo (advertiser) cũng thành công hơn trong việc chuyển đổi người dùng (thuyết phục người dùng mua hàng, đăng ký thuê bao, v.v.).

Để hiểu rõ hơn, hãy cùng lấy một ví dụ. Bạn muốn chạy quảng cáo quà mừng Giáng Sinh để kéo người dùng đến với ứng dụng thương mại điện tử của bạn. Ở trang quảng cáo, bạn đưa “quà mừng Giáng Sinh” thành một mục riêng, và đăng tải hình ảnh quà mừng sẵn có trong kho. Nhưng bạn muốn người dùng xem các sản phẩm này trong ứng dụng, thay vì trên trang web. Lúc này, bạn sẽ cần đến deep linking. Nếu người dùng đã cài ứng dụng, thì khi họ click vào đường link, ứng dụng sẽ mở ra và (trong một số trường hợp) hiện ngay trang sản phẩm.

Giữ chân người dùng cũng là một trong các mục đích chính của deep linking. Deep linking giúp người dùng sử dụng ứng dụng thuận tiện hơn. Công cụ này còn có đóng góp quan trọng trong chiến dịch tái tương tác (retargeting campaign), giúp thu hút lại người dùng đã từng tương tác với ứng dụng. Cuối cùng, deep linking mang đến một phương pháp linh hoạt để chuyển hướng người dùng giữa trang web và ứng dụng, đem đến trải nghiệm tuyệt vời, từ đó tăng doanh số bán hàng, tỷ lệ chuyển đổi và tỷ lệ duy trì.

Hai loại deep link

Deep link có hai loại: default deep link và deferred deep link.

Default deep link

Default deep link chỉ chuyển hướng người dùng đến ứng dụng nếu ứng dụng đã được cài về máy. Nếu người dùng chưa cài ứng dụng, thì đường link không thể liên kết với endpoint của ứng dụng, và thông báo lỗi sẽ hiện lên.

Default deep link thích hợp với chiến dịch tái tương tác, vì lúc này người làm marketing chỉ quan tâm đến người dùng đã có ứng dụng trong máy, và muốn họ quay lại tương tác với ứng dụng.

Deferred deep link

Deferred deep link hoạt động phức tạp hơn default deep link. Deferred deep link có thể chuyển hướng người dùng đến App Store hoặc Play Store để tải ứng dụng về máy (hoặc đến một địa chỉ khác, như trang web của ứng dụng), và sau khi người dùng mở ứng dụng lên, thì trang mà họ muốn xem sẽ hiện lên.

Ví dụ, người dùng thích đôi giày đang được quảng cáo, quyết định click vào quảng cáo, nhưng họ lại chưa có ứng dụng thương mại điện tử bán đôi giày đó trong máy, thì trước tiên họ sẽ được chuyển hướng đến store để tải ứng dụng về. Sau đó, khi người dùng mở ứng dụng lên, họ sẽ được đưa đến trang bán đôi giày đó.

Bạn chỉ có thể triển khai deferred deep link khi sử dụng giải pháp deep linking, giống như giải pháp Adjust đang cung cấp. Deferred deep link được tạo qua tích hợp SDK, và bạn có thể tham khảo thêm thông tin tại đây đối với Android và tại đây đối với iOS.

Contextual deep linking?

Rất có thể bạn đã từng nghe đâu đó cụm từ contextual deep linking. Đường link dạng này mang đến một lợi thế bổ sung, đó là trữ được nhiều thông tin hơn, từ đó giúp người làm marketing thỏa sức sáng tạo hơn.

Để tạo contextual deep link, bạn có thể thêm tham số vào default deep link và deferred deep link. Đường link dạng này không tự xuất hiện.

Cách thức tạo deep link

Hãy bắt đầu từ bước cơ bản nhất: tạo một deep link. Quy trình tạo deep link thường phát sinh nhiều bất cập, và đòi hỏi bộ phận phát triển và bộ phận marketing phải liên tục trao đổi với nhau, nhiều khi vì những việc không cần thiết, để đảm bảo đường link được triển khai hiệu quả trong ứng dụng và đưa người dùng đến nội dung họ muốn.

Ngoài ra, ngồi tạo deep link theo cách thủ công cũng mất nhiều thời gian. Bạn cũng dễ mắc sai lầm trong quá trình làm. Như mọi URL khác, chỉ cần gõ sai một chữ, thì deep link đã không thể hoạt động, và ngay cả kỹ sư giỏi nhất thế giới thì đôi khi cũng phạm vài lỗi sai ngớ ngẩn. Phương án tốt nhất là tìm kiếm giải pháp tự động tạo deep link, qua đó bạn có thể dành tối đa thời gian và nguồn lực cho công tác tối ưu hóa chiến dịch và chiến lược quảng cáo.

Tóm lại, bạn sẽ cần đến một công cụ vừa dễ sử dụng vừa tự động tạo deep link để đảm bảo deep link hoạt động tốt và ít gặp lỗi sai. Hãy thử tìm hiểu Adjust Deeplink Generator, đây là công cụ hỗ trợ tạo hoàn chỉnh deep link URL, cho dù đó là App Link (Android) hay Universal Link (iOS), giúp bạn không còn gặp nhiều khó khăn khi phải tự mình triển khai deep link.

Cả hai cách tạo deep linking — sử dụng scheme (Android và iOS) và sử dụng iOS 9+ Universal Link — đều đã được hướng dẫn chi tiết. Cách làm cơ bản là giống nhau: gán một URL (nếu sử dụng scheme, youapp://; nếu sử dụng universal link , https://yourdomain.com/) vào ứng dụng. Khi người dùng click vào URL này, hệ thống sẽ mở ứng dụng nếu ứng dụng đã được cài trong máy.

Nhưng thế giới vốn không hoàn hảo. Bạn có lẽ sẽ thắc mắc, nếu người dùng chưa cài ứng dụng thì sao. Câu trả lời là, họ sẽ thấy một thông báo lỗi hoặc không có gì xảy ra cả. Mặc dù bạn không có cách nào trực tiếp biết được liệu ứng dụng có trên thiết bị hay không, nhưng có một số cách bạn có thể áp dụng để “dò hỏi” ứng dụng và biết được nó đã được cài; hay để đưa người dùng đến App Store, đến trang web, hay đến bất kỳ một địa chỉ nào khác nếu ứng dụng chưa được cài.

Như chúng tôi có nói ở trên, deep link dựa trên scheme (scheme-based deep linking) (Android và iOS) và iOS 9+ Universal Link đều đã được hướng dẫn một cách chi tiết. Vậy hãy cùng tìm hiểu cơ chế hoạt động của các deep link này.

Triển khai deep link trên Android

Để hiểu rõ hơn, hãy cùng nghiên cứu ví dụ sau. Deep link URL của bạn sẽ là yourapp://path/, và Bundle ID sẽ là com.yourapp.example.

Giải pháp JavaScript

Có một giải pháp thường được dùng để giải quyết vấn đề này, đó là sử dụng iframe để tải deep link URL, sau đó tạo delayed JavaScript để chuyển hướng người dùng đến store:

Lúc này, trình duyệt sẽ thử tải yourapp://path/ trước.

  • Nếu ứng dụng đã có trong máy, thì ứng dụng sẽ được mở ra và lệnh JavaScript tiếp theo sẽ không chạy.
  • Nếu ứng dụng chưa có trong máy, thì không có gì xảy ra khi trình duyệt tải yourapp://path/. Sau khoảng 2 giây, JavaScript sẽ chuyển hướng trang sang Play Store, để người dùng có thể tải ứng dụng về.

Nhưng đoạn code trên có một chút vấn đề, đó là ngay cả khi ứng dụng đã được mở, và người dùng đã quay lại trình duyệt, nhưng JavaScript vẫn chạy và lại chuyển hướng người dùng đến Play Store. Vì vậy, bạn cần thực hiện một số hoạt động tối ưu hóa, kiểm tra thời điểm người dùng quay lại trình duyệt để xem họ có cần được chuyển hướng lại về store hay không:

Giải pháp Intent

Kể từ phiên bản Chrome for Android 25 trở về sau, đoạn code trên sẽ ngừng hoạt động, bạn có thể tìm hiểu thêm trong tài liệu của Chrome. May là, Google đã cung cấp Intent URL, một giải pháp mang lại hiệu quả tốt hơn. Khi người dùng click vào URL intent://path/#Intent;scheme=yourapp;package=com.yourapp.example;end, sau đó

  • nếu ứng dụng đã có trong máy, thì Chrome sẽ mở ứng dụng.
  • nếu ứng dụng không có trong máy, thì Chrome sẽ mở Play Store.

Giải pháp deep link nên sử dụng

Chúng tôi đánh giá cao giải pháp Intent vì dễ triển khai và đem đến trải nghiệm tốt hơn cho người dùng. Nhưng để sử dụng giải pháp này, bạn cần hỗ trợ từ trình duyệt. Không may là, hệ thống Android quá phân mảnh nên khá nhiều hệ điều hành và trình duyệt cũ vẫn còn đang hoạt động. Hơn nữa, Android WebView, mặc dù được rất nhiều ứng dụng sử dụng, lại không mặc định hỗ trợ Intent URL. Bảng bên dưới cho biết giải pháp bạn nên sử dụng đối với từng trình duyệt Android (lưu ý, bảng chỉ nêu những trình duyệt phổ biến):

Xổ số miền Bắc