Canva’s marketing analytics team wants to identify the best-performing channel for each active campaign during Q1 2026. Write one PostgreSQL query using the campaign, channel, and daily performance tables.
| Column | Type | Description |
|---|---|---|
| campaign_idPK | INT | Unique campaign identifier |
| campaign_name | VARCHAR(100) | Canva marketing campaign name |
| campaign_status | VARCHAR(20) | Campaign lifecycle status |
| launch_date | DATE | Date the campaign launched |
| Column | Type | Description |
|---|---|---|
| channel_idPK | INT | Unique marketing channel identifier |
| channel_name | VARCHAR(50) | Marketing channel name |
| channel_type | VARCHAR(30) | Channel category |
| channel_status | VARCHAR(20) | Whether the channel is active |
| Column | Type | Description |
|---|---|---|
| performance_idPK | INT | Unique performance row identifier |
| campaign_id | INT | References campaigns.campaign_id |
| channel_id | INT | References marketing_channels.channel_id |
| performance_date | DATE | Date of the performance measurement |
| spend | DECIMAL(12,2) | Daily media spend |
| impressions | INT | Daily ad impressions |
| clicks | INT | Daily ad clicks |
| conversions | INT | Daily attributed conversions |