Stage 2Get Online

Add Booking or Payments Without a Developer

10 min read
beginner
do
Share:

You've built your website. You've written compelling service pages. Potential customers are visiting your site, reading about what you offer, and then... they leave. Why? Because you've asked them to "call to book" or "email for pricing." In 2025, that's a conversion killer.

Every extra step between interest and action costs you customers. When someone is ready to book your services or buy your product right now, making them pick up the phone or compose an email gives them time to reconsider, get distracted, or simply forget. The solution isn't building a complex custom booking system or hiring a developer to integrate payment processing. It's far simpler: embed a third-party widget directly onto your website using a snippet of code you can copy and paste in under 30 minutes.

This guide shows you exactly how to add instant booking calendars (like Calendly or Acuity) or payment buttons (like Stripe or Square) to your website—no coding knowledge required. You'll simply copy a snippet of code from your chosen service and paste it into your website builder. By the end of this article, customers will be able to book appointments or make payments without ever leaving your site.

Jump to: Quick Start | Complete Guide | Troubleshooting


Quick Start (5 Minutes)

Embedding external code can sometimes affect your website's performance and accessibility scores. Not sure if your existing site is ready for new scripts? NetNav's core audit checks your website health baseline in 60 seconds.

Five Action Steps:

  1. Log into your chosen provider (e.g., Calendly for bookings, Square for payments) and navigate to the 'Embed', 'Share', or 'Add to Website' settings section.
  2. Select the embed type you want—typically "Inline Embed" (shows the calendar/form directly on your page) or "Button" (opens a pop-up when clicked)—and copy the generated HTML or JavaScript code snippet provided.
  3. Open the specific page on your website builder where you want the functionality to appear (usually your Services page for bookings or a specific product page for payments).
  4. Paste the code snippet into a "Custom HTML", "Code Block", or "Embed" element on your page (the exact name varies by platform, but all major builders have this feature).
  5. Publish the page immediately and visit it in a regular browser window (not the editor) to verify the widget appears and loads correctly.

✅ Completed the quick version? Move on to Connecting Your Website to Payment Providers or continue below for the detailed walkthrough including mobile testing and troubleshooting.


Complete Step-by-Step Guide: Generating and Placing the Code

This section walks through the entire process in detail, covering both booking widgets and payment buttons, with specific instructions for popular website platforms.

Step 1: Determine the Goal (Booking vs. Payment)

Before you grab any code, clarify exactly what you're adding:

Booking Widget: Use this if you offer services that require scheduling (consultations, appointments, classes, discovery calls). Tools like Calendly, Acuity Scheduling, or Square Appointments provide embeddable calendars that sync with your availability.

Payment Button: Use this if you're selling a specific product, accepting deposits, or taking one-off payments. Stripe Payment Links, Square, or PayPal offer simple button codes that process transactions without building a full shop.

The placement matters. If you're adding a booking widget, it typically belongs on your Services page or a dedicated "Book a Call" page. Payment buttons work best on product pages or alongside specific service descriptions. This decision connects directly to your strategic page planning—you should already know which pages serve which purposes.

If you're selling products with multiple options, variants, or need a shopping cart, this simple embed approach won't suffice. You'll need the full eCommerce website setup instead.

Step 2: Choosing Your Tool and Code Type

Most third-party services offer multiple embed options:

Inline Embed: The calendar or form appears directly on your page as part of the content flow. This is the most seamless experience—visitors don't need to click anything extra. However, it takes up significant vertical space on your page.

Pop-up Button: A button or text link that, when clicked, opens the booking calendar or payment form in a modal overlay. This saves space and can feel more modern, but requires an extra click.

Text Link: Simply a hyperlink that opens the booking or payment page in a new tab or window. This is the lightest option (fastest loading) but takes users away from your site.

For most micro-businesses, the inline embed provides the best conversion rate for bookings, while a pop-up button works well for payments (since the payment process itself will open in a secure window anyway).

Step 3: Generating the Snippet

Here's how to get the code from common services:

For Calendly (Booking):

  1. Log into Calendly and navigate to your event type (e.g., "30-Minute Consultation")
  2. Click "Share" or "Copy Link"
  3. Look for "Add to Website" or "Embed Options"
  4. Select "Inline" or "Pop-up Widget"
  5. Copy the code snippet provided (it will look like `<div>` tags with a `<script>` at the end)

