Built for Planning Center Churches

Your Church Calendar...
Beautifully Embedded

One script tag connects your Planning Center events to any website. Live data. Six layouts. Service times in your own timezone, automatically. Works on Squarespace, WordPress, Wix, or raw HTML... no developer required.

No credit card required  ·  Free plan available  ·  2-minute setup

Works on

The Feature Nobody Else Has

"This Week's Services" Mode

Your church homepage should always answer one question... "What's happening this week?" PCOWidget's Simple layout does exactly that. Clean tiles. Live data from Planning Center. Sermon title pulled right from your PCO event notes. And that's just one of six layouts... use the monthly grid for your events page, cards for a ministry section, image tiles for a dense "what's on" block, or list view anywhere that needs a compact feed.

  • Shows this week's events automatically... always current
  • Finished events take themselves down. Nobody has to remember to remove last Sunday's event or add next month's... the page follows Planning Center
  • Sermon title displayed automatically. PCO has no sermon title field, so just write sermon: Your Title anywhere in your PCO event notes and it appears on your site
  • Filter by ministry tag... Worship, Youth, Outreach, any tag you already use in PCO
  • 1 to 8 columns... matches any page width
  • Navigate week by week or lock to today's rolling window
This Week's Services  ·  Live
Traditional Worship
Grace and Peace
Sun, Mar 8
9:00 AM – 10:30 AM
Contemporary
Grace and Peace
Sun, Mar 8
11:00 AM – 12:30 PM
Midweek Prayer
Wed, Mar 4
6:30 PM – 7:30 PM
Youth Group
Sun, Mar 8
5:00 PM – 6:30 PM

Built-in Event Popover

Every Event. Full Details. One Click.

Visitors click an event and a rich detail card appears instantly: event photo, date, time, location, ministry tag, and full description. No page reload. No popup blocker.

Live widget... click any event below to see the popover in action

0
PCO churches to reach
6
Beautiful layouts
1
Line of code to embed
1 min
From PCO to your website

Get Up and Running

Set Up in Under 2 Minutes

No developer. No plugin. No build step. Just three straightforward steps and your live calendar is live.

Connect Your PCO Account

Sign up and click Connect with Planning Center. You approve access on Planning Center’s own sign-in page, so we never see your password, and the connection is stored encrypted... it never leaves our servers.

Receive Your Embed Key

We generate a unique API key tied to your church and your allowed domains. Your key only works on websites you authorize... nobody else can use it.

Paste One Line of Code

Drop the script tag into your website's HTML... a Squarespace Code Block, a WordPress Custom HTML block, or directly in your page. Add data-* attributes to choose a layout, filter by tag, set columns, and more. Your live calendar appears instantly.

<script src="https://api.pcowidget.com/v1/calendar-widget.js?key=YOUR_KEY" data-layout="simple" data-this-week="1" data-columns="2" data-tag="Worship" data-title="This Week's Services"> </script>

Everything You Need

Packed with Features... Ready Out of the Box

Live PCO Sync

Your events are read from Planning Center as visitors load your pages. Add an event in PCO... it’s on your website within about a minute. No nightly sync, no 24-hour delay.

Nothing Left to Take Down

Somebody used to have to remember to pull last month's retreat off the homepage, and add the fall kickoff to the youth page, and check whether the men's breakfast was still listed. That job is gone. Every page reads from Planning Center, so an event appears when it's scheduled and drops off on its own once it's over. Nobody logs into the website. Nobody edits a page. Your PCO calendar is the website.

Six Beautiful Layouts

Service Tiles, Image Tiles, Event Cards, List View, Monthly Grid, and Week Strip. Choose the right layout for every page on your site... mix and match freely.

Works Everywhere

Squarespace, WordPress, Wix, Webflow, or hand-coded HTML. If a page can run JavaScript, it can run PCOWidget. No plugins or backend required.

Mobile First

Every layout is fully responsive and specifically tested on phones and tablets. On small screens, the calendar grid collapses to dot indicators so nothing ever feels cramped.

Click-to-Details Popover

Clicking any event opens a full-detail modal... image, time, location, description, and "Add to Calendar" link. No page navigation. No popup blockers. Works in Squarespace.

Sermon Title on Recurring Events

