Local SEO. Google Business Profile

Google Business Profile Posts and the Call Now Button: What to Pick, What It Changes

8 of 9Posts in one month that carried a Call now button
4 to 8Calls from the profile, month on month
57Direction requests, the profile’s best month
Down 1Website clicks over the same month

Written by Ram Kr Shukla. Numbers come from a US lawn care and mosquito control company and a US roofing and exteriors contractor, anonymised.

Quick answer

Every Google Business Profile post gets one button. Put Call now on posts where the job starts with a conversation: urgent work, seasonal problems, quotes that need a quick chat. Put Learn more on posts that need a page to sell the job, like a roof replacement. Use Book only if you really take bookings online. A month heavy on Call now moves taps from your website to your phone, so website clicks can dip while calls climb, and that’s the plan working. Keep phone numbers out of the text and use your own job photos. If you schedule posts, check the stored time against the business’s own time zone.

Most advice on Google Business Profile posts stops at “post weekly and add a button.” That’s the easy half. The harder half is that the button you choose decides where the reader goes next, which decides which number moves in the Performance report, which decides how your next conversation with the owner goes.

I run posts for two home-service businesses right now: a lawn care and mosquito control company, and a roofing and exteriors contractor. They use different buttons for good reasons. This guide is what I’ve learned from both, checked against Google’s own help pages. It sits inside the wider profile work I do as part of local SEO for US service businesses, and it stays on posts and buttons only. For the rest of the profile (categories, reviews, service pages) see local and GMB SEO for service and booking businesses.

What a GBP Post Button Actually Does

A post is a short update that shows on your profile in Search and Maps: some text, one photo or video, and an optional button. Google’s Business Profile API reference lists six button types. In the editor they read Book, Order online, Buy, Learn more, Sign up and Call now.

Two things about them matter more than the list itself.

  • One post, one button. You can’t put Call now and Learn more on the same post. Pick Call now and the link to your article or service page is gone from that post.
  • Call now needs no link. It dials the number on the profile. Google’s posts content policy says the button “uses your verified Business Profile phone number,” and the API says the link field should be left unset for it. Every other button needs a URL.
ButtonWhat the tap doesGood fit forWhere you’ll see the effect
Call nowOpens the phone dialer with your profile numberUrgent jobs, seasonal problems, quotes that start with a chatCalls in Performance, and your phone
Learn moreOpens the page you linkBigger jobs that need a page to sell them, project write-upsYour site analytics, as a visit from Google
BookOpens your booking linkEstimates or inspections you really take onlineYour booking system, and Bookings if you use a supported provider
Sign upOpens a sign-up linkA seasonal program or maintenance plan with an online formForm submissions on your site
Order online / BuyOpens a shop or order linkRarely fits a home-service businessYour shop, if you have one

Posts also don’t last forever. Google’s help page on creating posts says posts older than six months are archived unless a date range is set. So a post is a short-lived thing, and the button choice is a decision you make again every week or two.

Call Now, Learn More or Book: How to Choose

Ask one question about each post: what does the reader need to do next to become a job? Then pick the button that does exactly that.

When Call now is the right pick

A lawn quote starts with a conversation. The owner of the lawn company wants the phone to ring, because a two-minute call about lot size, problem spots and timing turns into a booked treatment far more often than a page visit does. So when a post says “brown patch spreads fast in humid weeks,” the useful next step is a phone call.

In one month I published nine posts for that business. Eight carried Call now. One pointed at the website. That mix was a choice, and I’ll come back to what it did to the numbers.

When Learn more is the right pick

The roofing contractor is the opposite case. Nobody books a roof replacement off a 250-character post. They want to see the work, the materials and the process first. So the first set of seven posts I built for them each paired a real job photo with the matching service page: a commercial flat roof leak, a low-slope flat roof, a full re-roof, attic insulation, windows, a metal bay roof and chimney flashing. Every one of them carries Learn more, linked to that page.

The page then has to do the selling, which is why the roofing SEO and construction SEO work starts with the service pages. A Learn more button pointing at a thin page wastes the tap.

When Book is the right pick

Only when the booking is real. If you’ve got an online scheduler for estimates or inspections that a homeowner can finish without calling, Book is the shortest path. If “booking” means a contact form that someone calls back tomorrow, it’s a Learn more in disguise, and the reader can tell. Google’s Performance help page also notes that its Bookings metric only counts bookings handled through a booking provider.

