5 AI shortcuts for landscaping and lawn care
Five messages landscapers and lawn care owners send again and again, each with a prompt you can copy into any AI chat. Fill in the blanks and check before you send.
Tap a message to open it.
1Turn a site visit into a clear written quoteTested
Use it after you've walked the property, from your own notes and your own prices. Skip this if your price list is out of date, or for work where a quote has legal weight, such as structural or electrical work; have your contract reviewed.
Don't paste card or bank numbers, passwords, or health, legal or other private details about anyone.
I run a landscaping and lawn care business. I visited a property and need to write up a quote. My notes: [what the customer wants, yard size, problems you saw]. My prices: [each item and its price, as you'd charge it]. Not included: [for example haul-away, plants, permits]. Start date I can offer: [date, or "not sure yet"]. Quote valid until: [date]. Write a clear, friendly quote email with a line-by-line list. Rules: - Use only the facts I give you. Don't send anything. - Don't invent prices, fees, dates, policies or promises. - If anything is missing or unclear, write UNCLEAR next to it. - Use only my prices. Don't add items I didn't list. - Use only the dates I give. Don't write "earliest" or "today".
Check before you send
- Every price matches your own list.
- What's not included is clear.
- The start date is one you can keep.
- The total adds up.
- If it mainly sells your service, treat it as marketing: honest subject line, your postal address, a way to opt out, and nobody who asked you to stop.
Tested once on October 27, 2026 with made-up facts: GPT-6.1 Sol (via Codex) and Claude Sonnet 5.5 (via Claude Code) both followed the rules. One run is not proof, so still check.
See the test: what we pasted and what each model wrote
How we tested: we filled the blanks with made-up facts and ran the prompt once on OpenAI's GPT-6.1 Sol through the Codex command-line tool and once on Anthropic's Claude Sonnet 5.5 through Claude Code, with no other instructions. A separate GPT-6.1 Sol run with no tools judged both answers against the prompt's rules and the checks. The ChatGPT and Claude chat apps can use different models and settings, so your answers may differ.
It preserves the supplied prices, exclusions and dates while marking the regrading price and total UNCLEAR.
It correctly calculates the known subtotal as $2,100 and marks the missing regrading price and final total UNCLEAR.
What we pasted (made-up facts):
I run a landscaping and lawn care business. I visited a property and need to write up a quote. My notes: Customer wants the back lawn redone and a small flower bed by the fence. Back yard about 1,500 square feet. Bare patches and poor drainage near the patio.. My prices: Remove old turf: $450; regrade drainage area near patio: not sure; lay new sod, 1,500 sq ft: $1,350; build flower bed with edging: $300. Not included: plants for the flower bed, haul-away of rocks larger than 1 foot, permits. Start date I can offer: Monday, April 8, 2030. Quote valid until: Friday, April 26, 2030. Write a clear, friendly quote email with a line-by-line list. Rules: - Use only the facts I give you. Don't send anything. - Don't invent prices, fees, dates, policies or promises. - If anything is missing or unclear, write UNCLEAR next to it. - Use only my prices. Don't add items I didn't list. - Use only the dates I give. Don't write "earliest" or "today".
What GPT-6.1 Sol wrote (exact words, formatting adapted):
Subject: Quote for Back Lawn and Flower Bed
Hi,
Thank you for showing me your backyard. Here’s the quote for redoing approximately 1,500 square feet of back lawn with bare patches and adding a small flower bed by the fence:
- Remove old turf: $450
- Regrade the area near the patio to address poor drainage: UNCLEAR — price to be determined
- Lay new sod, 1,500 sq ft: $1,350
- Build flower bed with edging by the fence: $300
Total: UNCLEAR — drainage regrading price is missing.
Not included:
- Plants for the flower bed
- Haul-away of rocks larger than 1 foot
- Permits
Available start date: Monday, April 8, 2030
Quote valid until: Friday, April 26, 2030
Please let me know if you have any questions.
Thank you!
What Claude Sonnet 5.5 wrote (exact words, formatting adapted):
Subject: Your Landscaping Quote – Back Lawn & Flower Bed
Hi [Customer name – UNCLEAR],
Thank you for having me out to your property. Here is the quote for the work we discussed on the back lawn and the flower bed by the fence.
What I saw: The back yard is about 1,500 square feet, with bare patches and poor drainage near the patio.
Quote, line by line:
- Remove old turf: $450
- Regrade drainage area near patio: UNCLEAR (price not yet set)
- Lay new sod, 1,500 sq ft: $1,350
- Build flower bed with edging: $300
Total: UNCLEAR until the regrading price is set. The other three items add up to $2,100.
Not included:
- Plants for the flower bed
- Haul-away of rocks larger than 1 foot
- Permits
Timing:
- Start date: Monday, April 8, 2030
- This quote is valid until Friday, April 26, 2030
Let me know if you have any questions or would like to go ahead.
Best regards,
[Your name – UNCLEAR]
[Business name / phone – UNCLEAR]
Notes for you before sending:
- Regrading price: you said "not sure," so I left it as UNCLEAR. The total can't be finalized without it.
- Customer name and your contact details weren't provided, so they are placeholders.
- Flower bed size: your notes say "small" but give no dimensions. I didn't state one.
- Payment terms, deposit, and how to accept the quote weren't given, so I left them out rather than invent them.
- I didn't send anything.
Full step-by-step guide: Turn a phone or walk-in inquiry into a written quote draft
2Reschedule customers after rain pushes back your weekTested · check closely
Use it when weather wipes out a day and you need to move several jobs at once. Skip this if customers never agreed to get texts from you, or if you're still deciding whether a weather fee is fair; that's your call.
Don't paste card or bank numbers, passwords, or health, legal or other private details about anyone.
I run a landscaping and lawn care business. Weather pushed back my schedule. Days lost: [dates]. Jobs affected: [customer first names and their original days]. New days I can offer: [a new date for each, or "next available"]. My weather policy: [your policy, in your words]. Write one short text message I can adapt for each customer, plus a version for anyone whose job moves more than [number] days. Rules: - Use only the facts I give you. Don't send anything. - Don't invent prices, fees, dates, policies or promises. - If anything is missing or unclear, write UNCLEAR next to it. - Don't promise dates I didn't list. Keep each message under 70 words. - Use the dates I gave. Where I didn't give one, write UNCLEAR instead of a blank. - Use each customer's real name and dates from my facts; never leave square-bracket blanks in the messages.
Check before you send
- Each customer gets the right new date.
- No date you can't keep.
- Any charge follows terms the customer saw and agreed to (not just your current policy).
- If you send it by text, only text people who agreed to get texts from you, and stop if they ask you to.
Tested once on October 27, 2026 with made-up facts: GPT-6.1 Sol (via Codex) followed the rules; Claude Sonnet 5.5 (via Claude Code) slipped: Leo’s message asserts a longer wait even though his new date and whether his delay exceeds five days are unknown. Check closely.
See the test: what we pasted and what each model wrote
How we tested: we filled the blanks with made-up facts and ran the prompt once on OpenAI's GPT-6.1 Sol through the Codex command-line tool and once on Anthropic's Claude Sonnet 5.5 through Claude Code, with no other instructions. A separate GPT-6.1 Sol run with no tools judged both answers against the prompt's rules and the checks. The ChatGPT and Claude chat apps can use different models and settings, so your answers may differ.
It uses the supplied dates and policy and marks Leo’s date and longer-delay applicability UNCLEAR.
Leo’s message asserts a longer wait even though his new date and whether his delay exceeds five days are unknown.
What we pasted (made-up facts):
I run a landscaping and lawn care business. Weather pushed back my schedule. Days lost: Tuesday, May 7 and Wednesday, May 8, 2030. Jobs affected: Mike (Tuesday), Aisha (Tuesday), Joan (Wednesday), Leo (Wednesday). New days I can offer: Mike: Thursday, May 9; Aisha: Thursday, May 9; Joan: Friday, May 10; Leo: next available. My weather policy: If rain stops work, we move you to the next open day at no extra cost. We don't charge for weather delays.. Write one short text message I can adapt for each customer, plus a version for anyone whose job moves more than 5 days. Rules: - Use only the facts I give you. Don't send anything. - Don't invent prices, fees, dates, policies or promises. - If anything is missing or unclear, write UNCLEAR next to it. - Don't promise dates I didn't list. Keep each message under 70 words. - Use the dates I gave. Where I didn't give one, write UNCLEAR instead of a blank. - Use each customer's real name and dates from my facts; never leave square-bracket blanks in the messages.
What GPT-6.1 Sol wrote (exact words, formatting adapted):
Mike
Hi Mike, rain delayed your Tuesday, May 7, 2030 job. I can offer Thursday, May 9, 2030 instead. Weather rescheduling is at no extra cost, and we don’t charge for weather delays.
Aisha
Hi Aisha, rain delayed your Tuesday, May 7, 2030 job. I can offer Thursday, May 9, 2030 instead. Weather rescheduling is at no extra cost, and we don’t charge for weather delays.
Joan
Hi Joan, rain delayed your Wednesday, May 8, 2030 job. I can offer Friday, May 10, 2030 instead. Weather rescheduling is at no extra cost, and we don’t charge for weather delays.
Leo
Hi Leo, rain delayed your Wednesday, May 8, 2030 job. We’ll move you to the next open day at no extra cost. Your new date is UNCLEAR. We don’t charge for weather delays.
For a delay over 5 days—using Leo as the example; whether this applies is UNCLEAR
Hi Leo, I’m sorry rain disrupted your Wednesday, May 8, 2030 job. Your next available date is UNCLEAR. We’ll move your job to the next open day at no extra cost, and we don’t charge for weather delays.
What Claude Sonnet 5.5 wrote (exact words, formatting adapted):
Here are the messages, using only your facts.
Standard message (Mike, Aisha, Joan)
Mike:
Hi Mike, rain stopped our work on Tuesday, May 7, 2030, so we need to move your job to Thursday, May 9. Per our weather policy, there's no extra cost for weather delays. Please let me know if that day works for you.
Aisha:
Hi Aisha, rain stopped our work on Tuesday, May 7, 2030, so we need to move your job to Thursday, May 9. Per our weather policy, there's no extra cost for weather delays. Please let me know if that day works for you.
Joan:
Hi Joan, rain stopped our work on Wednesday, May 8, 2030, so we need to move your job to Friday, May 10. Per our weather policy, there's no extra cost for weather delays. Please let me know if that day works for you.
Version for jobs that move more than 5 days (Leo)
Leo:
Hi Leo, rain stopped our work on Wednesday, May 8, 2030. Your job will move to our next available day: UNCLEAR. I know that's a longer wait, and I'm sorry for the delay. Per our weather policy, there's no extra cost for weather delays. Please let me know if that works for you.
Flags
- Leo's new date: UNCLEAR. You said "next available" but gave no date, so I couldn't fill it in. Replace UNCLEAR with the date before sending.
- Is Leo's move more than 5 days: UNCLEAR. I can't tell without his date. If it's 5 days or fewer (by May 13), use the standard wording instead.
- Sign-off/business name: UNCLEAR. You didn't give one, so I left it off.
- Mike, Aisha and Joan: each moves 2 days, so the standard message applies.
Nothing has been sent.
Full step-by-step guide: Write appointment reminder and no-show messages
3Remind a customer about an overdue invoiceTested
Use it when the work is done, the amount isn't in dispute and the due date has passed. Don't use this when the customer disputes the work or the amount, or when the debt is already with a collections agency or a lawyer.
Don't paste card or bank numbers, passwords, or health, legal or other private details about anyone.
I run a landscaping and lawn care business. A customer hasn't paid an invoice. Customer: [first name]. Invoice number and date: [details]. Amount: [amount]. Due date: [date]. Work done: [short description]. Reminders sent so far: [none / dates]. How to pay: [your real payment options]. Write a friendly, firm reminder. If I've already sent one, make it a little firmer. Rules: - Use only the facts I give you. Don't send anything. - Don't invent prices, fees, dates, policies or promises. - If anything is missing or unclear, write UNCLEAR next to it. - No legal threats. No late fees or interest unless they are in terms the client agreed to and I listed them. - Don't promise any next step, reply, call or help I didn't list.
Check before you send
- Invoice number, amount and due date are right.
- Payment options are the ones you really take.
- No legal threats, and any fee or interest is in terms the client saw and agreed to.
- Talk to a professional before any collections or legal step.
Tested once on October 27, 2026 with made-up facts: GPT-6.1 Sol (via Codex) and Claude Sonnet 5.5 (via Claude Code) both followed the rules. One run is not proof, so still check.
See the test: what we pasted and what each model wrote
How we tested: we filled the blanks with made-up facts and ran the prompt once on OpenAI's GPT-6.1 Sol through the Codex command-line tool and once on Anthropic's Claude Sonnet 5.5 through Claude Code, with no other instructions. A separate GPT-6.1 Sol run with no tools judged both answers against the prompt's rules and the checks. The ChatGPT and Claude chat apps can use different models and settings, so your answers may differ.
It uses the supplied facts, marks the invoice number and date UNCLEAR, and adds no unauthorized fees or promises.
It preserves the supplied facts, identifies unclear details, and adds no unauthorized fees, threats, or promises.
What we pasted (made-up facts):
I run a landscaping and lawn care business. A customer hasn't paid an invoice. Customer: Rob. Invoice number and date: not sure. Amount: $320. Due date: Saturday, June 1, 2030. Work done: spring cleanup and first mow. Reminders sent so far: one reminder on June 8, 2030. How to pay: check, card through the invoice link, or Zelle to the business number on the invoice. Write a friendly, firm reminder. If I've already sent one, make it a little firmer. Rules: - Use only the facts I give you. Don't send anything. - Don't invent prices, fees, dates, policies or promises. - If anything is missing or unclear, write UNCLEAR next to it. - No legal threats. No late fees or interest unless they are in terms the client agreed to and I listed them. - Don't promise any next step, reply, call or help I didn't list.
What GPT-6.1 Sol wrote (exact words, formatting adapted):
Hi Rob,
I’m following up again on the $320 invoice for the spring cleanup and first mow, due Saturday, June 1, 2030. I sent a reminder on June 8, 2030, and payment is still outstanding. Please arrange payment promptly.
You can pay by check, by card through the invoice link, or by Zelle to the business number on the invoice.
Thank you.
Invoice number: UNCLEAR
Invoice date: UNCLEAR
What Claude Sonnet 5.5 wrote (exact words, formatting adapted):
Draft reminder (not sent)
Subject: Second reminder: Invoice UNCLEAR (invoice number), $320 past due
Hi Rob,
I'm following up on my June 8, 2030 reminder. Our invoice for $320 for your spring cleanup and first mow was due on Saturday, June 1, 2030, and we haven't received payment yet.
Please send payment as soon as you can. You can pay any of these ways:
- Check
- Card, using the link on your invoice
- Zelle, to the business number listed on your invoice
If you've already sent payment, thank you, and please disregard this note.
Thanks, Rob. We appreciate your business.
UNCLEAR (your name)
UNCLEAR (business name)
Items marked UNCLEAR or worth checking
- Invoice number and invoice date: You weren't sure. Add them before sending, or delete the invoice number from the subject line.
- Dates: The due date (June 1, 2030) and the earlier reminder (June 8, 2030) are in the future compared with today's date, October 27, 2026. If those years are typos, please correct them. June 1, 2030 does fall on a Saturday, so the weekday matches.
- Rob's full name and contact details: UNCLEAR.
- Your name and business name for the sign-off: UNCLEAR.
- Zelle number: I referred to the invoice rather than writing a number, since you didn't give one.
I didn't include late fees, interest, deadlines, or follow-up promises, because you didn't list any.
Full step-by-step guide: Write payment reminder emails in three tones (friendly, firm, final)
4Reply to a customer who says your crew damaged somethingTested
Use it before you've checked the facts, to reply calmly without admitting or denying fault. Don't use this when anyone was hurt, when the customer mentions a lawyer or an insurance claim, or when a phone call would settle it faster; talk to your insurer first.
Don't paste card or bank numbers, passwords, or health, legal or other private details about anyone.
I run a landscaping and lawn care business. A customer says my crew damaged something. What they say: [what was damaged, when, and their message in short]. What I know so far: [what the crew says, photos, or "still checking"]. What I can offer now: [for example a visit to look at it on a date]. Write a short, calm reply that shows I take it seriously and says what happens next. Rules: - Use only the facts I give you. Don't send anything. - Don't invent prices, fees, dates, policies or promises. - If anything is missing or unclear, write UNCLEAR next to it. - Don't admit or deny fault. Don't mention insurance unless I tell you to. - Don't give the customer advice or instructions I didn't give you. - Don't ask the customer to confirm or do anything I didn't list, and don't say who I've talked to.
Check before you send
- It doesn't admit or deny fault before you know.
- The next step and date are ones you'll keep.
- No offer to pay or repair that you haven't decided on.
- Calm, not defensive.
Tested once on October 27, 2026 with made-up facts: GPT-6.1 Sol (via Codex) and Claude Sonnet 5.5 (via Claude Code) both followed the rules. One run is not proof, so still check.
See the test: what we pasted and what each model wrote
How we tested: we filled the blanks with made-up facts and ran the prompt once on OpenAI's GPT-6.1 Sol through the Codex command-line tool and once on Anthropic's Claude Sonnet 5.5 through Claude Code, with no other instructions. A separate GPT-6.1 Sol run with no tools judged both answers against the prompt's rules and the checks. The ChatGPT and Claude chat apps can use different models and settings, so your answers may differ.
It uses the supplied facts, offers the stated visit, and neither assigns fault nor adds requests.
It gives the stated visit details, marks missing information UNCLEAR, and adds no unauthorized customer requests or remedies.
What we pasted (made-up facts):
I run a landscaping and lawn care business. A customer says my crew damaged something. What they say: They say the crew's mower cracked a sprinkler head by the driveway on Tuesday, June 11, 2030. Their message: "Your guys broke my sprinkler and the lawn is flooding.". What I know so far: The crew says they mowed that strip but didn't notice anything. No photos yet.. What I can offer now: a visit to look at it on Thursday, June 13, 2030, between 8:00 and 10:00 a.m.. Write a short, calm reply that shows I take it seriously and says what happens next. Rules: - Use only the facts I give you. Don't send anything. - Don't invent prices, fees, dates, policies or promises. - If anything is missing or unclear, write UNCLEAR next to it. - Don't admit or deny fault. Don't mention insurance unless I tell you to. - Don't give the customer advice or instructions I didn't give you. - Don't ask the customer to confirm or do anything I didn't list, and don't say who I've talked to.
What GPT-6.1 Sol wrote (exact words, formatting adapted):
Thanks for letting me know. I take your report of the cracked sprinkler head by the driveway and flooding seriously. I can visit on Thursday, June 13, 2030, between 8:00 and 10:00 a.m. to look at it.
What Claude Sonnet 5.5 wrote (exact words, formatting adapted):
Draft reply (not sent):
Hi [customer name: UNCLEAR],
Thank you for letting us know. I'm sorry to hear your lawn is flooding, and I'm taking this seriously.
We'll come out to look at the sprinkler head by the driveway on Thursday, June 13, 2030, between 8:00 and 10:00 a.m.
[Your name / business name: UNCLEAR]
Flags for you:
- Customer name and your sign-off: not provided.
- Whether the customer is available Thursday 8-10 a.m.: UNCLEAR. I didn't ask them to confirm, since you didn't list that.
- Who is coming to the visit: UNCLEAR, so I left it out.
- What happens after the visit: UNCLEAR, so I made no promises about repairs or follow-up.
- Dates: the incident and visit are in 2030, but today is Oct 27, 2026. If that's a typo, fix it before sending.
- Photos: none yet, and I didn't ask the customer for any.
Full step-by-step guide: Write a calm, firm reply to an angry customer email
5Ask last season's customers to book againTested
Use it before your season starts, only for customers who agreed to hear from you. Skip this if people never agreed to marketing email from you or unsubscribed, if they left after a dispute, or if you'd be sending texts.
Don't paste card or bank numbers, passwords, or health, legal or other private details about anyone.
I run a landscaping and lawn care business. I want to ask last season's customers to book again. Season: [spring / summer / fall / winter]. Services this season: [what you offer]. Price changes: [none / what changed]. How to book: [phone, link or reply]. Booking deadline, if real: [date, or "none"]. Write one short, friendly email I can send to past customers, with an honest subject line. Rules: - Use only the facts I give you. Don't send anything. - Don't invent prices, fees, dates, policies or promises. - If anything is missing or unclear, write UNCLEAR next to it. - No fake urgency or discounts I didn't list. End with a line on how to stop getting these emails. - End the email with these two lines: [your business postal address] and [how to unsubscribe].
Check before you send
- Only send to people who agreed to hear from you, and leave out anyone who unsubscribed.
- Your email includes your business postal address and a working unsubscribe link.
- The subject line says honestly what the email is about.
- Prices, services and any deadline are current and real.
Tested once on October 27, 2026 with made-up facts: GPT-6.1 Sol (via Codex) and Claude Sonnet 5.5 (via Claude Code) both followed the rules. One run is not proof, so still check.
See the test: what we pasted and what each model wrote
How we tested: we filled the blanks with made-up facts and ran the prompt once on OpenAI's GPT-6.1 Sol through the Codex command-line tool and once on Anthropic's Claude Sonnet 5.5 through Claude Code, with no other instructions. A separate GPT-6.1 Sol run with no tools judged both answers against the prompt's rules and the checks. The ChatGPT and Claude chat apps can use different models and settings, so your answers may differ.
It accurately lists the services and price change, marks the missing phone number UNCLEAR, and copies the supplied footer.
It uses the supplied facts and footer, clearly marks missing details, and keeps its additional checks outside the email.
What we pasted (made-up facts):
I run a landscaping and lawn care business. I want to ask last season's customers to book again. Season: spring. Services this season: weekly mowing, spring cleanup, mulching, hedge trimming. Price changes: weekly mowing goes from $45 to $50 per visit. How to book: reply to this email or call the number below. Booking deadline, if real: none. Write one short, friendly email I can send to past customers, with an honest subject line. Rules: - Use only the facts I give you. Don't send anything. - Don't invent prices, fees, dates, policies or promises. - If anything is missing or unclear, write UNCLEAR next to it. - No fake urgency or discounts I didn't list. End with a line on how to stop getting these emails. - End the email with these two lines: "Riverside Studio, 14 Mill Road, Riverside, CA 92501" and "To stop getting these emails, use the unsubscribe link below.".
What GPT-6.1 Sol wrote (exact words, formatting adapted):
Subject: Book your spring lawn care services
Hi there,
We’d love to have you back this spring! We’re offering weekly mowing, spring cleanup, mulching, and hedge trimming.
Weekly mowing is increasing from $45 to $50 per visit.
To book, reply to this email or call UNCLEAR (phone number not provided).
Riverside Studio, 14 Mill Road, Riverside, CA 92501
To stop getting these emails, use the unsubscribe link below.
What Claude Sonnet 5.5 wrote (exact words, formatting adapted):
Subject: Book your spring lawn care with us again
Hi [First name],
Thank you for being one of our customers last season. We'd love to work with you again this spring.
Here's what we're offering:
- Weekly mowing
- Spring cleanup
- Mulching
- Hedge trimming
One change to know about: weekly mowing is going from $45 to $50 per visit.
To book, just reply to this email or call us at [PHONE NUMBER: UNCLEAR, not provided].
If you have questions about any of the services, reply and ask.
Thanks again,
[Your name: UNCLEAR]
Riverside Studio, 14 Mill Road, Riverside, CA 92501
To stop getting these emails, use the unsubscribe link below.
Items to fix before sending:
- Phone number: UNCLEAR. You said "the number below," but none was included.
- Your name / sign-off: UNCLEAR. I wasn't sure if "Riverside Studio" is your business name, so I left the name blank.
- Unsubscribe link: The email says to use the link below, so your email tool needs to add one. If it doesn't, the line will be wrong.
- Prices for spring cleanup, mulching and hedge trimming: UNCLEAR. I left them out rather than guess.
- Dates: No booking deadline or start date was given, so none is mentioned.
Full step-by-step guide: Write a win-back email to past customers, with a CAN-SPAM check
More: questions, earlier tests and how we test
Questions landscaping and lawn care owners ask
Can AI write my landscaping quotes?
It can turn your notes and prices into a clean quote. It doesn't know your costs, so every price must come from you.
How do I tell lots of customers about a rain delay fast?
Write one message with blanks for name and new date, then send each one yourself. The rain-delay shortcut above gives you that message.
Can I email past customers about booking again?
Yes, if they agreed to hear from you. Include a way to stop getting emails and your business address.
Also as plain Markdown for AI tools.
The Tuesday email
One ready-to-copy shortcut, every Tuesday.
Every Tuesday: one AI shortcut for a message owners put off, right in the email. Copy it, fill the blanks, check it, send. Read it in a minute. Your first week starts with three short welcome emails.
Free. Every Tuesday: one ready-to-copy AI shortcut for a message owners put off, in the email itself. At most one ad, always labeled. Unsubscribe in one click.