# Competitor Ad Angle Report: Residential roofing, Lancaster County, PA

> **Sample report.** Real ads and landing pages, captured from the public ad libraries. Competitor names and domains are withheld.

Captured 2026-10-09 from Google Ads Transparency Center. 5 competitors, 16 ads, 5 landing pages.

## What to take from this

- The most used angle is **offer** (5 of 16 ads, 3 competitors).
- The longest-running ad is "Best Local Roof Experts - Best Roofing Company Near You" from Roofer D: 574 days. Advertisers rarely keep paying for an ad that does not work.
- No competitor page has: price range shown, click to text, named customer reviews, before and after photos, video walkthrough. Each is an opening to test.

## Top 5 ads by how long they have run

| # | Competitor | Source | Hook | Angle | Stage | Days | Status |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | Roofer D | Google Ads Transparency Center | Best Local Roof Experts - Best Roofing Company Near You | local | Solution aware | 574 | ended 2026-10-08 |
| 2 | Roofer E | Google Ads Transparency Center | Roofers Near Me | offer | Most aware | 297 | ended 2026-10-08 |
| 3 | Roofer A | Google Ads Transparency Center | Got Gutter Problems? Call Us | problem | Problem aware | 237 | ended 2026-10-08 |
| 4 | Roofer E | Google Ads Transparency Center | {KeyWord:Roofing Installation & Repair} | offer | Most aware | 189 | ended 2026-10-08 |
| 5 | Roofer C | Google Ads Transparency Center | Storm Damage Roof Experts - Roof Replacement by Insurance | problem | Problem aware | 179 | ended 2026-08-13 |

## Angles by buyer awareness stage

| Angle | Unaware | Problem aware | Solution aware | Product aware | Most aware | Total |
| --- | --- | --- | --- | --- | --- | --- |
| offer |  |  |  |  | 5 | 5 |
| problem |  | 3 |  |  |  | 3 |
| proof |  |  |  | 3 |  | 3 |
| local |  |  | 2 |  |  | 2 |
| other | 2 |  |  |  |  | 2 |
| financing |  |  |  | 1 |  | 1 |

## Ads grouped by angle

### offer (5)

- **Roofer E**, Google Ads Transparency Center, 297 days: "Roofers Near Me"
- **Roofer E**, Google Ads Transparency Center, 189 days: "{KeyWord:Roofing Installation & Repair}"
- **Roofer B**, Google Ads Transparency Center, 120 days (running): "Metal Roofing Free Estimate"
- **Roofer B**, Google Ads Transparency Center, 56 days: "20 Years of Roofing Experience - Free Estimates in Lancaster"
- **Roofer C**, Google Ads Transparency Center, 48 days: "Your Last Roof, Go Metal"

### problem (3)

- **Roofer A**, Google Ads Transparency Center, 237 days: "Got Gutter Problems? Call Us"
- **Roofer C**, Google Ads Transparency Center, 179 days: "Storm Damage Roof Experts - Roof Replacement by Insurance"
- **Roofer A**, Google Ads Transparency Center, 94 days: "Got Gutter Problems? Call Us"

### proof (3)

- **Roofer A**, Google Ads Transparency Center, 114 days (running): "James Hardie Siding Install"
- **Roofer B**, Google Ads Transparency Center, 63 days: "Trusted Certified Roofers"
- **Roofer C**, Google Ads Transparency Center, 33 days: "25K+ Projects Since 2012 - 14+ Years in Roofing"

### local (2)

- **Roofer D**, Google Ads Transparency Center, 574 days: "Best Local Roof Experts - Best Roofing Company Near You"
- **Roofer C**, Google Ads Transparency Center, 48 days: "Exterior Services"

### other (2)

- **Roofer D**, Google Ads Transparency Center, 126 days: "Central PA Roofing Specialists - Central PA Roofers"
- **Roofer B**, Google Ads Transparency Center, 60 days (running): "Roof Repair & Replacement"

### financing (1)

- **Roofer C**, Google Ads Transparency Center, 47 days: "2,100+ Customer Reviews - $0 Down Siding, 0% APR 18 Mo"

## Landing page gap analysis

Table stakes are on at least 3 of 5 pages. Differentiators are on fewer. Missing items are on none.

| Group | Element | Pages | Who has it |
| --- | --- | --- | --- |
| Table stakes | financing offer | 4/5 | Roofer A, Roofer B, Roofer C, Roofer D |
| Table stakes | free estimate | 4/5 | Roofer A, Roofer B, Roofer D, Roofer E |
| Table stakes | phone number above the fold | 4/5 | Roofer B, Roofer C, Roofer D, Roofer E |
| Table stakes | written warranty | 4/5 | Roofer B, Roofer C, Roofer D, Roofer E |
| Table stakes | customer testimonials | 3/5 | Roofer B, Roofer C, Roofer E |
| Table stakes | instant quote or calculator | 3/5 | Roofer A, Roofer C, Roofer D |
| Table stakes | insurance claims help | 3/5 | Roofer B, Roofer C, Roofer D |
| Table stakes | photo gallery | 3/5 | Roofer B, Roofer C, Roofer E |
| Differentiator | free inspection | 2/5 | Roofer C, Roofer E |
| Differentiator | emergency service | 1/5 | Roofer A |
| Differentiator | faq | 1/5 | Roofer B |
| Differentiator | license number shown | 1/5 | Roofer E |
| Differentiator | manufacturer certification | 1/5 | Roofer E |
| Differentiator | online booking | 1/5 | Roofer C |
| Missing | price range shown | 0/5 |  |
| Missing | click to text | 0/5 |  |
| Missing | named customer reviews | 0/5 |  |
| Missing | before and after photos | 0/5 |  |
| Missing | video walkthrough | 0/5 |  |
| Missing | response-time promise | 0/5 |  |
| Missing | service area map | 0/5 |  |
| Missing | money-back or satisfaction guarantee | 0/5 |  |

| Competitor | Page |
| --- | --- |
| Roofer A | https://roofer-a.example/ |
| Roofer B | https://roofer-b.example/ |
| Roofer C | https://roofer-c.example/ |
| Roofer D | https://roofer-d.example/ |
| Roofer E | https://roofer-e.example/ |

## Next step

Pick one missing element and one under-used stage, and test them against your current best ad. The Ad Creative Pack ($299) turns that test into 30 ready-to-run variations: https://teamshift.io/services/ad-creative-pack

## Method

- Sources: Google Ads Transparency Center, TikTok Creative Center and LinkedIn Ad Library. Facebook, Instagram and Threads are never opened.
- Run length counts every day from first to last shown (or to the capture date for ads still running). Long-running ads are the best public sign of a winner, not proof of one.
- Angles and stages are labeled by the analyst; unlabeled ads are sorted by keyword rules.