A simple split for most home-service profiles

Call now for anything seasonal, urgent or price-on-inspection. Learn more for project write-ups and high-ticket services where the page answers questions a call would otherwise have to. Book only for a real online scheduler. Then decide the monthly mix on purpose, because the mix shows up in the report.

What a Call Now Mix Does to Your Performance Numbers

Here’s the month I mentioned. Nine posts, eight with Call now. Over that month the profile’s calls doubled from 4 to 8. Direction requests hit 57, the best month the profile had recorded. Website clicks moved by one, down.

One month of posts: eight Call now, one Learn more, and what movedOne month, nine postsThe button mix, and the three numbers it movedBUTTON ON EACH POSTCall now (8)Learn more (1)PERFORMANCE, SAME MONTHCalls48, doubledDirections57best month on recordWebsite clicksdown by 1Illustrative. Anonymised client data.RamKrShukla.com
A lawn care profile in one month: eight of nine posts on Call now. Calls doubled, directions set a record, website clicks slipped by one. Illustrative. Anonymised client data.

If you only looked at website clicks, you’d call that month flat or slightly worse. It wasn’t. Readers who might once have tapped through to the site were handed a phone button instead, and some of them used it.

Google’s Performance definitions are worth reading once, because they’re narrower than people assume:

  • Calls: “the number of times a customer clicked on the call button on your Business Profile.”
  • Website clicks: “the number of times people clicked on the website link on your Business Profile.”
  • Directions: “how many people asked for directions to your business.”

None of those three is a post metric. Google pulled per-post views and per-post button clicks in 2023. Search Engine Journal reports that post view counts started coming back in 2026, on each post card in the dashboard, but post button clicks haven’t returned. So you can see how many people saw a post. You can’t see which post produced which call.

Be honest about the size of the numbers, too. Going from 4 calls to 8 is a doubling, and it’s also four phone calls. It’s the direction of travel that matters here, alongside the record direction requests, more than any single figure.

Why the website-click dip isn’t a failure

Website clicks measure one route to a lead. Calls and directions measure two others. If you deliberately send more readers down the phone route, the website route gets quieter. Read the three together, with the month’s button mix written next to them, and the dip explains itself.

There’s a cost, and it’s worth naming. Every Call now post is a post that doesn’t send anyone to your site, so it does nothing for your page’s own engagement or for anyone who’d rather read before they call. That’s why I keep at least one Learn more in the month and don’t let Call now become the default by habit.

The Post Rules, Checked Against Google’s Own Pages

A lot of what circulates about post limits is copied from tool vendors. Here’s what I could confirm, and where.

RuleWhat it saysSource
Phone numbers in the textPosts with unverified contact details, phone numbers included, may be removed. Use the Call now button instead.Posts content policy
Text lengthThe editor caps the text at 1,500 characters. Google’s help pages don’t state the number, so treat it as the tool’s limit.Search Engine Journal
Photo format and sizeJPG or PNG, between 10 KB and 5 MB. Minimum 250 by 250 pixels, recommended 720 by 720.Business Profile photo guidelines
Photo qualityIn focus, well lit, “no significant alterations or excessive use of filters or AI.” The image should represent reality.Business Profile photo guidelines
How long posts showPosts older than six months are archived unless a date range is set.Create posts help page
SchedulingTurn on Schedule this post and pick a date and time.Create posts help page

The phone-number rule catches people because it feels natural to write “Call us at” and the number. Write “call us” in words and let the button carry the number. Google can count a button tap. It can’t count someone reading digits off a post.

What an audit of 67 live posts turned up

I audited every live post on the lawn company’s profile: 67 of them. 49 predated our first batch and 18 were ours.

  • None had phone digits in the text, and none had been rejected. Policy wasn’t the problem.
  • 28 of the 49 older posts used emoji and 30 used long dashes. Policy allows both. They still read like a template, and the owner’s own voice doesn’t sound like that.
  • The inherited posts averaged 541 characters. Ours averaged 479, and the latest set of five ran 250 to 263.
  • One offer post for a bundle discount had no button and no link. It announced a deal and gave the reader no way to claim it.

That last one is the most expensive mistake on the list, and it’s the easiest to miss, because the post looks fine on screen. Open each offer post and check there’s a button and somewhere for it to go.

