How to show terms of service consent on the customer's account page in Shopify: customer metafields

Diagram of an account page showing the customer's terms of service consent status

In short: You can show the terms of service consent collected with the Howdy sign-up form (a customer metafield of the True or false (「真または偽」) type) on the customer's own account page. To do this, turn on Customer account access for the metafield and add a Howdy Metafield block to the profile page. The only values saved are true or false, and there's no feature that records the date and time of consent. Setup takes four stages, from creating the metafield to showing it on the account page.

Key points

  • Terms of service consent is saved in a True or false customer metafield, and you can show it on the account page by adding a Metafield block to the profile page
  • Before showing it, set Customer account access in the metafield definition to Allow read and write (「読み取りと書き込みの許可」)
  • Create a Metafield block in the Howdy app's admin, then add it to the profile page in Shopify's checkout and accounts editor
  • Terms of service consent is saved as a true or false value, and there's no feature that records the date and time of consent
  • Once you add the block, customers can edit this value themselves on their account page
  • With code entered in the display label, you can put links to both your terms of service and your privacy policy in a single consent field

Preparation: Which metafield stores terms of service consent?

When you add a Terms of Service checkbox to the Howdy sign-up form, a True or false customer metafield is created, and it saves whether the customer agreed as a true or false value.

In the Howdy sign-up form settings, tap Create form, enter a form title, and save. Then go to Add custom field and tap Add new customer metafield definition. Enter a name for the metafield definition, set the type to True or false, and save. This creates a metafield that records whether the customer agreed. Select the definition you created from the Shopify metafield definitions list, check Required, and add it. Customers who don't agree then can't complete sign-up.

If you create the metafield in the Shopify admin first, go to Settings > Metafields and metaobjects > Customers > Add definition, set the name, namespace and key, and type, and save. As an example for terms of service consent, the name is Terms of service consent, the namespace and key is custom.terms_accepted, and the type is True or false. Whichever screen you use to create it, the value of the customer's metafield becomes true when the customer agrees. You'll use this same metafield definition in a later step when you create the block for the account page.

From the pencil button on the display label, you can enter link code. This turns the label into one where clicking the words Terms of Service or Privacy Policy opens the policy page. How to collect newsletter consent at the same time is covered in How to collect newsletter consent at sign-up in Shopify: updating the subscription status.

Sources: Howdy Help: "How to set up terms of service with links" (Japanese) / Howdy Help: "① [Preparation] How to set up customer metafields"

Step 1: How do you turn on Customer account access for the metafield?

When you first create the terms of service metafield in the preparation step, Customer account access isn't turned on, so it can't be shown on the account page yet. You need to turn on this access.

In the Shopify admin, go to Settings > Metafields and metaobjects. This list also includes metafields for objects other than customers (such as products and orders), so choose the terms of service metafield definition from the Customers category. On the definition's edit screen, set Customer account access to Allow read and write (「読み取りと書き込みの許可」) and click Save.

If you try to show the metafield on the account page without this setting, you'll see an error saying that Customer Account access isn't enabled for this metafield and that you should enable read and write in the Shopify admin. If access is set to Read only (「読み取り専用」), you'll see an error saying that this metafield is read only and that you should change it to read and write in the Shopify admin. In either case, change access to Allow read and write on the same screen and save to fix it. Once it's saved, you're ready to create the Metafield block in the next step.

Source: Howdy Help: "Enable Metafield's "Read and Write" access"

Step 2: How do you create the block to show on the account page?

After turning on access for the metafield, create a Metafield block to show on the account page from Blocks in the Howdy app's admin. You can try it for free on a development store.

On a store that's already live, choose a pricing plan before you continue. In the Howdy app's admin, go to Blocks, click Create Block, and choose Metafield block as the block type. To choose a Metafield block, you first need to create the target metafield definition in Settings > Metafields and metaobjects > Customers. Enter the namespace and key of the terms of service metafield you created in the preparation step in this block's settings, and click Save.