Your “Traditional Worship” event recurs every week in PCO. The event stays the same, but the sermon title changes. Just write sermon: Your Title anywhere in the PCO event notes and PCOWidget surfaces it on your site automatically. Update it once in PCO... it appears everywhere the widget is embedded.

Auto-Colored by Ministry Tag

Tags named Worship Services, Youth, Children, Outreach and Adult Discipleship get their own colours in the month grid and on tag chips: blue, purple, amber, pink and green. Every other tag uses your brand colour. An event with several tags shows each one as a chip. Nothing to configure... name the tag in PCO and the colour follows.

Built-in View Switcher, Show or Hide

The widget includes a view toolbar: Month grid, Week strip, List, and Cards, plus Tiles on an embed that starts there. Visitors switch perspectives without a page reload. Want a single locked view with no toolbar? Choose the Simple layout or any layout without navigation and the switcher stays out of the way.

Registration Links & iCal

If a PCO event has a registration URL, the widget links to it automatically: on the card, in the list row, and in the popover. Add to Calendar exports a .ics file compatible with Google Calendar, Apple Calendar, and Outlook. Zero setup.

Past Events, Your Call

By default the widget shows only upcoming events, so your homepage is never cluttered with things that already happened. Add data-include-past="true" on a dedicated archive page to show what’s already taken place: ministry recaps, past sermon series, small group history. Clean by default. Open when you want it.

data-* Attribute API

Filter by PCO tag. Show only featured events. Set 1 to 8 columns. Pick a shadow color. Override the heading. Enable week navigation. Mount into any element. Every option lives on the script tag itself... no dashboard login, no config file.

Looks Like Your WebsiteNew

Pick your brand colour and the whole widget follows: buttons, date badges, times, today’s date and the event card, with hover and tint shades worked out for you. Use your website’s own font, switch to dark mode for a dark website, drop the card so the calendar sits right on your page, square the corners, or make the text larger. Set it all with a colour picker and a live preview in the Widget Builder. Included on every plan.

Change or Fix the Widget You HaveNew

Paste the widget already on your page into the Widget Builder and every setting fills in to match it. Change the one thing you want, watch the live preview, and copy the new code. Widget not behaving? The same box points out anything misspelled or set to a value the widget cannot read, and fixes it in one click.

Weekly Events, Shown OnceNew

The men’s group meets every Thursday. Across a four-month window that is sixteen copies of the same tile, and the Christmas concert gets lost among them. Add data-first-only="Men's Ministry" and each repeating event shows once, at its next date, with a “+3 more dates” note. A one-off event under the same tag still shows on its own. Use data-first-only="all" to apply it to every repeating event.

Never an Empty CalendarNew

It’s the 28th, the next event is nine days out, and your calendar page is a blank box. Add data-auto-advance="2" and the widget skips ahead to the next month that actually has something, heading and all. Or write your own message with data-empty-message. Or hide the widget completely with data-hide-if-empty. Your page, your call.

One Widget, Every CampusNew

Give each campus its own page without keeping three calendars. Add data-campus="Downtown" and that page shows only Downtown’s events. Name two and it shows both. Leave the attribute off entirely and every campus shows, which is exactly what a single-campus church wants and never has to think about. Events you have not tagged with a campus are your churchwide ones, so data-campus-untagged="1" keeps the Christmas Eve service on all of them.

Tidy TagsNew

An event carrying eight Planning Center tags turns a card into a wall of chips. data-show-tags="Campus" keeps the one tag group that matters and hides the rest, and a campus you add next year shows up on its own. Filtering which events show and which tags show are two separate controls, so you can do either or both.

Your Draft Calendar Stays PrivateNew

Planning Center already knows which events are approved and which you’ve published to Church Center. The widget honors both, so tentative bookings, staff meetings, room holds, and anything still awaiting approval never reach your public page. Need to see the drafts? Put a second widget on a staff-only page with data-visibility="pending" and preview exactly how an event will look before you publish it.

Your Timezone, Not OursNew

A 9:00 AM service is 9:00 AM whether your church is in Sacramento, Tulsa, Denver, or Charlotte. PCOWidget reads the timezone already set on your Planning Center organization and shows every event in your own local time. Nothing to configure, no attribute to add, no offset to work out. Correct the timezone in PCO one day and the widget follows on its own.

