Google Ads Segments
Segments in the Google Ads API let you break down metrics by additional dimensions not available through the core resource fields.
Segments Overview
Segments are added to a GAQL query with the segments. prefix:
sql
SELECT
campaign.name,
segments.date,
segments.device,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_7_DAYSTime Segments
| Segment | Type | Format | Description |
|---|---|---|---|
segments.date | DATE | YYYY-MM-DD | Date (day) |
segments.week | DATE | YYYY-MM-DD | Start of week (Monday) |
segments.month | DATE | YYYY-MM | Month |
segments.quarter | STRING | YYYY-Q | Quarter |
segments.year | INTEGER | YYYY | Year |
segments.day_of_week | ENUM | MONDAY..SUNDAY | Day of week |
segments.hour | INTEGER | 0..23 | Hour of day |
Device and Network Segments
| Segment | Type | Values |
|---|---|---|
segments.device | ENUM | DESKTOP, MOBILE, TABLET, CONNECTED_TV, OTHER |
segments.network | ENUM | SEARCH, SEARCH_PARTNERS, DISPLAY, YOUTUBE_SEARCH, YOUTUBE_WATCH, SHOPPING |
segments.slot | ENUM | TOP, OTHER (position on the page) |
Geographic Segments
| Segment | Type | Description |
|---|---|---|
segments.geo_target_city | STRING | City |
segments.geo_target_region | STRING | Region/state |
segments.geo_target_country | STRING | Country |
segments.geo_target_metro | STRING | Metro area (US) |
Conversion Segments
| Segment | Type | Description |
|---|---|---|
segments.conversion_action | STRING | Conversion action resource |
segments.conversion_action_name | STRING | Action name |
segments.conversion_action_category | ENUM | Conversion category |
segments.conversion_lag_bucket | ENUM | Conversion lag |
segments.conversion_adjustment | BOOLEAN | Whether it's an adjustment |
Auction Segments
| Segment | Type | Description |
|---|---|---|
segments.auction_insight_domain | STRING | Competitor domain |
segments.auction_insight_search_term | STRING | Auction search term |
Limitations and Rules
Compatibility
Not all segment combinations are supported. Main rules:
- Time-based + any other:
segments.datecan be combined with most segments - Conversion + time-based: supported, but increases data volume
- Auction segments: often require a separate query
Performance
- Maximum of 5 segments per query
- Each additional segment multiplies the number of rows
- For large accounts, limit the period when using segments
Practical Combinations
Daily Performance by Device
sql
SELECT
segments.date,
segments.device,
metrics.impressions,
metrics.clicks,
metrics.conversions
FROM campaign
WHERE segments.date DURING LAST_7_DAYSConversions with Lag
sql
SELECT
segments.conversion_action_name,
segments.conversion_lag_bucket,
metrics.conversions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS