Skip to main content
All CollectionsTutorialsHow-to-build guides
How to build a second-hand marketplace with Sharetribe
How to build a second-hand marketplace with Sharetribe

This tutorial walks you through how to set up a marketplace for unique, second-hand products with Sharetribe.

Katri Antikainen avatar
Written by Katri Antikainen
Updated over a month ago

In this tutorial, we’ll set up a peer-to-peer marketplace for selling unique, physical products, or in other words, a second-hand marketplace. This is a no-code tutorial, where all settings are configured without coding, using Sharetribe's no-code marketplace builder.

This tutorial goes through the design, listing, transaction, and content settings that are most relevant for second-hand product marketplaces. The example platform we're building in this tutorial is a pre-loved t-shirt marketplace called Teetribe.

If you're looking for a particular feature or haven't found what you're looking for, take a deep dive into our Help Center or reach out to our support team through the chat widget in the corner.

1. Create a Sharetribe account

This tutorial assumes you have a Sharetribe account. If you don’t, start your 14-day free trial. No credit card required.

You’ll give your marketplace a name at this stage (you can still change it later) and answer some questions about your marketplace idea. Sharetribe configures your account based on these answers, but you can still change all of the settings later.

Let’s get to the tutorial!

2. Add your own branding

We’ll start with something every marketplace needs: branding. In the branding settings, you determine your marketplace colors and visual assets.

  1. Update your main brand color. This color is used in most recurring elements on your website.

  2. Upload a logo.

  3. Choose a logo display height.

  4. Upload a favicon.

You can check how the settings and images look on your test marketplace, which you can access through the View marketplace link in the top right corner.

Branding settings in Console and a sample landing page side by side, showing where the logo and brand color on a marketplace..

5. Optional: change the primary button color.

6. Optional: upload an app icon, background image, and social media image.

7. Save changes.

If you don’t have your brand assets ready yet, you can keep the default assets for now and update them later.

3. Choose the layout

Your layout settings are defined based on your answers to the setup wizard. It’s still good to check that they match your idea.

Consider your marketplace carefully. We’re building a second-hand product marketplace. The search page and listings should feature images of the products heavily, as seeing pictures is an important part of a purchase decision.

In Console, final layout settings for this marketplace will look like this:

Here are the reasons behind each choice:

1. Search page: Grid view. Listings will be presented in a grid on the right with categories and filters on the left in a side panel.

Your other option is map view, which features a map in addition to listings. It’s a great choice if location is an important element in your marketplace.

2. Listing page: Image carousel with thumbnails. The page features a carousel of images uploaded about the listing, followed by custom listing data. On the right side, customers will find the price, delivery options, an order breakdown and a Buy now button.

The listing page on an example marketplace

3. Listing thumbnail aspect ratio: Portrait (3:4). This setting depends on the types of products you're selling. The listings in Teetribe are clothes, so the best option thumbnail ratio is portrait. For other items, the best aspect ratio may be different.

4. Set up a listing type and transaction process

Next, we’ll check and confirm whether the listing type settings are configured to your needs. In the listing type settings, it’s especially important to consider the types of product your marketplace has. We'll set up the listing type for unique, second-hand products.

Set your listing type like this:

Listing type name and ID: Purchase. Transaction process: Purchase. Stock type: Finite stock, single item. Enable the default fields pickup and shipping.

Here’s more detail and the reason behind each setting choice:

  1. Listing type name: a descriptive name. In Teetribe, the name will be “Purchase”. If you have more than one listing type, this name will be shown to users in listing creation.

  2. Listing type ID: a unique identifier of the listing type. It’s used when you want to limit listing fields to specific listing types only. (We’ll set up listing fields later in this tutorial.)

  3. Transaction process type: Purchase. This is the transaction process for product sales.

  4. Stock type: Finite stock, single item. This means that listings in your marketplace will automatically have stock of one. Once the product is sold, the listing will be closed automatically. In other words, the product is a unique, physical product that can only be sold once.

  5. Delivery options:

    1. Pickup: in listing creation, sellers add an address to their listings and customers will pick up their purchase in person.

    2. Shipping: in listing creations, sellers add a shipping fee, which will be added on top of the listing price at checkout.

    3. If you enable one of the delivery options, it’s the default when someone buys a listing.

    4. If you enable both options, sellers can choose which delivery option they want for their listing. If the seller chooses both, the customer can choose their preferred delivery method.

  6. Payout details required before publishing: Enable or disable. This setting determines when a seller needs to add their payout details.

    1. When enabled, the seller has to add their payout details before they can publish the listing.

    2. When disabled, the seller can add them after publishing the listing. Note that buyers can’t make a purchase before the sellers adds their payout info.

