Skip to main content
How To Create a Binding Terms of Service for a Website or App

Date of Currency: November 15, 2020

Agreeing to terms of service is as simple as clicking a button, right? In fact, things aren’t as simple as they may seem. A recent United States case, Snow v. Eventbrite (download PDF), serves as an important reminder that a terms of service can be found unenforceable if not implemented correctly on your website or app interface.  Without the benefit of a binding terms of service, a website or app operator can find themselves exposed to unlimited liability in respect of lawsuits launched by their users, even if their website or app is provided for free. Pro-tip: this ain’t good.

The internet is a risky place, but thankfully this risk can be managed with a binding terms of service. This blog post will provide website/app operators with tips on how to increase the likelihood that their terms of service will in fact be binding.

A quick point on terminology: In this post I refer to a terms of service, but the tips provided are equally true for a terms of use, user agreement, or pretty much any other type of online contract (I say pretty much because there are a small number of contract types that have statutory requirements for enforceability – we won’t get into those today as they typically aren’t relevant for a website or app operator).

Terms of Service Acceptance Process

In the realm of commercial litigation, the enforceability of a terms of service hinges on its proper presentation to the user. It is imperative that the terms are made known to the user and are easily accessible prior to the user’s affirmative action, such as clicking the “accept/sign-up/register/purchase/confirm” button, thereby indicating their consent. Generally, the law doesn’t require users to scroll through the entire agreement for it to be enforceable, but users do need to have the opportunity to do so if they wish before they accept the agreement. To give this opportunity, the website/app operator should provide the user with a notice that contains a conspicuous link to the terms of service and that cautions that by clicking “accept/sign-up/register/purchase” the user accepts the terms of service (this notice is sometimes called the “call-to-action”).

The location of the call-to-action in the user interface is also important. The call-to-action needs to be placed above the acceptance button. Not all websites or apps do this, but they fail to do so at their own peril. Proper placement of the call-to-action helps website/app operators challenge an argument from a user that they didn’t know that by signing-up they were agreeing to a terms of service and therefore they aren’t bound by it. To illustrate this argument, consider a website where the call-to-action is found below the registration button. In this hypothetical scenario, it is conceivable that a user might have scrolled down the page only far enough to see the registration button but not far enough to see the call-to-action and therefore was unaware that by clicking “register” (or “sign-up” or any other variant) they were agreeing to a contract. Placing the call-to-action above the register button undermines this argument.

You’ll also want to ensure that your terms of service acceptance process doesn’t contain any “leaks.” The term “leak” in the context of the terms of service acceptance process was coined by Eric Goldman, a technology law Professor at Santa Clara University School, and refers to a fatal gap in a website or app’s sign-up process that allows a user to sign-up without agreeing to be bound to the terms of service.

In the United States case referred to earlier, Snow v. Eventbrite, the court considered whether Eventbrite’s terms of service acceptance process bound the plaintiff Snow to the terms of service. The following is how one of Eventbrite’s registration pages looked in 2016:

Did you spot the leak? The call-to-action failed to mention what happens if you sign up by clicking “Continue with Apple.” In a situation like this, users who signed up with the Apple sign-in might not be bound by the terms of service. Oops!

Bonus points if you saw the other issue. The call-to-action should be above the sign-up buttons, not below them.

Keep Records

Proper implementation of the terms of service acceptance process is vital, but if a dispute arises you’ll also need to prove that users have in fact gone through that process and accepted the terms of service. To prove this, the website/app operator will need evidence. Website/app operators should keep logs of acceptances that can be matched to users, and additionally keep time-stamped records of what the website and app looked like each time the sign-up page or terms of service acceptance interface changed. This is one of the things that went wrong for Eventbrite in Snow v. Eventbrite. Eventbrite was unable to prove what their terms of service acceptance screens looked like when Snow (the user suing Eventbrite) signed-up for Eventbrite.

By the time a dispute arises, it will probably be too late to collect this evidence, so make sure you do it in advance.

Best Practices Cheat Sheet:
  1. The call-to-action should be placed above the acceptance/sign-up/register button. The user must be made aware of the existence of the terms of service, and have the opportunity to read it, before they can click to accept or sign-up.
  2. The call-to-action, and in particular, the link to the terms of service should be conspicuous. To be conspicuous the text should be prominent and visible, in an easy to read font, and in a colour that contrasts against the background. Additionally, the link to the terms of service should be a different colour (typically blue) than the rest of the call-to-action and should be underlined to indicate that it is a link. Avoid using fine print. The call-to-action to the terms of service is important – don’t hide it with tiny or unclear text!
  3. You’d think this goes without saying, but… make sure the link to the terms of service actually works!
  4. On websites, there should be a link to the terms of service (and privacy policy) on the footer of every webpage. On an app, the terms of service should be available to read through your “About” or “Legal” page. These links are in addition to (and not in substitution for) the link in the call-to-action.
  5. Although not strictly necessary, one way reduce doubt that the user intended to accept the terms of service is by having the user click an unchecked box to confirm acceptance of the terms of service. The checkbox needs to be designed such that the user is unable to proceed until they manually acknowledge they are agreeing to terms of service. This checkbox is in addition (and not in substitution) to the “accept/sign-up/register” button.  In short, check the box, then click “sign-up”.
  6. Keep evidence (e.g. logs) of each user’s acceptance of the terms of service.
  7. Take timestamped screenshots of your website or app’s contract formation page (e.g. the registration or payment page) each time there is a change to user interface or a change to the terms of service itself. How can you timestamp it? Emailing the picture to yourself is one easy method.
  8. Review the contract formation page to ensure there are no “leaks.” If your website or app provides different methods of signing up (e.g. with a social login, an email address, or by creating a unique username), the call-to-action must specify that use of any of those methods constitutes acceptance of the terms of service. Similarly, the label of the acceptance button must match what is stated in the call-to-action.
  9. If your terms of service contains a limitation of liability clause and a disclaimer of warranties clause (and it should contain those clauses except in the rarest of cases), they should be in CAPS and, preferably, bolded.
  10. If your terms of service contains an arbitration clause, the arbitration clause should be brought to the attention of the reader at the top of the terms of service. The actual arbitration clause need not be placed at the top of the terms of service, but there should be a prominent notice at the top warning the reader that the terms of service contains an arbitration clause.
  11. The terms of service should not be a wall of text. It should be readable, with proper formatting, short paragraphs, spacing, readable font size, and use of headings.
  12. Have your lawyer review your contract formation page to ensure your terms of service is binding on users. Before any variation to the terms of service or user interface goes live, have your lawyer review again.

By following these practices, you increase the likelihood that your terms of service will be enforceable as between your company and your userbase. Enforceability is important, because if the terms of service isn’t enforceable, it won’t bind your users and won’t limit your potential liability to your users if something goes wrong.

For assistance implementing legally compliant and enforceable terms of service, feel free to contact our resident technology law expert David McHugh at [email protected] or 604-629-5401 or by visiting our Vancouver offices.


The above blog post is provided for informational purposes only and has not been tailored to your specific circumstances. This blog post does not constitute legal advice or other professional advice and may not be relied upon as such. If you require legal advice, you should contact a qualified lawyer. The law is constantly changing so the information in this blog post may become out of date.