Write the Text for the Button You Picked

Post text that was written for Learn more often ends with “read the rest on our site.” Swap the button to Call now and that line is dead weight, because there’s no site link any more. It comes up whenever a lawn post drafted for Learn more gets switched to Call now. The fix was to rewrite the last line so it gives a reason to phone: what you’ll find out on the call, or how soon someone can come out.

A few habits that hold up across both clients:

  • Lead with the problem the homeowner can see. Only the opening line or two shows before the reader expands the post, so the hook goes first.
  • Keep it short. You’ve got 1,500 characters and you shouldn’t use them. The last set of lawn posts ran 250 to 263 characters, 43 to 49 words each.
  • Don’t repeat yourself across posts. I check that no two posts in a set share a run of six words. Repeated stock phrasing is the quickest way for a feed to look automated.
  • No digits, no URLs in the body, no shouting capitals, no emoji. The button does the work.
  • Match the claim to the page. For Learn more, every promise in the post must appear on the page it links to. More on that below.

Photos: Real Jobs, Shot in the Right Season

Google’s photo guidance says images should represent reality, with no significant alteration or heavy use of AI. For a home-service business that rules out two shortcuts people reach for: stock photos and generated images.

I learned this one the slow way. In an early lawn batch, three posts were illustrated with AI-generated images. We pulled all three before they went out. The stock crops that had been lined up for two other topics failed the same test. The listing is the company’s main source of leads, and trading a policy risk on it for one illustration is a bad deal. The owner also notices: he’d already rejected an earlier disease photo for the milder fault of not matching the copy.

The roofing contractor had the same trap in a different shape. Their local image folder was mostly generated pictures. The real job photos were in a shared drive, sorted by project, and those are the only ones we used. One insulation photo shows a person, so it’s flagged for the owner to confirm the person is crew and happy to appear before that post goes out. That’s covered in more depth in the sibling guide on contractor project pages and job photos.

The season has to match, too

Every frame in the lawn company’s photo library came from a single shoot in late spring. That’s great for summer posts. It’s useless for fall and winter ones.

A winterizing post went into review with a hero image of a bright green lawn and shrubs in full leaf. Its alt text read “dense lawn against a clipped shrub border,” which is accurate and gives no hint of the season. The alt text passed. The picture didn’t.

So open the actual image before you write the caption. Filenames and alt text won’t tell you the season. If you don’t have a seasonal photo, you’ve got three honest options:

  • ask the owner or a crew lead for one phone photo while the problem is still visible (summer damage in late September, leaves in November),
  • rewrite the post so the photo you do have agrees with it,
  • or hold that post and publish the rest of the set.

Cadence and Seasonal Topics

Google doesn’t publish a recommended frequency. What I do is one to two posts a week per profile, timed to what homeowners are dealing with that week. The lawn company ran nine posts in one month. The roofing contractor’s first set was planned as two posts on day one, then one a day at 9 a.m. local time.

Because posts archive after six months, there’s no point stockpiling evergreen posts. Seasonal posts work better anyway, because they match what people are searching for right now. Here’s a starting calendar for the two trades I work in. Adjust it to your climate.

Spring

Lawn and mosquito: pre-emergent weed control, first mosquito treatment, thin patches after winter.

Roofing and exteriors: storm and hail damage checks, gutter clean-outs, inspection before summer heat.

Summer

Lawn and mosquito: brown patch and other heat-and-humidity disease, mosquito peaks, watering advice.

Roofing and exteriors: storm response, attic heat and insulation, flat roof leaks after heavy rain.

Fall

Lawn and mosquito: aeration and overseeding, leaf load on the lawn, mushrooms after a wet week.

Roofing and exteriors: gutters and leaves, roof check before winter, window and siding upgrades.

Winter

Lawn and mosquito: dormancy, planning next year’s program, early booking for spring.

Roofing and exteriors: ice and wind damage, chimney flashing leaks, planning a spring replacement.

Pick the button per topic, not per season. A brown patch post wants Call now. A post about how aeration works might want Learn more if you’ve got a good page on it.

The Scheduling Time Zone Trap

This one cost me two posts at the wrong time in a single sitting, so it gets its own section.

The Schedule this post field reads the time in your browser’s time zone. The business’s own zone doesn’t come into it. My browser runs on India time. The lawn company’s clock was 9 hours 30 minutes behind mine that month. I typed 9:00 AM, meaning 9 a.m. for the business. Google stored it as 9 a.m. my time, which was 11:30 p.m. the previous evening for the business.