Image TilesNew

A compact photo grid that sits between plain service tiles and full cards, about a third the height of a card. Click or tap a tile and the full event card opens in the center of the screen, or add data-hover-preview="1" to open it when the pointer rests on a tile. Events with no artwork in Planning Center get a colored panel and a calendar glyph, so a calendar that is light on photos still looks deliberate. Set it with data-layout="tiles".

Your Whole Month Shows UpNew

A busy church can put 80 or 90 events on a single month, and nothing gets quietly dropped off the end. The widget renders the full window it is displaying. Want something shorter on a homepage? data-rows="2" caps how far it runs down the page, or data-limit caps the event count outright. Trimming is your choice, never a surprise.

New Layout

Image Tiles: A Month at a Glance

Between the plain service tile and the full event card sits a third option. data-layout="tiles" renders your events as a compact photo grid, roughly a third the height of a card, so a whole month fits in the space a handful of cards used to take.

Live widget... hover or tap any tile below

Built for the Whole Church

One Widget. Every Ministry Page.

The same script tag powers every ministry section on your site. Change the tag filter, pick a layout, set your columns, and each page shows exactly what that ministry needs, all live from the same Planning Center account. Events can carry multiple PCO tags and all of them display as color-coded badges. The data-tag filter simply scopes which events the widget shows.

Women’s Ministry Page

Cards layout with 3 columns shows upcoming Bible studies, retreats, and fellowship nights, filtered to just the Women’s Ministry tag from PCO.

data-layout="cards" data-tag="Women's Ministry" data-columns="3" data-title="Upcoming Women's Events" data-limit="6"
Youth Group Page

List layout keeps it clean and mobile-friendly for teens browsing on their phones, with just Youth-tagged events with full details one click away.

data-layout="list" data-tag="Youth" data-title="Youth Group Events" data-featured="1" data-limit="8"
Kids Church Homepage

Simple tiles with week navigation, so parents can see this Sunday’s kids program at a glance and step forward to check upcoming special events.

data-layout="simple" data-tag="Kids" data-columns="2" data-this-week="1" data-allow-week-nav="1"
Homepage “What’s On” Block

Image tiles, four across and two rows deep. Eight events, every time... the same tidy block whether the month holds ten events or ninety. Hovering a tile opens the full card without leaving the page.

data-layout="tiles" data-columns="4" data-rows="2" data-title="What's Coming Up" data-hide-if-empty="1"
Downtown Campus PageNew

One campus page per campus, all from the same Planning Center calendar. Downtown’s page lists Downtown’s events plus anything churchwide; the Westside page is the same embed with one word changed.

data-layout="cards" data-campus="Downtown" data-campus-untagged="1" data-title="What's On at Downtown" data-columns="3"

All Configuration Options

Every setting lives on the script tag itself... no dashboard login, no config file, no developer required after initial setup.