5. Add categories

Next, we’ll add listing categories. Categories are a great way to organize listings on your marketplace and help customers find what they’re looking for. You can create main categories and two levels of subcategories in Sharetribe.

They are especially common on product marketplaces, where the variety of items can be vast. This video gives a great overview of categories and how to create them with Sharetribe.

In the case of our example second-hand marketplace Teetribe, we’ll add categories for t-shirt style.

  1. Give the category a descriptive name. Sellers and customers will see the name on the marketplace.

  2. Add a category ID. The ID is a unique identifier of the category. It’s used when you want to limit listing fields to specific categories only. (We’ll set up listing fields next.)

  3. Add subcategories if you need them. It’s good to avoid having empty categories, so in the very beginning, you may not need subcategories yet.

Categories in Console. On the side, another image shows them on the marketplace.

This is what the categories look like in Console and on the marketplace, when the category filter is enabled:

6. Add listing fields

It’s time to create listing fields. Listing fields are unique information you want sellers to add to their listings. Customers, on the other hand, can filter search results based on them.

  1. Give the listing field a descriptive name.

  2. Add a listing field ID. The ID is a unique identifier of the field.

  3. Choose the field type. Your options are free text, number, select one, and select multiple.

  4. Decide if the field type is mandatory for the seller to fill.

  5. Determine listing field specific settings. These vary depending on the field type.

  6. Limit the listing field to a specific listing type or category. For example, in Teetribe, the field Size should apply to all categories. Category-specific fields are applied to a single category only. For example, sports tees could have a field for team.

  7. Enable the filter as a search filter to include it on the search page.

A listing field for t-shirt size in Console and the same listing field on the search page of the marketplace.

7. Configure search settings

The final listing settings are about search.

For a second-hand product marketplace, set up the search as follows:

Search type: Keyword search. Category filter: enable. Price filter: enable and add a minimum and maximum value.

Here’s the reason behind each setting option:

  1. Search type: Keyword search. Since the marketplace is not primarily a location based platform, the primary search function will be by keyword. However, if you’re building a hyperlocal product marketplace, a location search can be a good option.

  2. (Keyword filter: Disable. Only available with location search.)

  3. Category filters: Enable. To help customers find what they’re looking for, we’ll want to enable the category filter.

  4. Date range filter: Disable. There are no time-based bookings on our platform, so there’s no need for this filter.

  5. Price filter: Enable. Enter in the minimum and maximum values. Turning on this filter let’s customers filter by their desired price range. Choose the values based on the price range of items on your marketplace.

This is how the category and price filter will look like on your marketplace:

The price filter, a slider, on the marketplace's search page.

8. Set a commission

Next, we’ll determine commission rates. This is how we’ll monetize our platform.

You can charge a commission from the seller, customer, or both:

  • The seller’s commission is deducted from the listing price.

  • The customers’s commission is added on top of the listing price.

The users don’t see each others’ commissions during a transaction.

When deciding your commission rates, you should consider at least the following:

  • Your commission rate(s) should not be so high as to drive off customers and sellers. You should take into account factors like the average price of listing, competitive landscape, and the value you provide.

  • When choosing who to charge, consider which group—customers or sellers—you’re more constrained on. Don’t implement fees (or as high a fee) for the group that’s tougher for you to reach.

  • Sharetribe uses Stripe to facilitate transactions. Stripe charges a payment processing fee from each transaction and it’s charged from the marketplace’s commission. Calculate your commission so that you can be sure it covers Stripe’s fees.

Learn more about finding the right commission rate in Marketplace Academy.

This video breaks down the commission feature of Sharetribe in a quick and concise way:

In our example marketplace, the commissions will be:

  1. Provider commission: 15%. Charged from sellers.

  2. Customer commission: 10%. Charged from customers.

This is how the commission settings look like after these changes and how the seller and customer see them, respectively:

Commission settings in Console. Next to the settings, two more images show the commission charged from customers and sellers.

9. Change marketplace texts

Marketplace texts are short pieces of text used across your marketplace website. This includes button labels, error messages, help texts, and more.

We’ll edit a small number of marketplace texts that are relevant to second-hand marketplaces.

While the marketplace text editor may feel daunting, it’s easy to edit once you get the hang of it. It gives you a lot of control over the language and terms used across your marketplace.

