All articles

AccountCraft Journal

How to Add Pet Profiles in Shopify Customer Accounts

Let customers save pet profiles in Shopify New Customer Accounts: set up metafields, build a repeatable pet list, add consent, and skip the theme code.

11 min read

To add pet profiles to a Shopify store, store each pet’s details (name, species, breed, birthday) as customer data, then give customers a place in New Customer Accounts to view and edit them. Shopify stores the data in customer metafields. The missing piece is the account page, and you can fill it without touching your theme by using an app built on Customer Account UI Extensions, such as AccountCraft.

This guide walks through the whole setup in Shopify admin terms: the data model, the account page, multiple pets per customer, conditional content, and consent.

AccountCraft
Add Pet Profiles Without Theme Changes
AccountCraft lets you build personalized Shopify account pages with blocks, so customers can view and edit their details and consent.
Install AccountCraft

TL;DR

  • Pet profiles live in customer metafields, so the data stays inside Shopify and shows on the customer record in your admin.
  • Customers can only edit that data if you add a Customer Account UI Extension to New Customer Accounts. Legacy customer accounts are deprecated, so build there.
  • Households with more than one pet need a repeatable list, not one field per pet.
  • If you collect pet data for marketing (birthday offers, food reminders), record consent. Compliance with privacy law stays your responsibility, so check your setup with a lawyer.
  • AccountCraft is free to install and builds all of this with blocks, no code.

Table of Contents

What a pet profile is in Shopify

Shopify has no built-in pet object. A pet profile is custom data that you attach to a customer. Shopify’s metafields exist for exactly this: they extend an existing resource, such as a customer, with your own fields. Metafields support several data types, including text, integers and JSON, so you can model a pet with as much detail as you need.

A practical starter set for a pet brand:

Field Suggested type Why you want it
Pet name Single line text Personalized emails and account greeting
Species Single line text or choice list Show dog products to dog owners
Breed Single line text Size-specific recommendations
Birthday Date Birthday offers, age-based food stages
Weight Integer or decimal Dosage, harness and bed sizing
Allergies or diet notes Multi-line text Support and product matching

Keep the list short. Every field you add is something a customer must fill in and something you must be able to justify collecting. Name, species and birthday cover most pet-store use cases.

Why customers can’t edit these fields by default

Creating the metafields is the easy part. You or your staff can edit them from the customer’s page in Shopify admin. Customers, however, have no screen for them. This gap is common enough that merchants post feature requests in the Shopify Community asking for customers to edit custom metafields in New Customer Accounts. The workaround named there is building a Customer Account UI Extension with Shopify CLI.

That is real development work: you write the extension, host and maintain it, and keep it current with API versions. Shopify documents how extensions can write metafields through the Customer Account API, which saves a separate Admin API call. If you have a developer, this is a valid path. If you don’t, or you manage many stores as an agency, an app that packages the same official mechanism is faster.

Why customers can't edit these fields by default — overview diagram

Step 1: Move to New Customer Accounts

Shopify’s help center states that legacy customer accounts are deprecated and recommends upgrading for more secure sign-in and no-code customizations with apps. Pet profiles belong in New Customer Accounts, where customers sign in once and get access to orders, profile details and actions like returns, as the New Customer Accounts overview describes.

If you’re still migrating:

  1. In Shopify admin, go to Settings > Customer accounts.
  2. Choose the New Customer Accounts option and follow the prompts to switch.
  3. Place a test order with a test customer email and sign in to confirm the new account pages load.

If you have custom Liquid account templates, plan to retire them. They don’t carry over, and Shopify’s customization options page lists what is and isn’t supported after the upgrade. Our guide to restoring familiar account features after moving to New Customer Accounts covers the migration in more detail.

Step 2: Create the customer metafield definitions

Definitions give each field a name, a type and a place in the admin.

  1. Go to Settings > Custom data > Customers.
  2. Click Add definition.
  3. Enter a name such as “Pet name”, confirm the namespace and key Shopify generates, and pick the type.
  4. Save, then repeat for each field.

Use consistent, lowercase keys (for example pet_name, pet_species). You’ll reference them when you connect fields to account blocks, and renaming later is painful.

A single set of fields works if every customer has one pet. Most pet households don’t, which brings us to the real design decision.

Step 3: Decide how to handle more than one pet

The naive approach is pet_1_name, pet_2_name, pet_3_name. It breaks the first time someone has four cats. Fields multiply, the account page gets cluttered, and segmenting by species becomes a mess.

A better model is one repeatable list where each entry is a pet. Shopify’s developer documentation shows that metafields can hold JSON and that extensions can write to them, which is the basis for list-style data. Each entry holds name, species, breed and birthday together, and the customer adds or removes entries themselves.

Here is how the two approaches compare:

Numbered fields Repeatable list
Customers with 1 pet Works Works
Customers with 5 pets Needs 5 sets of fields Add rows as needed
Account page clutter High Low
Adding a new pet attribute later Edit every numbered set Add one field to the list
Customer can delete a pet Awkward Remove one entry

We go deeper on this trade-off in how JSON tames repeatable field sprawl.

Step 4: Build the pet profile page with AccountCraft

AccountCraft is a Shopify app with a visual Block Builder for New Customer Accounts. It uses Shopify’s official Customer Account UI Extensions, so there are no theme changes and no code. Customer data stays in Shopify, and there is no separate customer database.

The builder offers 14 block types: text, banner, button, card, update form, single field, record list, SMS consent, privacy consent, wishlist, image, video, spacer and divider. For pet profiles you will mostly use four of them.

Record list for the pets

The record list block is the repeatable list from Step 3. Add it to your account page, name it “My pets”, and define the fields each pet has: name, species, breed, birthday. Customers add a pet, edit it or remove it from their account. The data is saved to Shopify, so your team sees it in the customer record.

Single fields and the update form

If you also want account-level data, such as a preferred vet clinic or delivery notes for the household, use a single field or the update form block. Customer fields are bound to customer metafields, so what a customer types is the same data you read in admin.

Tell customers why you’re asking. A short banner such as “Add your pet to get food reminders and birthday offers” lifts completion more than an empty form. Only promise what you actually send.

Wishlist for the next purchase

A built-in wishlist block lets customers save products in the same account. Pet owners often save a larger bag of food or a bed for later, which gives you a useful signal about what they want next.

Translations

If you sell in more than one language, AccountCraft supports translations, so labels like “Breed” and “Birthday” can appear in the customer’s language.

Step 5: Show the right content to the right owner

The account page can change depending on who is looking at it. AccountCraft supports conditional rendering by customer tag, metafield, market, B2B and account age. For a pet store, that means practical things:

  • Show a puppy care banner only to customers whose pet record lists a dog.
  • Show a different banner to customers in another market, with local shipping details.
  • Show a wholesale ordering card to B2B customers, such as groomers or boarding kennels, and hide it from retail shoppers.
  • Show a welcome prompt to new accounts, based on account age, asking for a first pet.

Start with one condition. Test it with a customer who matches and one who doesn’t, then add more.

Pet details look harmless, but they sit next to a name, an email address and sometimes a phone number. If you use them for marketing, such as birthday emails or SMS refill reminders, you need a clear way to collect and record permission.

Shopify’s help center explains how to use Shopify features to help comply with GDPR, and the Customer Privacy API is the mechanism for recording consent signals for analytics, marketing and preferences. For a technical overview of the plugin side of store protection, this roundup of Shopify security plugins is a useful companion read.

AccountCraft includes a privacy consent block and an SMS consent block. They help you collect, record and honor customer consent through Shopify’s customer privacy APIs. Place them near the pet list, so a customer who adds a pet can also choose whether to receive pet-related messages.

Two points to keep straight:

  • An app does not make a store compliant. Compliance is the merchant’s responsibility. Ask your attorney or privacy counsel which rules apply to your customers and what your privacy policy must say.
  • Collect only what you use. If you don’t send weight-based offers, don’t ask for weight.

For deeper reading, see our posts on adding account consent without code, consent expiry for EU stores and CCPA steps using the Customer Privacy API. Settings such as your privacy policy live under Settings > Customer privacy in admin.

What to do with the pet data once you have it

Collecting profiles only pays off if you use them. Some uses that match the fields above:

  1. Segmentation. Build customer segments from metafield values, such as everyone whose list includes a cat, and send relevant campaigns.
  2. Lifecycle emails. Use birthday and age data for milestone offers and food-stage reminders.
  3. Support. When a customer writes in about a harness, your team can see the dog’s breed and weight on the customer record.
  4. Product pages and bundles. Merchandise starter kits by species.

Access to the metafields from emails, flows and storefront personalization depends on how each tool reads customer metafields, so test the path you plan to use before building a campaign on it.

Perspective: why we build this on official extensions

We built AccountCraft because the same request kept coming from merchants: customers should be able to manage their own data, and merchants shouldn’t have to maintain code to allow it. Pet profiles are a clean example. They’re structured, they change over time, and customers know them better than you do.

We think the right place for that data is Shopify itself. Metafields keep it on the customer record, extensions keep the interface inside New Customer Accounts, and Shopify’s privacy APIs handle consent signals. Nothing leaves the platform, and nothing in your theme can break when you update it.

The design choice we’d press on any merchant is the repeatable list. Numbered fields feel faster on day one and cost you on day ninety. Model pets as records from the start.

— Ivan Signorile

Try it on your store

AccountCraft has a free plan, and paid plans (Pro and Plus) are billed through Shopify. Check the Shopify App Store listing for current pricing. You can read more on the AccountCraft site or see how the Block Builder fits New Customer Accounts. When you’re ready, install AccountCraft free from the Shopify App Store.

A sensible first build takes one sitting: three metafield definitions, one record list, one privacy consent block and a test customer.

FAQ

Can I add pet profiles without a developer?

Yes. Create customer metafield definitions in Settings > Custom data > Customers, then use an app built on Customer Account UI Extensions to show them in New Customer Accounts. With AccountCraft you assemble the page from blocks, with no code and no theme edits.

Where is the pet data stored?

In customer metafields on the Shopify customer record. With AccountCraft, customer data stays in Shopify, and the app doesn’t keep a separate customer database. Your team can view it in admin.

How do I let customers add several pets?

Use a repeatable list instead of numbered fields. In AccountCraft, that’s the record list block: each pet is one entry with its own name, species, breed and birthday, and customers add or remove entries themselves. Our guide to letting customers edit customer metafields explains the data side.

It depends on what you collect, how you use it and where your customers live. If you use it for marketing, you should record consent, and AccountCraft’s consent blocks help collect and record it through Shopify’s privacy APIs. Whether your practices meet privacy law is your responsibility, so ask a qualified attorney.

Will this work with legacy customer accounts?

No. Shopify has deprecated legacy customer accounts, and app-based, no-code customization is built for New Customer Accounts. Upgrade first, then add your pet profile page.

Sources