Embedding Givebutter’s payment/donation form on your own site is a great way to collect donations year-round or retain your own branding for campaigns, events, etc. Embeds work seamlessly with every campaign type and format on Givebutter.

Follow the steps below and you'll be set up in under 5 minutes.

Embedding your donation form

  1. Select the campaign you’d like the embedded widget to represent 

  2. Navigate to the Sharing tab > Embed section

  3. Select the entire code snippet and copy to your clipboard

Paste the code onto your site

    4. Paste the code into your site editor, wherever you'd like the form to appear. You should now be all set! 


Embedding on Squarespace

If your website is hosted on Squarespace you'll want to add an extra line of code under the Footer, after following the above directions. 

Navigate to Settings > Advanced > Code Injection.
Add  <script src="https://givebutter.com/js/widget.js"></script> under the footer and Save.

If you're having trouble embedding your donation forms, feel free to message us by clicking the chat button in the bottom right-hand corner of this page.

Troubleshooting the size of your widget

It is important to note that the height of the widget will adjust as donors go through the checkout flow. For this reason, we do not recommend placing the widget code in a container that has a fixed size. When placing the widget in a container in your HTML, we recommend allowing the container to grow and shrink to fit the iFrame (height: auto).

Live Example

Our good friends at Project Embrace are using an embedded Form campaign with Recurring Donations and Custom Donation Amounts on their Squarespace website here: https://projectembrace.org/donate-money

Please note: The Apple Pay payment options will not appear in the embedded widget, as they are blocked from appearing in iFrames. If you are interested in having Apple Pay appear as a payment option, you will need to use a Givebutter-hosted page. Apple Pay does appear on campaigns hosted on a customized domain or subdomain.


Did this answer your question?