The following changes take into consideration the specific niche of your marketplace. Instead of listings, you can modify the texts to refer to your marketplace’s unique offering. Equally, the changes remove mentions of stock from listing creation, as it does not apply on a marketplace that sells unique products.

  1. Update the search placeholder text. Click your cursor to the text editor. Type CMD+F (Mac) or CTRL+F (PC).

    1. Search "TopbarSearchForm.placeholder": "Search listings…"

    2. In the text, update Search listings to Search [insert your marketplace offering here]. For example, in Teetribe, this text could be Search t-shirts.-

    3. Search "NotFoundPage.SearchForm.placeholder": "Search listings…" Update this the same way as you did the text above.

  2. Update the Post a new listing button.

    1. Search "EditListingPage.titleCreateListing": "Post a new listing"

    2. In the text, update Post a new listing to List a [insert your marketplace offering here]. On Teetribe, this would be List a t-shirt.

  3. Update the listing creation form.

    1. Search "EditListingDetailsForm.title": "Listing title".

    2. In the text, update Listing title to [insert your marketplace offering here] title. On Teetribe, this could be T-shirt title.

    3. Search "EditListingDetailsForm.description": "Listing description".

    4. Update Listing description to Description.

    5. Search "EditListingPricingAndStockPanel.createListingTitle": "Pricing & stock".

    6. Update Pricing & Stock to Price.

    7. Search "EditListingPricingAndStockPanel.title": "Pricing & stock of {listingTitle}".

    8. Update Pricing & stock of {listingTitle} to Price of {listingTitle}.

    9. Search "EditListingWizard.tabLabelPricingAndStock": "Pricing & stock".

    10. Update Pricing & stock to Price.

  4. Save changes.

Make sure to retain all special characters in the file, such as quotation marks, commas, and brackets. The editor will notify you if you try to save incomplete strings.

The marketplace text "Search t-shirts..." in the marketplace text editor and in the search bar on the marketplace.

10. Add content

Creating content pages for your marketplace is work that never ends, depending on how you approach your content strategy. But in the beginning, you’ll need just three pages to get started:

  • A landing page: The first page users land on. It's where you present your value proposition and convince people to give your marketplace a try.

  • Terms of Service: A legal agreement between you (or your marketplace) and the user who wants to use your service.

  • Privacy Policy: A statement or legal document that discloses some or all of the ways your marketplace gathers, uses, and manages the user data that you collect.

So our goal in this step of the tutorial is to get those pages ready to go. Once you launch, you can keep adding content pages for different purposes: educating your users, sharing more about your business, optimizing your marketplace for search engines, etc.

Let’s get started with a simple task:

  1. Delete the About page. Alternatively, you can edit this page with relevant content about your marketplace, especially if you already have a great story to tell.

11. Edit the landing page

The first version of our sample landing page will be quite simple. You can keep adding to and editing it as you run your business.

In this tutorial, we’ll edit the existing fields in the landing page, but you can also delete existing section and add new ones.