How a 9 a.m. post went out at 11:30 p.m. the night beforeThe 9 a.m. post that went out at nightThe scheduler reads the clock on your own computer1. WHAT I TYPED9:00 AM, meant as business time2. WHAT GOOGLE STORED9:00 AM browser time (03:30 UTC)3. WHEN IT WENT LIVE FOR THE BUSINESS11:30 PM, the evening beforeFix: convert to browser time before you type, pick thetime from the list, and read the stored time back.Illustrative. Anonymised client data.RamKrShukla.com
The editor showed 9:00 AM the whole time. The stored value said otherwise. Illustrative. Anonymised client data.

The second failure was worse. On the next attempt I typed the converted time, 6:30 PM. The field displayed 6:30 PM. Google stored the right date with the time at midnight browser time, which landed mid-afternoon the previous day for the business. The time had never committed. No dropdown list had opened, and that’s exactly when the value gets lost.

So the field has two failure modes, and both look fine on screen. Here’s what works:

  • Convert first. Work out the business time you want, then convert it to your browser’s time zone. Check whether daylight saving is in force on both sides, because the gap shifts by an hour twice a year.
  • Pick the time from the list. When the time field is focused, a list of times should open. Click the matching entry. If no list opens, don’t trust what you typed.
  • Set the time last. Changing another field afterwards can clear it. Setting the button link after the time wiped it once for me.
  • Read it back. After scheduling, open the post in the Posts list and confirm the stored date and time, converted back to the business’s zone. The dialog’s own display shows the time it assumed, so it looks right even when it isn’t.

For the roofing contractor, the first scheduled post went in at 6:30 PM browser time for a 9 a.m. local slot. I picked the time from the list, and the field read back correctly before I clicked Post.

Check the Landing Page Before a Learn More Post Goes Out

A Learn more post makes a promise in 250 characters, and the page has to keep it. When I checked the roofing set against its pages, two things came up.

  • The re-roof post said “written estimate.” The page said “free next-day estimate.” Small, but it’s the kind of mismatch an owner spots and a homeowner quotes back on the phone. We changed the post to match the page.
  • The metal bay roof post linked to the metal roofing page, which never mentioned bay window or porch roofs. The landing match was weak. The fix is either a short section on the page or accepting a looser match, and that’s the owner’s call.

If the page is the weak link, fixing it does more than any post tweak. The same logic is behind the anatomy of landing pages that convert, and the sibling guide on finding missing service pages in Search Console covers what to build when there’s no page to link at all.

Do Google Business Profile Posts Help Ranking?

Probably not directly. The best public test I know is from Sterling Sky: three inactive listings, weekly posts for nine weeks, 441 keywords tracked per location. They found no measurable ranking change from posting.

I haven’t run a controlled test of my own, so I won’t claim more than that. What I’ve seen is that posts work on the people already looking at the profile. They show the business is active, they put a seasonal reason to call in front of someone comparing three listings, and the button gives that person a one-tap next step.

If you want the profile to rank, the bigger levers are categories, reviews, service pages and consistent details, which the GMB SEO guide covers. For businesses with several branches, each one needs its own profile and its own posts; see multi-location SEO without duplicate pages.

How to Report GBP Posts Honestly to an Owner

The people reading these reports run lawn crews and roofing jobs. They aren’t marketers, and they’ll read a falling line as a problem unless you explain it before they ask.

For the lawn company’s monthly report, the GBP slide put the button mix right next to the three numbers: eight of nine posts on Call now, calls up from 4 to 8, a record 57 direction requests, website clicks down one. The website-click line was presented as the trade it was. A lawn quote starts with a conversation, and that month we deliberately sent more people to the phone.

A few rules I follow when writing that slide:

  • Show the mix with the metrics. “8 of 9 posts used Call now” belongs on the same slide as the calls figure. Without it the owner can’t connect cause and effect.
  • Say what you can’t see. Performance doesn’t tell you which post produced which call. Say so plainly, once, and move on.
  • Keep the numbers small and real. Four extra calls is four extra calls. Don’t turn it into a percentage headline.
  • Explain inherited problems without blame. If you take over a profile with emoji-heavy posts or a dead offer post, say what you found and what you’re fixing. Leave it there.
  • Don’t turn the report into a list of the owner’s shortcomings. Frame the next fix as work you’ll do.