For Stripe Payment Links (Payment):

  1. Log into your Stripe Dashboard
  2. Navigate to "Payment Links" and create or select your product/service
  3. Click "Share" on the payment link
  4. Select "Embed on Website"
  5. Choose "Button" and copy the HTML code provided

For Square (Booking or Payment):

  1. Log into Square Dashboard
  2. For bookings: Navigate to "Appointments" → "Online Booking" → "Share"
  3. For payments: Navigate to "Online Checkout" → "Checkout Links" → "Share"
  4. Select "Embed Code" and copy the snippet

Once you have the code, you need to paste it. Since third-party widgets can slow down page speed, this is a crucial step. This is one of the script checks NetNav runs automatically—monitoring third-party scripts that might be dragging your site down.

Step 4: Inserting the Code into Your Platform

The code snippet you copied needs to go into a specific type of element on your website. Here's how to do it on popular platforms:

WordPress (Gutenberg Editor):

  1. Edit the page where you want the widget
  2. Click the '+' icon to add a new block
  3. Search for "Custom HTML" or "HTML" block
  4. Paste your code snippet directly into the block
  5. Preview or publish to see it live

WordPress (Elementor):

  1. Edit the page with Elementor
  2. Drag an "HTML" widget onto your page
  3. Paste the code snippet into the widget
  4. Update the page

Squarespace:

  1. Edit the page where you want the widget
  2. Click an insert point and choose "Code" from the block menu
  3. Paste your snippet into the code block
  4. Save and publish

Wix:

  1. Edit the page
  2. Click '+' to add elements
  3. Choose "Embed" → "Custom Embeds" → "Embed a Widget"
  4. Paste your code into the "Add your code here" box
  5. Publish the site

Important: After pasting, don't try to edit the code unless you know what you're doing. The snippet must remain exactly as provided by your service, or it won't work.

Step 5: Testing the Mobile Experience

This is the step most people skip—and it's where most problems appear. Your widget might look perfect on your desktop but be completely unusable on mobile.

Immediate checks:

  1. Open your published page on your actual mobile phone (not just the desktop browser's mobile preview)
  2. Verify the widget loads and displays correctly
  3. Try to complete a booking or payment on mobile
  4. Check that buttons are large enough to tap easily
  5. Ensure the calendar or form doesn't require horizontal scrolling

Many embed codes default to fixed pixel widths (e.g., `width="600px"`), which will overflow on mobile screens. If you see this problem, look for a "responsive" option in your service provider's embed settings, or manually change the width parameter in the code to `width="100%"`.

For comprehensive mobile testing guidance, see Test Your Website on Multiple Devices.

Step 6: Final Verification

Before you consider this task complete, run an actual test transaction:

For Booking Widgets:

  1. Book a test appointment using a personal email address
  2. Verify you receive the confirmation email
  3. Check that the booking appears in your service provider's dashboard
  4. Confirm the booking syncs to your calendar if you've set that up
  5. Cancel the test booking to free up the slot

For Payment Buttons:

  1. Process a small test payment (£1 or the minimum allowed)
  2. Complete the entire checkout flow
  3. Verify the payment appears in your provider's dashboard
  4. Check you receive the payment confirmation email
  5. Refund the test payment

Also verify that the widget doesn't interfere with your trust signals—make sure your contact information, testimonials, and professional imagery are still clearly visible around the embedded element.

🎉 Completed? You're ready for Connecting Your Website to Payment Providers, where you'll set up the fundamental back-end connections for more advanced payment processing.


Troubleshooting

Still stuck? Check your service provider's documentation—most have specific troubleshooting guides for website embeds. If the problem is with your website platform rather than the widget itself, revisit Choose Your Website Platform to understand your platform's limitations.


What's Next

You've just enabled instant commerce on your site—that leapfrogs you ahead of most competitors who still rely on email replies! Customers can now book your time or pay for your services without friction.

Your next Blueprint step: Connecting Your Website to Payment Providers

This builds on what you've just done by setting up the fundamental back-end connections (Stripe, PayPal) that power more sophisticated payment processing. If you've only embedded a booking widget so far, this next step will enable you to actually collect payments for those bookings.

Go Deeper

Want to expand beyond simple embeds?


Other Get Online Guides


Free Website Audit

You've completed this critical step and successfully added instant booking/payments. NetNav can audit your entire site across 9 pillars in 60 seconds, ensuring that your new embedded widget hasn't caused any accessibility or speed issues you missed during testing. Get your free baseline audit at NetNav.io.