data-layoutNew
table  |  list  |  cards  |  tiles  |  week  |  simple
Newtiles is a compact image grid that opens the full event card when a tile is clicked. The other five layouts are unchanged. Default: table
data-hover-previewNew
1
Tiles layout only. Set to 1 to also open the event card when the pointer rests on a tile. Default: off, a click or tap opens it
data-tag
tag name  |  tag1, tag2 (OR)
Filter to a PCO tag. Comma-separate for OR logic: data-tag="Youth,Women's Ministry" shows either tag.
data-campusNew
campus name  |  campus1, campus2 (OR)
Show only the events belonging to these campuses, matched against your Planning Center Campus tag group. Comma-separate for OR: data-campus="Downtown,Westside". Leave the attribute off and every campus shows. Default: all campuses.
data-campus-untaggedNew
true  |  1
Used with data-campus. Also keeps events that carry no campus tag at all, which for most churches means the churchwide ones, so they appear on every campus page. Default: off, which shows the named campuses only.
data-title
any string
Override the section heading shown above the widget.
data-columns
1 – 8
Number of tiles per row. Always applies in the simple layout, default 2, and in the tiles layout, default 4. In the cards layout it pins the grid when set, and the cards fit themselves to the container when it is left off. Every setting steps down on narrower screens.
data-limit
1 – 250
Maximum number of events to show. Default: no limit, so the widget shows the whole month or week it is displaying.
data-rowsNew
1 – 100
Maximum rows to render in the list, cards, tiles, and simple layouts, so a busy month does not run long down the page. A row is one event on list, and data-columns events wide on cards, tiles, and simple. Default: no limit
data-featured
true  |  1  |  false  |  0
Filter by featured status. true = featured only, false = non-featured only, absent = all events.
data-this-week
true  |  1
Rolling 7-day window from today. Always shows this week’s events without any manual updates.
data-allow-week-nav
true  |  1
Adds Prev / Next week navigation buttons so visitors can browse forward and back. Works on the simple layout, and on any layout set to data-this-week.
data-nav-align
left  |  center  |  right
Alignment of week navigation buttons. Default: center
data-include-past
true  |  false  |  1  |  0
Include events that have already ended. Default: false
data-hide-end-time
true  |  1
Show only the start time, hiding the “– 10:30 AM” portion. Useful for service tiles where end times add clutter.
data-hide-if-empty
true  |  1
Completely hides the widget, with no box, no message and no space, when zero events match the current parameters.
data-empty-messageNew
any text, up to 200 characters
Replace the default “no upcoming events” wording with your own. Not used when data-hide-if-empty is set, since nothing renders at all.
data-show-tagsNew
tag group name  |  tag name  |  0
Which tag chips are visible. Matches a Planning Center tag group or an individual tag, so data-show-tags="Campus" keeps the campus chip and hides the rest. Display only, it does not change which events appear. Default: all tags.
data-auto-advanceNew
1 – 6
If the month a visitor lands on has no matching events, skip ahead up to this many months to the first one that does. The heading follows the jump. Default: off.
data-months-aheadNew
1 – 12
Gathers every matching event from today out to this many months into one set and drops the month arrows. Answers “what is coming up” rather than “which month am I looking at”, which is what a home page usually wants. Pair it with data-tag and a row cap for a fixed-height strip. Works on list, cards, tiles and simple. Default: off.
data-first-onlyNew
tag names  |  tag group  |  all
Shows each repeating event once, at its next date, with a “+3 more dates” note, instead of every date. Name the tags it applies to, comma-separated, or use all. Works per event, so a one-off event sharing a tag with a weekly meeting still appears. Works on list, cards, tiles and simple. Default: off.
data-visibilityNew
published  |  approved  |  pending  |  rejected
How far down Planning Center’s approval and publish ladder to look. Each level adds to the one before it. Default: published, meaning approved and published to Church Center. The lower levels are for staff-only preview pages.
data-include-unpublishedNew
true  |  1
Shorthand for data-visibility="approved": adds events approved in Planning Center but not yet published to Church Center. Same staff-page caution applies. Use whichever of the two reads more clearly to you.
data-shadow
blue  |  burgundy  |  standard
Shadow tint of the widget’s outer card, on every layout. Default: blue, or your brand colour when data-accent is set
data-accentNew
a hex colour, e.g. #4a5a8c
Your brand colour, used everywhere the widget blue was. Hover, tint and readable text shades are worked out from it, so a light colour still reads. Default: the standard blue.
data-accent-hoverNew
a hex colour, e.g. #2f3d66
The exact colour buttons turn under the pointer, when the shade worked out from data-accent is not the one you want. Applies alongside data-accent or data-mode="dark". Default: worked out from your brand colour.
data-fontNew
inherit  |  a font name
inherit uses your website’s font. A font name uses that font if your site already loads it. Default: the widget font.
data-frameNew
flat  |  none
flat drops the shadow and keeps the border. none drops both and the background, so the widget sits directly on your page. Default: card with shadow.
data-cornersNew
square
Square corners throughout. Default: rounded.
data-text-sizeNew
large
Larger event names, times and titles. Default: standard.
data-modeNew
dark
A dark widget for a dark website, with your brand colour adjusted to stay readable. Default: light.
data-show-titleNew
0
Hide the heading above the widget when your page has its own. Default: shown.
data-target
any element ID
Mount the widget into an existing element on your page instead of rendering inline after the script tag.
data-askNew
1  |  data-ask-text="your wording"
With the CESai Events Assistant on your site, adds an "Ask about these events" button that opens it with a question about what the widget shows. Never appears on a page without the assistant.
data-profileNew
1
Filters to each visitor's own saved interests, campus and days, with a "Show all events" link. Their choices stay in their browser. Default: off, everyone sees the same events.
🛠 Build your script → View all examples → Full docs →

