# LINE Campaign Reporting

Engage Studio does not have a built-in reporting UI for LINE campaigns. To analyze delivery results and engagement metrics, use the **LINE OA Insights Import Integration** to import aggregate stats from LINE into Treasure Data, then analyze the data using **Treasure Insights** or Treasure Data's **AI** capabilities.

## How LINE Reporting Works

LINE does not expose individual open or click events through its Webhook or Messaging API. Instead, LINE provides **aggregate statistics per message broadcast** through its Insights API. The LINE OA Insights connector imports these stats into Treasure Data, where they can be queried and visualized.


```mermaid
flowchart TD
    A["LINE Messaging API\n(Insights endpoint)"] --> B["LINE OA Insights Import Connector\n(Integration Hub → Treasure Data)"]
    B --> C["TD Database Table"]
    C --> D["Treasure Insights / AI Analysis"]
```

## LINE OA Insights Import Connector

The **LINE OA Insights Import Integration** imports four types of data from your LINE Official Account into Treasure Data. Set up a recurring import to keep your data current.

LINE OA Insights Import Integration source configuration
### Available Data Targets

| Target | Description |
|  --- | --- |
| **Message Deliveries** | Per-broadcast statistics including delivery count, open count, and click count |
| **Followers** | Daily follower count and blocking count |
| **Demographics** | Follower demographic breakdown (age, gender, region, etc.) |
| **User Interaction Statistics** | Per-message interaction stats using LINE's request ID |


For campaign reporting, the primary target is **Message Deliveries**.

### Setting Up the Connector

#### Step 1: Create Authentication

1. In Treasure Data, go to **Integration Hub** > **Catalog**.
2. Search for and select **LINE OA Insights**.
3. Click **Create Authentication**.
4. Enter your **Channel Access Token** (obtain from LINE Developers Console > Messaging API tab > Channel access token (long-lived)).
5. Enter a name for the connection and click **Done**.


#### Step 2: Configure a Data Source

1. From the Authentications list, find the connection you created and click **New Source**.
2. Enter a name for the source.
3. Configure the source table parameters:
| Parameter | Required | Description |
|  --- | --- | --- |
| **Target** | Yes | Select `Message Deliveries` for campaign stats |
| **Start Date** | Yes | Start date in `yyyyMMdd` format (e.g., `20260101`) |
| **End Date** | No | End date in `yyyyMMdd` format. Defaults to today if not specified |
| **Incremental** | No | When enabled, imports only new data since the last successful run |
| **Request IDs** | Required for User Interaction Statistics | Comma-separated LINE request IDs |
4. Select the destination database and table, and set a schedule (daily is recommended).
5. Click **Create & Run Now**.


#### Scheduling Recommendation

Set the import to run **daily** (e.g., `@daily` or `10 0 * * *`) with **Incremental** enabled. LINE's Insights API has a rate limit of **60 requests per hour**, and aggregate stats for a given day typically become available with a 1–3 day delay after broadcast.

### Import via Treasure Workflow

You can also configure the import in a Treasure Workflow `.dig` file:


```yaml
_export:
  td:
    database: line_oa_reporting
    table: message_deliveries
+import_line_oa_insights:
  td_load>: imports/line_oa_insights.yml
  database: ${td.database}
  table: ${td.table}
```

`imports/line_oa_insights.yml`:


```yaml
in:
  type: line_oa_insights
  channel_access_token: {your_channel_access_token}
  target: message_deliveries
  start_date: 20260101
  incremental: true
out:
  mode: append
```

See [LINE OA Insights Import Integration](/int/line-oa-insights-import-integration) for full parameter reference and CLI usage.

## Message Delivery Metrics

The `message_deliveries` target imports the following per-broadcast metrics. These are aggregate counts for all recipients of a given LINE broadcast.

| Metric | Description |
|  --- | --- |
| **Delivered** | Number of messages successfully delivered to recipients |
| **Opens** | Number of recipients who opened the message |
| **Clicks** | Number of recipients who clicked a link in the message |
| **Open Rate** | Opens ÷ Delivered × 100% |
| **Click Rate** | Clicks ÷ Delivered × 100% |


Aggregate Metrics Only
LINE's Insights API provides **aggregate statistics per broadcast**, not per-user event logs. Individual-level open and click events are not available. If you need URL-level click data, configure UTM parameters in your campaign and analyze traffic in your web analytics platform.

## Analyzing Data with Treasure Insights and AI

Once LINE OA Insights data is imported into Treasure Data, use the following tools to analyze and visualize campaign performance:

- **Treasure Insights** — Build dashboards and charts to visualize delivery metrics, open rates, and follower trends over time
- **AI Agent Foundry** — Ask natural language questions about your campaign data and generate ad-hoc analysis without writing SQL


For setup and usage of these tools, refer to the [Treasure Insights documentation](/products/customer-data-platform/treasure-insights).

## Other Insight Data

In addition to Message Deliveries, the LINE OA Insights connector can import the following data:

### Followers

Daily follower and blocking counts. Useful for tracking audience growth over time.


```yaml
in:
  type: line_oa_insights
  channel_access_token: {your_channel_access_token}
  target: followers
  start_date: 20260101
  incremental: true
```

### Demographics

Follower demographic breakdown (age group, gender, region, OS, etc.). Useful for audience analysis and campaign targeting strategy.


```yaml
in:
  type: line_oa_insights
  channel_access_token: {your_channel_access_token}
  target: demographics
```

### User Interaction Statistics

Per-message interaction stats fetched by LINE request ID.


```yaml
in:
  type: line_oa_insights
  channel_access_token: {your_channel_access_token}
  target: user_interaction_statistics
  request_ids: "req_id_1,req_id_2"
```

## Delivery Log

The **Delivery Log** database (`delivery_line_{system_identifier}`) records per-profile delivery events written at send time. This is separate from the LINE Insights data and is used for:

- Tracking delivery success and failure at the individual profile level
- Diagnosing delivery errors per profile


Key delivery log columns:

| Column | Description |
|  --- | --- |
| `event` | `delivery` or `error` |
| `time` | Unix timestamp |
| `channel_type` | Always `LINE` |
| `campaign_id` | Engage Studio campaign ID |
| `line_channel_name` | LINE Sender Account name |
| `message_type` | `textV2`, `imagemap` |
| `status` | `success` or `failed` |
| `error_code` | LINE API error code (error events only) |


## Related Documentation

- [LINE OA Insights Import Integration](/int/line-oa-insights-import-integration)
- [Event Tracking](/products/marketing-cloud/engage-studio/channels/line/line-oa-click-tracking)
- [Create a One-off LINE Campaign](/products/marketing-cloud/engage-studio/channels/line/line-oa-campaigns)
- [Testing LINE Campaigns](/products/marketing-cloud/engage-studio/channels/line/line-oa-testing)
- [LINE Official Account Setup](/products/marketing-cloud/engage-studio/channels/line/line-oa-setup)