Google Ads
This is the complete guide: setting up the ads themselves, connecting them to Passport, and working the guests who arrive. Most churches can run Google search ads for free — see the Ad Grant below — which makes this the cheapest channel in this documentation and usually the one to start with.
Google is different from Facebook in a way that matters. Facebook interrupts somebody who was not thinking about church. Google answers somebody who typed "churches near me" at 11pm. The second person is further along, and you should talk to them differently.
What you need
- Admin access in Passport
- A Google Ads account
- Your Plan Your Visit page set up — it is already live, and it is where your ads should send people
:::note Automated texts need Plus Guests will appear in your list on any plan. Automated texts and emails require Plus or Pro. On the basic plan your team still gets a follow-up task for every guest — the reminders just are not sent for you. :::
Part 1 — Set up the advertising
Step 1: Apply for the Google Ad Grant
Do this before anything else. Google Ad Grants gives registered nonprofits — including most churches — $10,000 per month of search advertising at no cost.
- Register at Google for Nonprofits with your 501(c)(3) determination letter (or your country's equivalent).
- Once approved, request Google Ad Grants from the nonprofit console.
- Submit your Google Ads account for review.
Approval takes a few days to a few weeks. It is worth the paperwork: it is the difference between spending your outreach budget on advertising and spending it on people.
The grant has rules you should know before you build campaigns:
| Rule | What it means in practice |
|---|---|
| $2 maximum cost-per-click | You will not win the most competitive commercial keywords. For church searches, this rarely matters |
| Search ads only | No display, no YouTube, no Gmail ads. Those need a paid account |
| 5% click-through rate minimum | Sustained under 5% for two months and the account is suspended. Tight keywords, not broad ones |
| No single-word keywords | "church" is not allowed. "church near me in Austin" is |
| Must point at your own website | Your Plan Your Visit page qualifies |
:::tip You can run both A grant account and a paid account can run at the same time for the same church. Many churches use the grant for search and a small paid budget for Facebook. :::
Step 2: Create the campaign
- In Google Ads, select Campaigns → New campaign.
- Choose the Leads objective.
- Choose Search as the campaign type. (On a grant account this is your only option.)
- Name it something you will recognise in a report six months from now —
Search — Near Me 2026, notCampaign 1. Passport groups your results by this name. - Set your budget. On a grant account, set the daily budget to $329 — that is the $10,000/month grant spread evenly, and unspent grant money does not roll over.
- Set bidding to Maximize conversions if you have conversion tracking, otherwise Maximize clicks with a $2.00 cap.
Step 3: Choose keywords
The whole game on Google is matching what somebody actually typed.
Start with these. They are the searches of somebody who is looking, right now:
churches near mechurch in [your town][your denomination] church [your town]christmas eve service [your town]easter service near mechurch with childcare [your town]
Add what people search when life goes wrong. These are lower volume and far higher intent — somebody searching them is not comparison shopping:
grief support [your town]marriage counseling [your town]food pantry near meAA meetings [your town]
Only run these if you genuinely offer the thing. An ad that promises support you do not have is worse than no ad.
Use phrase match, not broad match. In the keyword box, put your keyword in quotes — "churches near me". Broad match on a grant account is the fastest route to a click-through rate below 5% and a suspended account.
Add negative keywords immediately. Under Keywords → Negative keywords, add: jobs, hiring, salary, wedding venue, rental, history of, bible verse, sermon pdf. These are people who will never visit, and every one of their clicks drags your rate down.
Step 4: Write the ads
Google shows headlines and descriptions in combinations, so write pieces that work in any order.
Headlines (30 characters each, write at least 8):
Churches Near YouSundays at 10amVisit This SundayKids Programs Every WeekNew? Start HerePlan Your Visit[Your Church Name]In the Heart of [Town]
Descriptions (90 characters each, write at least 4). Answer the question behind the search — will I be alright there?
Come as you are. Plan your visit and we'll save you a seat and show you where to park.Tell us you're coming and someone will meet you at the door on Sunday morning.Kids ministry for every age. Check-in opens 20 minutes before the service.
Final URL: your Plan Your Visit page — https://yourchurch.passport.church/visit/your-slug.
Use the tracking template Passport gives you (Admin → Settings → Visit Page → Share it) so the Insights tab can tell Google traffic apart from everything else.
Step 5: Add the lead form asset
This is the piece that connects to Passport. It lets somebody give you their details without leaving the search results.
- Open your campaign → Assets → Add asset → Lead form.
- Headline and description: say what happens next. "Tell us you're coming" / "We'll text you the details and save you a seat."
- Questions: ask for as little as you can bear.
Passport recognises these automatically:
| Ask for | Passport does |
|---|---|
| Name (or first + last) | Creates the guest, or matches an existing one by phone |
| Phone number | Records it, and records consent to contact |
| Records it | |
| A date question — "Which Sunday?" | Creates a planned visit, if it is a Sunday you hold a service |
Anything else you ask is saved as a note on that guest's record so your team reads it when they follow up.
- Call to action: Get info or Sign up.
- Privacy policy URL: required by Google. Use your church's.
- Completion: send them to your Plan Your Visit page.
Leave the asset open — the next step is inside it.
Part 2 — Connect it to Passport
There is no account to connect and nothing to approve. You paste two values into the lead form and you are done, usually inside five minutes. This is the fastest integration in Passport.
Step 6: Paste in the webhook
- In Passport, open Admin → Settings → Ad Platforms.
- Copy the Webhook URL and the Key.
- Back in your Google lead form asset, scroll to Lead delivery options and expand Webhook integration.
- Paste the Webhook URL into Webhook URL, and the Key into Key.
- Select Send test data. Google should report success.
- Save the asset.
:::note The test does not create a fake guest Google's Send test data button sends a marked test payload. Passport validates it and reports success without creating a person — so you can check the connection without cleaning up afterwards. :::
Your key is yours alone
The key is unique to your church. Google sends it with every lead so Passport knows the lead belongs to you and not to some other church. A lead arriving with the wrong key is rejected.
Keep it out of screenshots and shared documents, the same as any password. If you need it changed, contact support.
Step 7: Check it is actually working
The Ad Platforms tab shows Last lead once one has arrived. If it stays empty after a day of a live campaign:
| Check | Where |
|---|---|
| Is the lead form actually attached to a running campaign? | Google Ads → Assets |
| Did the test send succeed? | The lead form asset → Send test data |
| Are the URL and key exactly as shown, with no trailing spaces? | Compare against the Ad Platforms tab |
| Has anyone actually submitted? | Google Ads → Assets → your lead form → Download leads |
Part 3 — Using it inside Passport
What Passport does with a lead
| Google sends | Passport does |
|---|---|
| Name | Creates the guest, or matches an existing one by phone |
| Phone / email | Records it, and records consent to contact |
| A date question, if you added one | Creates a planned visit — but only for a service you actually hold |
gclid (the click id) | Stores it, so this lead can later be reported back to Google as a conversion |
| Any other question | Saves the answer as a note on the guest |
Why the date sometimes does not become a planned visit
Google lets a guest type any date. If it is not a date you hold a service on, Passport deliberately creates no planned visit rather than a wrong one — a plan for a Tuesday would sit in your Sunday list forever without ever resolving. The guest still gets the journey, and its first message invites them to pick a real service on your Plan Your Visit page.
Where your guests appear
People → Visitors. Four tabs:
Today — who is coming to this Sunday's services, with their name, how many people they are bringing, and their children's ages so the kids team can have the right rooms ready. Tap Arrived when you meet them.
Pipeline — everyone in the funnel, from invited through to connected.
Needs attention — the one to work. Guests who missed a visit, went quiet, or that nobody has spoken to. Sorted with the most neglected first.
Insights — what each channel costs and how fast your team is actually reaching people. See Guest Funnel analytics.
What happens automatically
Every lead enters the Before their visit journey: a confirmation, a reminder, and a follow-up task for your team. You can see and change all of it under Admin → Settings → Guest Journeys — see Guest journeys.
Three limits worth knowing on day one, all adjustable under Admin → Settings → Guest Guardrails:
- Nothing sends outside 9:00am–8:30pm in your church's local time. You can narrow that window but never widen it past 8:00am–9:00pm.
- No more than 4 automated messages to one person in any 7 days.
- No more than 150 automated messages church-wide in a day. If your form gets flooded, it does not become a bill. Passport emails you the day you hit it.
The one thing that matters most
Somebody from your church speaking to them, personally, within 48 hours.
This is truer on Google than anywhere else. Somebody who searched "churches near me" is searching your competitors too — they are comparing, tonight. The automated text buys you a day. A human being is what decides it.
What is not built yet
Two things on the Google side are not available:
- Spend figures. Reading what your campaigns cost requires the Google Ads API, which needs a developer token Google approves separately. Until then, Insights shows your Google guests but not your Google cost-per-guest.
- Reporting attendance back to Google. Telling Google which leads actually turned up — so its bidding optimises for people who come rather than people who fill in forms — needs the same approval.
Passport is already storing the click ids these need, from the first lead you receive. That part cannot be recovered later, so the data is accumulating now and nothing is lost by the reporting arriving afterwards.
In the meantime, the closest equivalent is in Google Ads itself: import conversions manually from Tools → Conversions, or judge campaigns on the guests that actually showed up in Passport's Insights tab.
Turning it off
Remove the webhook URL and key from the lead form asset in Google Ads and save. New leads stop arriving. Guests already in your list, their planned visits and their journeys are unaffected.
Next steps
- Run the other half — Facebook & Instagram Ads reach people who are not searching yet.
- Point them somewhere good — Ads are only as good as the Plan Your Visit page they land on.
- Find out if it worked — Guest Funnel shows cost per visitor who actually turned up.