This video is a fast overview of updating your landing page. Check it out or read on for step-by-step instructions.

  1. Open the section Marketplace introduction. The settings of this section will be:

    1. Section name: Marketplace introduction. You can change this to something else, such as Hero. It’s not shown to users.

    2. Section template: Hero. This section is specifically designed to work as the first section of the page.

    3. Section title: a short phrase. It can be a slogan that communicates your very basic value proposition in a quick and attention-grabbing way. For Teetribe, we’ll add “Your next favorite t-shirt is here.”

    4. Section description: a more detailed description. This text can share more about what your platform is about. For Teetribe, we’ll add “Buy and sell beautiful, top-quality vintage t-shirts on Teetribe. Join the community of t-shirt lovers!”

    5. Section call to action: Internal link

    6. Internal link text: the text on the button link. For Teetribe, we’ll add “Browse t-shirts”.

    7. Internal link address: /s. This is the basic URL for the search results page.

    8. Section appearance: Custom

    9. Background image: Upload an image. It should communicate your value proposition and/or catch the eye. Make sure to use a copyright-free image or an image you own. Check out guidelines and tips for good-looking logos and images. If you don’t have an image yet, you can keep the sample image and update it later.

    10. Background image overlay: Dark overlay. This setting depends on the image you use.

    11. Text color: White. This setting depends on the image you use.

  2. Open the section How it works. The settings of this section will be:

    1. Section name: How it works. Not shown to users.

    2. Section template: Columns. This template has content blocks in a grid.

    3. Number of columns: 3 (or as many steps a customers journey takes)

    4. Section title: A title for the section

    5. Section title size: H2

    6. Section description: Add more detail (optional).

    7. Section call to action: No call to action

    8. Section appearance: Default. The default appeerance has black text on a light gray background.

  3. Open the content block New listing. The settings will be:

    1. Block name: New listing

    2. Block media: No media

    3. Block title: Add a title for the block. This should describe the step in the user flow.

    4. Block title size: H3

    5. Block text: Add instructions. These should describe how to get started with the user flow. You can format the text in content blocks with Markdown, a lightweight markup language.

    6. Block call to action: No call-to-action

  4. Edit the other two content blocks Search and Payment in the same way.

  5. Open the section Featured locations. Since our marketplace is not location-based, we’ll make this section a category section. You could also make a featured listings section once your marketplace has more listings.

    1. Section name: Categories

    2. Section template: Carousel. The content blocks are placed in a row and you can scroll them side to side.

    3. Number of columns: 3. This number determines how big the content blocks are. 1 is biggest, 4 is smallest.

    4. Section title: Add a title for the section.

    5. Section title size: H2

    6. Section description: Add more detail (optional).

    7. Section call to action: No call-to-action

    8. Section appearance: Default

  6. Delete existing content blocks (Location - Helsinki, etc.)

  7. Click to add a new content block. Create one for each category. This is the basic structure and setup:

    1. Block name: The name of a category on your marketplace.

    2. Block media: Image.

    3. Image file: Upload an image. It should describe the category.

    4. Aspect ratio: Portrait. Choose the one that best fits the products on your marketplace or the image you’re using. All block images should have the same aspect ratio for the best looking results.

    5. Image alt text: Description of the image. The alt text is important for accessibility and search engines.

    6. Block title: The name of a category on your marketplace.

    7. Block title size: H3

    8. Block text: Leave empty

    9. Block call to action: Internal link

    10. Internal link address: /s?pub_categoryLevel1=[category_ID]. You get the exact URL by going to your search results page and clicking open the category you’re adding to the landing page. From the URL, copy everything start /s?. This is the internal link URL to that category. For example, for Teetribe, the URL for the category Band tees would be /s?pub_categoryLevel1=band.

    11. Repeat step seven to create as many content blocks you need.

  8. Delete section Explainer video. We don’t yet have a video promo for our marketplace, so we’ll delete this section. We can add a video section and other types of sections later at any time.

  9. Go to the SEO & Social tab. Update the following info:

    1. Page title: You can use your slogan or hero section title here.

    2. Page description: Describe your marketplace in less than 160 characters.

    3. Page title for social media: You can use the same text as the page title here.

    4. Page description for social media: You can use the same text as the page description here.

    5. Page image for social media: upload an image here if you want the page to have a unique image when it’s shared on social media. Otherwise, the image will the default social media image you can upload in the branding settings.

  10. Save changes.

12. Edit the terms of service and privacy policy

The fastest way to update your terms of service and privacy policy is to use the free templates provided by Termsfeed, which you can find here in the Help Center.