After saving, check that the block's status is Active. Once it's active, you're ready to embed it in the profile page in the next step. Setup examples for showing other fields, such as membership tiers, on the account page are also covered in How to show membership tiers on the account page in new customer accounts.

Source: Howdy Help: "④ [Initial Setup] Profile Page"

Step 3: How do you add the block to the profile page?

Add the block you created to the profile page as an app block in Shopify's checkout and accounts editor, which you open from Settings > Checkout.

In the Shopify admin, go to Settings > Checkout and click Customize, then select Profile Page in the editor. Add the Howdy block from Add App Block, enter the App Block ID shown on the Blocks page of the Howdy app's admin, and save.

The app block is now embedded in the new customer profile page, and customers can edit the metafield.

Source: Howdy Help: "④ [Initial Setup] Profile Page"

Can you put links to both your terms of service and privacy policy in one field?

Yes. Enter the following code from the pencil button on the Terms of Service display label and save, and a single consent field shows links to both your terms of service and your privacy policy.

Tap the pencil button on the Terms of Service display label, enter the following code in the display label, and save.

I agree to the <a href="#" target="_blank"><u>Terms of Service</u></a> and <a href="#" target="_blank"><u>Privacy Policy</u></a>

Replace each # in the code with the URL of your actual terms of service page and privacy policy page. To link only your terms of service, use the code without the privacy policy <a> tag. After entering the code, check how it looks in the preview, and save if everything looks right.

Source: Howdy Help: "How to set up terms of service with links" (Japanese)

Can you also show the date and time of consent?

No. Howdy saves terms of service consent as a true or false value that shows whether the customer agreed, and there's no description of a feature that records the date and time of consent.

Even if you turn on Customer account access and show the value in a Metafield block, only this true or false value appears. Information about when the customer agreed isn't stored separately.

How to check and export consent values in the admin is covered in How to check and export customers' terms of service consent in Shopify: metafields and segments.

Source: Howdy Help: "How to set up terms of service with links" (Japanese)

After you add the block, can customers change the value themselves?

Yes. When you embed a Metafield block in the customer profile page, customers can edit the value of that metafield themselves.

Create the block on the Blocks page of the app's admin, go from Settings to the checkout and accounts editor, select the profile page, and add the app block. When you enter the App Block ID shown in the app's admin in the added block and save, the app block is embedded in the customer profile page, and customers can edit the metafield value.

Source: Howdy Help: "④ [Initial Setup] Profile Page"

Related articles

Frequently asked questions

Q. Where do you set Customer account access for the metafield?A. In the Shopify admin, go to Settings > Metafields and metaobjects and open the terms of service metafield definition. Set Customer account access to Allow read and write and save.
Q. When does the error saying Customer Account access isn't enabled appear?A. It appears when Customer account access isn't set in the metafield definition. If access is still set to Read only, a different error appears. In either case, change access to Allow read and write in the admin and save to fix it.
Q. What do you need to prepare before adding the block to the profile page?A. You need to create the customer metafield for the field you want to show in advance, either in the Shopify admin or in the Howdy sign-up form settings. For terms of service consent, set up a True or false metafield first.
Q. Can you include a link to your terms of service in the display label of the consent checkbox?A. Yes. When you enter link code in the display label, customers can click the words Terms of Service or Privacy Policy to open the policy page. You can also put links to both your terms of service and your privacy policy in a single consent field.

Try Howdy free for 14 days

You can set up terms of service consent on the account page from the Howdy app's admin and the Shopify admin. With our free setup service, our dedicated team creates the customer metafields, sets up the sign-up form fields, and places the blocks on the profile page for you.

Start your 14-day free trial on the Shopify App Store

Back to Blog

Try Howdy free for 14 days

Our dedicated team handles the initial setup for free. Questions? Reach us through our contact form.