How We Stack Up

PCOWidget and the Alternatives

There are three other good ways to put Planning Center events on a website: Display.Church, PCO Embed, and Planning Center's own Church Center embed. All of them work. Here's what PCOWidget brings that's different, including a few things nobody else offers at all.

Feature PCOWidget Display.Church PCO Embed Church Center Embed
Starting price Free... Pro $12/mo $15/month+ $9.99/month Free
Live sync from Planning Center Within a minute 1-2x per day
Page-view limits None on Pro
Free plan: 500 widget loads a day
500-3,000 views by plan None None
Layout choices 6 + view switcher 5 to 8 views, by plan 3 3
Finished events drop off on their own The moment they end At next sync
Empty-month handling Only PCOWidget
Auto-advance to the next month with events, your own custom message, or hide the widget entirely
All three
"This Week's Services" mode Only PCOWidget
Sermon title on recurring events Only PCOWidget Automatic
Draft-event preview for staff pages Only PCOWidget
Configured right in the embed tag Only PCOWidget
20+ data-* attributes... no dashboard login to change a setting
Dashboard Dashboard Embed builder
Match your website’s look
Brand colour, font, frame, corners, text size
Every plan, in the embed tag Colours, fonts, borders, text size Limited Church Center theme colour
Paid Publishing plan
Dark mode Not documented for the embed
Show a weekly event once
Instead of every date
Chosen tags or all, with “+3 more dates” Merge recurring events Gallery view only
Filter by campus Through tag groups
Times in your church’s own timezone Automatic Visitor’s local time
Number of widgets Unlimited 10-30 per account, by plan
Works without publishing to Church Center Required

Competitor details are taken from each product's published pricing, help centre and documentation as of 30 September 2026. All three are solid tools, and Display.Church in particular supports calendar sources beyond Planning Center.

Straight From Churches

What It's Like Once It's Running.

PCOwidget has been an excellent solution for displaying our Planning Center Calendar on our website. It offers professional layouts, extensive customization, and easy event tag filtering. We can place a calendar on a ministry page and show only the events relevant to that ministry, keeping everything organized and easy to navigate. It’s by far the best way we’ve found to present Planning Center events on our public website. I highly recommend PCOwidget to any church using Planning Center!

Emmanuel Lutheran Church logo Randy Holdeman Director of Worship and Connection Groups, Emmanuel Lutheran Church

Using PCOWidget at your church? Tell us how it went.

Simple, Honest Pricing

Free to Start. $12 to Go Fully Yours.

Every feature is available on both plans, including full styling to match your website. The only difference is the small “Powered by PCOWidget” link on the free tier, which takes on your colours. Upgrade anytime to remove it and unlock unlimited domains.

Free
$0 /mo

All the features. Try it on your site today. No credit card.

  • All 6 layouts
  • Live PCO sync
  • Your church’s local time, automatically
  • Popover, iCal, tag colors
  • Sermon title extraction
  • Your colours, font and frame
  • 1 domain
  • “Powered by PCOWidget” link
Get Started Free

No setup fees. No contracts. Cancel anytime. Your widget keeps working even if you downgrade.

Your congregation deserves a calendar
that works as hard as you do.

Get started in minutes. Free plan available. No credit card required.

Questions

Frequently Asked