This video walks you through updating the legal pages. Read on for written instructions to do the same. The process is very similar for both documents, so the video and this tutorial both use Terms of service as the example. You can follow the same steps to update the privacy policy.

  1. Open the Terms of service template. The file is a Google Doc, formatted in Markdown.

  2. Copy the contents of the document to the text editor of your choice.

  3. Search for {{--INSERT to find all the places that you need to replace with your own information. Type CMD+F (Mac) or CTRL+F (PC) to search the document.

  4. Update all the variables in the document. The variable's text will always indicate what should be added, such as {{-- INSERT HERE YOUR MARKETPLACE NAME --}}.

  5. Read through the document carefully to see that it matches your practices.

  6. Copy the terms, excluding the instructions and disclaimer at the top of the document.

  7. Go to the Terms of service page in Console.

  8. Open the section Terms of Service content section.

  9. Open the content block Text content.

  10. Paste your terms of service in the Block text field.

  11. Save changes.

And repeat the same process for the privacy policy! Go to Content → Pages → privacy-policy. Find the privacy policy template here.

13. Edit the footer

The final feature to update in this tutorial is the footer. We’re almost ready to launch!

The footer is an element of your website that’s located at the bottom of each page, with the exception of the search results page.

Set it up as follows:

  1. Slogan: A short description of your marketplace

  2. Copyright: © [Current year] [Your marketplace name]. All rights reserved. For example: © 2024 Teetribe. All rights reserved.

  3. Number of content columns: 2. You can update this later if you add more links to your footer and want to divide them into more columns.

  4. Social media links: Update and add links to your social media channels. The links automatically render as logos.

  5. Content blocks: Add text content and links, formatted in Markdown. In this tutorial, we’re making only one change: removing the link to the About page, since we deleted the page earlier. Open the block named general and remove - [About](/about).

Here's an example of what the footer can look like. It always includes your marketplace logo, which you add in the branding settings.

The footer on the marketplace, showing the logo, slogan, social media links, copyright disclaimer and links.

14. Test your marketplace

Now, it’s time to test your marketplace. You may already have done so earlier, but it’s always good to see how the changes you’ve made in Console show on your marketplace website.

So head over to your test marketplace and set yourself in the mindset of a new user.

  1. Create an account.

  2. Create a listing.

  3. Add payout information. You use a test bank account for this.

  4. Create a second user.

  5. Buy the listing. You will use a built-in test credit card.

In the Manage users page, you can log in as any user to easily switch between test users to complete a transaction, all the way to delivery and reviews.

Testing how your marketplace works super important in learning how it will work for your actual users. This way, you’ll be able to help them if they run into any problems and also, find out if there are still some settings you’d like to change or information to add.

15. Go live

Once your marketplace is configured, it’s time to go live. This doesn’t mean launching your marketplaace to the entire world. The first steps after going live can be onboarding supply or inviting in early adopters to validate your idea.

To go live, you’ll need a live Sharetribe subscription: Lite, Pro, or Extend. Lite and Pro are plans for no-code marketplace builders. The Extend plan is for people who are customizing their marketplace with code. You can learn more about each plan and their features on Sharetribe’s pricing page.

  1. In your test environment, click “Go live”. You’ll be prompted to choose a billing period (monthly or annual) and a plan.

  2. Start a subscription. Your live marketplace will be set up based on your test environment setup. Even after going live, we recommend making all changes in your test environment, testing how they work, and only then copying them to live.

  3. In your Live environment, add your Stripe account and map provider if location is relevant to your marketplace.

If you want to limit access to your marketplace in the beginning, visit the access control settings. With these features, you can:

  • Make your marketplace private: only logged in users will see listings and user profile. Great for a marketplace in the beta stage or if you’re still in the process of building supply.

  • Approve each user separately: instead of giving new users full access, you can approve users manually.

  • Restrict publishing rights: instead of letting every user post listings, you can grant permission to publish listing to specific users.

  • Approve listings before publishing: You can also limit listing publishing on the listing level, for example if you want to review each listing for quality.

Other features to check out

In addition to the features in this tutorial, Sharetribe has a host of other great functionality that might help your marketplace or become relevant later. Here’s a quick overview of them!

  • User types: User types let you differentiate between the user experiences of sellers and customers. This is most important for B2C and B2B platforms, but sometimes, making this difference can be useful for P2P marketplaces as well. Learn more about user types.

  • User fields: User fields let you ask for more information about your users during signup and in their user profiles. This information can be great for building community and letting users create rich profiles. You can also limit user fields to specific user types, if you only want your sellers to add additional information, for example. Learn more about user fields.

  • Top bar: By default, the top bar includes the logo, search bar, and links to sign up, log in, and a button to post a new listing. In the top bar settings, you can add links to other pages. Learn more about the top bar.

  • Email texts: Similarly to the marketplace text editor, the email text editor let’s you modify the text content of the automatic emails sent to users from your marketplace at key events, like when a purchase happens. Learn more about email texts.

  • Minimum transaction size: If the items sold on your marketplace are generally quite low-priced, it may be useful set a minimum transaction size to guarantee that your commission will be large enough to cover Stripes payment fees. Learn more about the minimum transaction size.

  • Analytics: You can add an analytics provider to monitor traffic on your marketplace. The built-in options are Google Analytics and Plausible. Learn more about analytics in Sharetribe.

  • Zapier (Pro plan feature): With Zapier, you can connect your marketplace to third-party applications without coding. You can use Zapier to automate repetitive tasks or to add functionality. Learn more about Zapier.

The end of the tutorial

This is the end of the tutorial, but your marketplace journey has only just begun! And we’re here to help every step of the way. Reach out to us with any questions you might have about Sharetribe, and we’ll be happy to help.

And if you’re looking for some more generic marketplace business knowledge, there’s no better place to learn than Sharetribe’s Marketplace Academy.

Best of luck with your marketplace business!

Did this answer your question?