> For the complete documentation index, see [llms.txt](https://document.o2skin.asia/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://document.o2skin.asia/quan-ly-khach-hang/luong-ads-pancake-cua-lead.md).

# Luồng Ads Pancake của lead

Trang này giúp bạn hiểu cách O2 ghi nhận nguồn Ads từ Pancake cho lead, nơi có thể xem dữ liệu này trên giao diện, và báo cáo nào đang dùng dữ liệu Ads đó.

## Tổng quan

Khi một lead đến từ hội thoại Pancake, O2 sẽ:

* Tạo mới hoặc cập nhật lead trong màn hình **Leads**.
* Gắn hội thoại Pancake với đúng lead để các lần đồng bộ sau không bị lẫn dữ liệu.
* Lưu lại Ads mà lead đã tương tác thành lịch sử riêng.
* Hiển thị bối cảnh hội thoại trong chi tiết lead.
* Tổng hợp dữ liệu Ads vào báo cáo **Báo cáo lead từ Ads**.

## **Bước 1: Xem lead trong màn hình Leads**

Trên thanh điều hướng bên trái, chọn **Leads**.

Tại màn hình này, người dùng có thể:

* Tìm lead theo ID, tên hoặc số điện thoại.
* Lọc danh sách lead.
* Tạo lead mới.
* Tải xuống danh sách lead.
* Mở chi tiết một lead để xem lịch sử tương tác và nguồn hội thoại.

<figure><img src="/files/J1PQdikrwlFPVw4Yga1N" alt=""><figcaption><p>Màn hình Leads</p></figcaption></figure>

## **Bước 2: Xem nguồn và tương tác trong chi tiết lead**

Trong chi tiết lead, chọn tab **Nguồn & tương tác**.

Tab này dùng để xem bối cảnh O2 lấy từ kênh hội thoại, gồm:

* Số hội thoại đã ghi nhận.
* Nguồn tiếp cận, ví dụ Ads ID hoặc Campaign từ Pancake/Meta nếu có.
* Thông tin liên hệ lấy được từ hội thoại.
* Mốc thời gian cập nhật dữ liệu gần nhất.
* Nút **Cập nhật dữ liệu** để yêu cầu hệ thống lấy lại dữ liệu hội thoại từ Pancake.

<figure><img src="/files/41WiFoimRanfMAtlhlUg" alt=""><figcaption><p>Tab Nguồn &#x26; tương tác trong chi tiết lead</p></figcaption></figure>

Nếu chưa có dữ liệu, hệ thống sẽ hiển thị trạng thái chưa có bối cảnh tương tác. Trường hợp này thường xảy ra khi lead chưa có link hội thoại nguồn hoặc dữ liệu Pancake chưa được đồng bộ xong.

## **Bước 3: Xem báo cáo lead từ Ads**

Trên thanh điều hướng bên trái, chọn **Báo cáo** > **Báo cáo ads lead**.

Báo cáo này giúp theo dõi:

* **Lead từ Ads:** số lead có tương tác Ads được ghi nhận.
* **Lượt tương tác Ads:** tổng số lượt tương tác lấy được từ Pancake.
* **Số Ads ID:** số Ads ID phát sinh lead trong kỳ báo cáo.
* **Lead có SĐT:** số lead từ Ads đã thu được số điện thoại.
* Xu hướng theo ngày.
* Top Ads ID theo số lead.
* Danh sách lead theo từng Ads ID.

<figure><img src="/files/Y16Tzj6bpHabKvdCDXzs" alt=""><figcaption><p>Báo cáo lead từ Ads</p></figcaption></figure>

Người dùng có thể đổi khoảng **Ngày báo cáo**, bấm **Áp dụng** để xem lại số liệu, hoặc bấm **Tải xuống** để xuất dữ liệu.

## Luồng dữ liệu hiện tại

Luồng hiện tại có thể hiểu ngắn gọn như sau:

1. Pancake/Sale Copilot gửi thông tin hội thoại, khách hàng, số điện thoại gợi ý và Ads context về O2.
2. O2 kiểm tra dữ liệu này để tìm lead phù hợp.
3. Nếu đã có lead, O2 cập nhật lead. Nếu chưa có lead, O2 tạo lead mới.
4. O2 gắn hội thoại Pancake vào lead để các lần đồng bộ sau biết hội thoại đó thuộc lead nào.
5. Hệ thống chạy job nền để lấy thêm bằng chứng Ads từ Pancake.
6. Dữ liệu Ads được lưu vào lịch sử tương tác Ads.
7. Chi tiết lead đọc dữ liệu hội thoại để hiển thị tab **Nguồn & tương tác**.
8. Báo cáo **Báo cáo lead từ Ads** đọc dữ liệu Ads interaction để tổng hợp KPI.

```mermaid
flowchart TD
    A["Pancake / Sale Copilot"] --> B["O2 resolve lead"]
    B --> C["Tạo hoặc cập nhật lead"]
    C --> D["Gắn hội thoại Pancake vào lead"]
    D --> E["Job lấy Ads interaction"]
    D --> F["Job lấy context hội thoại"]
    E --> G["Báo cáo lead từ Ads"]
    F --> H["Tab Nguồn & tương tác"]
```

## Cách O2 chọn Ads interaction

Khi Pancake gửi nhiều Ads trong cùng một bối cảnh, O2 ưu tiên Ads có thời điểm click mới nhất. Nếu không có thời điểm click, hệ thống dùng thời điểm dữ liệu được ghi nhận từ Pancake.

Sau bước tạo hoặc cập nhật lead, O2 vẫn tiếp tục chạy job nền để lấy thêm dữ liệu từ Pancake. Vì vậy, một lead có thể có nhiều Ads interaction trong lịch sử, không chỉ một Ads duy nhất.

## Cần hiểu khi đọc số liệu

* **Tab Nguồn & tương tác** dùng để xem bối cảnh hội thoại và nguồn tương tác của từng lead.
* **Báo cáo lead từ Ads** dùng dữ liệu Ads interaction lấy từ Pancake.
* **Campaign đang gắn trên lead** vẫn tồn tại trong hồ sơ lead và trong một số file export/báo cáo.
* Khi so sánh số liệu Ads giữa các báo cáo, cần chú ý nguồn dữ liệu: có báo cáo đọc Ads interaction từ Pancake, có báo cáo vẫn đọc Campaign đang gắn trên lead.

## Phụ lục kỹ thuật ngắn

| Nội dung                         | Nơi lưu/endpoint chính                                           | Ghi chú                                                       |
| -------------------------------- | ---------------------------------------------------------------- | ------------------------------------------------------------- |
| Lead trong CRM                   | `lead_service_leads`                                             | Lưu thông tin lead chính.                                     |
| Campaign trên lead               | `lead_service_leads.campaign_id`                                 | Dùng cho Campaign đang gắn trên lead.                         |
| Danh mục Campaign                | `lead_service_campaigns`                                         | Lưu tên, mã, trạng thái Campaign nội bộ.                      |
| Ads interaction từ Pancake       | `marketing_touchpoints`                                          | Nguồn chính cho lịch sử tương tác Ads và báo cáo lead từ Ads. |
| Hội thoại Pancake gắn với lead   | `conversation_claims`                                            | Giúp O2 biết hội thoại nào thuộc lead nào.                    |
| Queue lấy Ads evidence           | `lead_attribution_tasks`                                         | Job nền lấy và cập nhật Ads interaction.                      |
| Context hiển thị ở chi tiết lead | `pancake_conversation_profiles`, `pancake_conversation_messages` | Dữ liệu cho tab **Nguồn & tương tác**.                        |
| API xem context lead             | `GET /leads/:id/pancake-interaction-context`                     | FE gọi khi mở tab **Nguồn & tương tác**.                      |
| API refresh context lead         | `POST /leads/:id/pancake-interaction-context/refresh`            | FE gọi khi bấm **Cập nhật dữ liệu**.                          |
| Báo cáo lead từ Ads              | `/reports/lead-ads-attribution`                                  | FE hiển thị dưới menu **Báo cáo ads lead**.                   |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://document.o2skin.asia/quan-ly-khach-hang/luong-ads-pancake-cua-lead.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