Is PCOWidget affiliated with Planning Center?
No... PCOWidget is an independent product built by Comp Edge Solutions. We use Planning Center's public API with your own PCO credentials. We are not affiliated with, endorsed by, or sponsored by Planning Center Online.
Does it work on Squarespace?
Yes... and it was specifically designed with Squarespace in mind. The event detail popover is mounted directly on the page body, which means it escapes Squarespace's container overflow restrictions. The CSS uses scoped class names that won't conflict with your Squarespace theme. Paste the script tag in a Code Block and you're done.
Can I make the widget match my website?
Yes, on every plan. Set your brand colour and the widget follows it throughout, with hover and tint shades worked out for you. You can also use your website’s font, switch to dark mode, remove the card so the calendar sits directly on your page, square the corners, enlarge the text and hide the heading. The Widget Builder has a colour picker and a live preview. On the free plan the small “Powered by PCOWidget” line stays visible and takes on your colour; the Pro plan removes it.
What happens when I change an event in Planning Center?
It appears on your website within about a minute. PCOWidget reads the Planning Center API as visitors load your pages... there’s no nightly sync and no “changes appear within 24 hours.” If you have just saved a change and it isn’t showing yet, give it a minute and reload.
Do I have to remove events from the website after they happen?
No, and for a lot of churches this is the whole reason they switch. Keeping a website's events current used to be an ongoing chore: pull the finished retreat off the homepage, add the new study to the women's page, notice three weeks later that a spring event is still sitting on the youth page. PCOWidget reads Planning Center on every page load, so a finished event stops appearing on its own and whatever is next moves up to take its place. Your staff keeps doing what they already do in PCO, and every ministry page on the site stays current without anyone opening the website editor. If you want an archive of what has already happened, that is what data-include-past="true" is for, on that one page.
Will event times show correctly for my church?New
Yes, and there is nothing for you to set. Planning Center already knows what timezone your organization is in, and PCOWidget reads that setting and shows every event in your own local time. A church on Central, Mountain, Pacific, Alaska, or Hawaii time sees its own service times, not Eastern times with an offset note bolted on. We re-check the setting against Planning Center periodically, so if you ever correct it in PCO the widget follows on its own. There is no timezone attribute to add to your embed code, and no support ticket to file.
Do I need a developer to set this up?
No. You copy one script tag and paste it into your website. On Squarespace, that means adding a Code Block. On WordPress, it means pasting into a Custom HTML block. On Wix, it means using their HTML embed element. If you can copy and paste, you can set up PCOWidget.
What's a "widget load" and will I ever hit a limit?
A widget load is counted each time the widget fetches events from our server, roughly once per visitor per page view. The free plan allows 500 widget loads in any 24 hours, which covers most small and midsize church websites. The Pro plan has no limit. We email you when your site passes 80% of that, and again if it reaches the limit, when its widgets pause until the 24-hour count drops back under. A church website with heavy traffic should be on Pro.
Can I put multiple widgets on the same page?
Yes. You can embed multiple instances with different layouts and filters on the same page. For example... a "Simple" tile widget showing this week's services at the top, and a full monthly grid further down. Each counts as a separate widget load.
What can I configure without touching my website code again?
Quite a bit... all through data-* attributes right on the script tag. Choose from six layouts: simple service tiles, image tiles, event cards, list view, monthly grid, or week strip. Filter to a specific PCO ministry tag. Show only featured events. Set 1 to 8 columns, and cap how many rows the widget renders so a busy month never runs long down the page. Pick a shadow color (blue, burgundy, or standard). Override the section heading. Enable week navigation with prev/next buttons. Mount the widget into any existing element on your page. Choose which tag chips stay visible. Write your own wording for when nothing is scheduled, or have the widget skip ahead to the next month that has events. Point a staff-only page at the events you have not published yet. Show a weekly event once instead of every date. Match the widget to your website with your brand colour, your site’s font, dark mode, a frameless or square-cornered look, and larger text. You can even run multiple widgets on the same page with completely different settings... no dashboard login required to change any of it.
Is my PCO data secure?
Yes. When you click Connect with Planning Center, you approve access on Planning Center’s own sign-in page, so we never see your password. The access tokens Planning Center issues (or an App ID and Personal Access Token, on older accounts) are stored encrypted using AES-256-CBC and only decrypted on our server when calling Planning Center. Your credentials are never exposed in the JavaScript that runs in visitors' browsers... they see only the rendered event data.
Why is one of my Planning Center events not showing on the widget?New
The widget shows only events that are approved in Planning Center and published to Church Center. If an event is missing, open it in PCO Calendar and check both. Either one will keep it off your website, which is deliberate: it is what stops tentative bookings, room holds, staff meetings, and anything still waiting on approval from appearing in front of your congregation. If your church does not use PCO's approval workflow at all, only the publish setting matters. To see what is being held back, put a second widget on a staff-only page with data-visibility="pending".
Can I preview an event on my site before it goes public?New
Yes. data-visibility lets a second widget on a staff-only or password-protected page show the levels underneath what the public sees: approved adds events you have not published yet, pending adds events awaiting approval, and rejected shows your entire calendar. Your team can check exactly how an event will look, with its real image, tags, and times, before anyone else can see it. Your public page keeps its default of published events only. Do not put anything other than the default on a page visitors can reach.
We are a multi-campus church. Can each campus page show only its own events?New
Yes. Add data-campus="Downtown" and that page shows only Downtown’s events. Comma-separate to show more than one: data-campus="Downtown,Westside" shows either. Leave the attribute off and you get every campus, so a single-campus church never has to set it and nothing about an existing embed changes. Matching is case-insensitive and works off the Campus tag group you already keep in Planning Center, so a campus you add next year works the moment you tag an event with it. One thing worth deciding: events that carry no campus tag at all. For most churches those are the churchwide ones, and data-campus-untagged="1" keeps them on every campus page, so the Christmas Eve service still appears everywhere. Left off, a campus page is strict and shows only what is tagged for it. Not set up for campuses yet? Add them in your Planning Center account settings and Planning Center builds the Campus tag group in Calendar for you (their guide to campus tags), then see our multi-campus walkthrough.
My events have a lot of Planning Center tags. Can I hide some of them?New
Yes. An event carrying six or eight tags turns a card into a wall of chips and pushes the title and details down the page. data-show-tags is a whitelist for what stays visible. It matches a Planning Center tag group or an individual tag name, so data-show-tags="Campus" keeps your campus chip and hides everything else, and a campus you add next year appears on its own with no change to your embed code. Use data-show-tags="0" to hide tag chips entirely. This is display only: it never changes which events appear. To filter the events themselves, use data-tag.
What does the widget show when there are no events this month?New
You have three choices. By default it shows a short "no upcoming events" message, and you can replace that wording with data-empty-message. data-hide-if-empty removes the widget entirely, leaving no box and no blank space. Or data-auto-advance="2" skips ahead to the next month that does have events, up to two months out, with the heading following the jump. That last one solves the late-in-the-month problem: it is the 28th, your next event is nine days away, and instead of an empty box a visitor sees what is actually coming up.
What is the Image Tiles layout, and what happens to events with no photo?New
data-layout="tiles" renders your events as a compact photo grid: artwork on top, the event name on up to two lines, then the date and time. Each tile is about a third the height of a full card, so a whole month fits where a handful of cards used to go. It shows four across by default, dropping to three on a small laptop and two on a tablet or phone. Clicking or tapping a tile opens the full event card in the center of the screen. Add data-hover-preview="1" and resting the pointer on a tile opens it too, after a brief pause so sweeping the mouse across the grid does not flash a card at you. Plenty of church calendars have artwork on only a handful of events, so that case is handled properly rather than treated as a mistake: an event with no image gets a colored panel drawn from its own name plus a calendar glyph, and the grid stays even.
We have a very busy calendar. Will the widget show all of it?New
Yes. There is no cap on how many events a month can show. If your church puts ninety events on August, the widget renders ninety, and you will never find out later that visitors were quietly seeing the first fifty. If you want something shorter, that is your call to make: data-limit caps the number of events from 1 to 250, and data-rows caps how many rows the widget renders in the list, cards, tiles, and simple layouts, which is usually the better control because it fixes how far the widget runs down the page. The monthly grid and week strip ignore data-rows, since their rows are calendar weeks and trimming those would blank out days.
How does this compare to Display.Church, PCO Embed, or the built-in Church Center embed?
All four tools do the core job well. What sets PCOWidget apart is a handful of things nobody else offers: automatic sermon titles on recurring events, a “This Week’s Services” mode, full control over an empty month (skip ahead to the next month with events, show your own message, or hide the widget entirely), draft-event preview for staff pages, and every setting living right on the embed tag as a data-* attribute, so there’s no dashboard to log into. Add dark mode and full styling to match your website on every plan, event times in your church’s own timezone, changes on your site within about a minute, no page-view limit on Pro, and a free tier with every feature included, and PCOWidget is the strongest fit for a church that lives in Planning Center. Display.Church shines when you need calendar sources beyond PCO, and it has its own styling and recurring-event options. PCO Embed also covers groups and sermons, and the free Church Center embed is a good minimal option, with a campus filter, when your events are already published to Church Center.