The general version of this, for any channel, is in how to read a report without being fooled by vanity metrics. The GBP version is simpler. Put the cause next to the effect.

How to Run a GBP Post, Step by Step

This is the routine I use for both businesses, in the order the mistakes above taught me.

1
Decide what the reader should do next

For each post, ask what action turns the reader into a job. A call for urgent, seasonal or quote-first work. A page visit for bigger jobs that need explaining. An online booking only if you really take bookings online.

2
Pick the one button that does it

Choose Call now, Learn more or Book. Call now uses the verified profile number and needs no link. Every other button needs the URL of a page that matches the post.

3
Write the text to fit the button

Put the hook in the first line, keep the post around 250 characters, and end with a reason to tap that matches the button. No phone digits, no URLs and no emoji in the text.

4
Choose a real photo from the right season

Use your own job photo, JPG or PNG, at least 720 by 720 pixels where you can. Look at the picture itself and make sure the season and the problem match the copy.

5
Check the landing page backs every claim

For Learn more or Book, open the linked page and confirm every promise in the post appears there in the same words.

6
Schedule in the business’s time zone and read it back

Convert the business time to your browser’s time zone, pick the time from the list, set it last, and confirm the stored date and time in the Posts list after saving.

7
Report the mix next to the numbers

Each month, show how many posts used each button alongside calls, directions and website clicks, so the owner can see why each line moved.

Google Business Profile Posts FAQ

What buttons can a Google Business Profile post have?

Six: Book, Order online, Buy, Learn more, Sign up and Call now. Each post can carry only one. Call now dials the phone number on your profile, and every other button opens a link you choose.

Does the Call now button use my main business number?

Yes. Google’s posts policy says it uses your verified Business Profile phone number, so there’s nothing to set up and no link to add. If you want a different number on the button, change the profile number itself.

Why did my website clicks drop after I started posting?

Check your button mix first. If most posts carry Call now, readers who would have tapped through to your site get a phone button instead. In one lawn care month with eight of nine posts on Call now, calls doubled and website clicks slipped by one. Read calls, directions and website clicks together.

Do Google Business Profile posts help ranking?

Not in any way that’s been measured. A public test of weekly posting on three listings over nine weeks found no ranking change. Posts help the people already looking at your profile decide to call, and that’s the reason to keep them going.

Can I put my phone number in a Google Business Profile post?

Don’t. Google’s posts policy says posts with unverified contact details, phone numbers included, may be removed. Write call us in words and add the Call now button, which Google can count.

What size should a Google Business Profile post photo be?

Google’s photo guidelines ask for JPG or PNG between 10 KB and 5 MB, at least 250 by 250 pixels, with 720 by 720 recommended. Use your own job photos, in focus and well lit.

Can I use stock or AI images in Google Business Profile posts?

It’s a risk to the listing. Google’s photo guidelines say images should represent reality, without significant alteration or excessive use of AI. For a home-service business, a real phone photo of the job is safer and more convincing.

How often should a home-service business post on Google Business Profile?

Google doesn’t set a number. One to two posts a week, tied to what homeowners are dealing with that season, is a pace most owners can keep up with real photos. Posts archive after six months, so there’s little value in stockpiling them.

Related reading

The wider profile work: local and GMB SEO for service businesses. For contractors: project pages and job photos and roofing SEO. For several branches: multi-location SEO. If you want a hand with your profile, posts or reporting, see my local SEO services or get in touch.

RS

Written by Ram Kr Shukla

SEO and growth consultant with 20+ years in SEO and growth and 50+ brands, working as a consultant or Fractional Chief Digital Officer. Google Analytics and Google Ads certified. Runs Google Business Profile posting and reporting for US home-service businesses, including a lawn care and mosquito control company and a roofing and exteriors contractor.

Client Results, Not Claims

5x D2C revenue in 18 months via SEO
10x SaaS trials, zero new blog posts
120K Monthly organic visitors from zero

Free Resource

Steal My 40 Point SEO Audit Checklist

The exact list I run on every paid audit. Score your site in 30 minutes.

Get the checklist →

Is your site invisible to AI search?

Ask ChatGPT to recommend brands in your category. If you are not the answer, we should talk.

Book a Free Strategy Call