Search our articles
Search

Featured articles

Conversational Commerce Strategy

AI in CX Webinar Recap: Building a Conversational Commerce Strategy that Converts

By Gabrielle Policella
0 min read . By Gabrielle Policella

TL;DR:

  • Implement quickly and optimize continuously. Cornbread's rollout was three phases: audit knowledge base, launch, then refine. Stacy conducts biweekly audits and provides daily AI feedback to ensure responses are accurate and on-brand.
  • Simplify your knowledge base language. Before BFCM, Stacy rephrased all guidance documentation to be concise and straightforward so Shopping Assistant could deliver information quickly without confusion.
  • Use proactive suggested questions. Most of Cornbread's Shopping Assistant engagement comes from Suggested Product Questions that anticipate customer needs before they even ask.
  • Treat AI as another team member. Make sure the tone and language AI uses match what human agents would say to maintain consistent customer relationships.
  • Free up agents for high-value work. With AI handling straightforward inquiries, Cornbread's CX team expanded into social media support, launched a retail pop-up shop, and has more time for relationship-building phone calls.

Customer education has become a critical factor in converting browsers into buyers. For wellness brands like Cornbread Hemp, where customers need to understand ingredients, dosages, and benefits before making a purchase, education has a direct impact on sales. The challenge is scaling personalized education when support teams are stretched thin, especially during peak sales periods.

Katherine Goodman, Senior Director of Customer Experience, and Stacy Williams, Senior Customer Experience Manager, explain how implementing Gorgias's AI Shopping Assistant transformed their customer education strategy into a conversion powerhouse. 

In our second AI in CX episode, we dive into how Cornbread achieved a 30% conversion rate during BFCM, saving their CX team over four days of manual work.

Top learnings from Cornbread's conversational commerce strategy

1. Customer education drives conversions in wellness

Before diving into tactics, understanding why education matters in the wellness space helps contextualize this approach.

Katherine, Senior Director of Customer Experience at Cornbread Hemp, explains:

"Wellness is a very saturated market right now. Getting to the nitty-gritty and getting to the bottom of what our product actually does for people, making sure they're educated on the differences between products to feel comfortable with what they're putting in their body."

The most common pre-purchase questions Cornbread receives center around three areas: ingredients, dosages, and specific benefits. Customers want to know which product will help with their particular symptoms. They need reassurance that they're making the right choice.

What makes this challenging: These questions require nuanced, personalized responses that consider the customer's specific needs and concerns. Traditionally, this meant every customer had to speak with a human agent, creating a bottleneck that slowed conversions and overwhelmed support teams during peak periods.

2. Shopping Assistant provides education that never sleeps

Stacy, Senior Customer Experience Manager at Cornbread, identified the game-changing impact of Shopping Assistant:

"It's had a major impact, especially during non-operating hours. Shopping Assistant is able to answer questions when our CX agents aren't available, so it continues the customer order process."

A customer lands on your site at 11 PM, has questions about dosage or ingredients, and instead of abandoning their cart or waiting until morning for a response, they get immediate, accurate answers that move them toward purchase.

The real impact happens in how the tool anticipates customer needs. Cornbread uses suggested product questions that pop up as customers browse product pages. Stacy notes:

"Most of our Shopping Assistant engagement comes from those suggested product features. It almost anticipates what the customer is asking or needing to know."

Actionable takeaway: Don't wait for customers to ask questions. Surface the most common concerns proactively. When you anticipate hesitation and address it immediately, you remove friction from the buying journey.

3. Implementation follows a clear three-phase approach

One of the biggest myths about AI is that implementation is complicated. Stacy explains how Cornbread’s rollout was a straightforward three-step process: audit your knowledge base, flip the switch, then optimize.

"It was literally the flip of a switch and just making sure that our data and information in Gorgias was up to date and accurate." 

Here's Cornbread’s three-phase approach:

  1. Preparation. Before launching, Cornbread conducted a comprehensive audit of their knowledge base to ensure accuracy and completeness. This groundwork is critical because your AI is only as good as the information it has access to.
  2. Launch and training. After going live, the team met weekly with their Gorgias representative for three to four weeks. They analyzed engagements, reviewed tickets, and provided extensive AI feedback to teach Shopping Assistant which responses were appropriate and how to pull from the knowledge base effectively.
  3. Ongoing optimization. Now, Stacy conducts audits biweekly and continuously updates the knowledge base with new products, promotions, and internal changes. She also provides daily AI feedback, ensuring responses stay accurate and on-brand.

Actionable takeaway: Block out time for that initial knowledge base audit. Then commit to regular check-ins because your business evolves, and your AI should evolve with it.

Read more: AI in CX Webinar Recap: Turning AI Implementation into Team Alignment

4. Simple, concise language converts better

Here's something most brands miss: the way you write your knowledge base articles directly impacts conversion rates.

Before BFCM, Stacy reviewed all of Cornbread's Guidance and rephrased the language to make it easier for AI Agent to understand. 

"The language in the Guidance had to be simple, concise, very straightforward so that Shopping Assistant could deliver that information without being confused or getting too complicated," Stacy explains. When your AI can quickly parse and deliver information, customers get faster, more accurate answers. And faster answers mean more conversions.

Katherine adds another crucial element: tone consistency.

"We treat AI as another team member. Making sure that the tone and the language that AI used were very similar to the tone and the language that our human agents use was crucial in creating and maintaining a customer relationship."

As a result, customers often don't realize they're talking to AI. Some even leave reviews saying they loved chatting with "Ally" (Cornbread's AI agent name), not realizing Ally isn't human.

Actionable takeaway: Review your knowledge base with fresh eyes. Can you simplify without losing meaning? Does it sound like your brand? Would a customer be satisfied with this interaction? If not, time for a rewrite.

Read more: How to Write Guidance with the “When, If, Then” Framework

5. Black Friday results proved the strategy works under pressure

The real test of any CX strategy is how it performs under pressure. For Cornbread, Black Friday Cyber Monday 2025 proved that their conversational commerce strategy wasn't just working, it was thriving.

Over the peak season, Cornbread saw: 

  • Shopping Assistant conversion rate jumped from a 20% baseline to 30% during BFCM
  • First response time dropped from over two minutes in 2024 to just 21 seconds in 2025
  • Attributed revenue grew by 75%
  • Tickets doubled, but AI handled 400% more tickets compared to the previous year
  • CSAT scores stayed exactly in line with the previous year, despite the massive volume increase

Katherine breaks down what made the difference:

"Shopping Assistant popping up, answering those questions with the correct promo information helps customers get from point A to point B before the deal ends."

During high-stakes sales events, customers are in a hurry. They're comparing options, checking out competitors, and making quick decisions. If you can't answer their questions immediately, they're gone. Shopping Assistant kept customers engaged and moving toward purchase, even when human agents were swamped.

Actionable takeaway: Peak periods require a fail-safe CX strategy. The brands that win are the ones that prepare their AI tools in advance.

6. Strategic work replaces reactive tasks

One of the most transformative impacts of conversational commerce goes beyond conversion rates. What your team can do with their newfound bandwidth matters just as much.

With AI handling straightforward inquiries, Cornbread's CX team has evolved into a strategic problem-solving team. They've expanded into social media support, provided real-time service during a retail pop-up, and have time for the high-value interactions that actually build customer relationships.

Katherine describes phone calls as their highest value touchpoint, where agents can build genuine relationships with customers. “We have an older demographic, especially with CBD. We received a lot of customer calls requesting orders and asking questions. And sometimes we end up just yapping,” Katherine shares. “I was yapping with a customer last week, and we'd been on the call for about 15 minutes. This really helps build those long-term relationships that keep customers coming back."

That's the kind of experience that builds loyalty, and becomes possible only when your team isn't stuck answering repetitive tickets.

Stacy adds that agents now focus on "higher-level tickets or customer issues that they need to resolve. AI handles straightforward things, and our agents now really are more engaged in more complicated, higher-level resolutions."

Actionable takeaway: Stop thinking about AI only as a cost-cutting tool and start seeing it as an impact multiplier. The goal is to free your team to work on conversations that actually move the needle on customer lifetime value.

7. Continuous optimization for January and beyond

Cornbread isn't resting on their BFCM success. They're already optimizing for January, traditionally the biggest month for wellness brands as customers commit to New Year's resolutions.

Their focus areas include optimizing their product quiz to provide better data to both AI and human agents, educating customers on realistic expectations with CBD use, and using Shopping Assistant to spotlight new products launching in Q1.

Build your conversational commerce strategy now

The brands winning at conversational commerce aren't the ones with the biggest budgets or the largest teams. They're the ones who understand that customer education drives conversions, and they've built systems to deliver that education at scale.

Cornbread Hemp's success comes down to three core principles: investing time upfront to train AI properly, maintaining consistent optimization, and treating AI as a team member that deserves the same attention to tone and quality as human agents.

As Katherine puts it:

"The more time that you put into training and optimizing AI, the less time you're going to have to babysit it later. Then, it's actually going to give your customers that really amazing experience."

Watch the replay of the whole conversation with Katherine and Stacy to learn how Gorgias’s Shopping Assistant helps them turn browsers into buyers. 

{{lead-magnet-1}}

min read.

How to Pitch Gorgias Shopping Assistant to Leadership

Want to show leadership how AI can boost revenue and cut support costs? Learn how to pitch Gorgias Shopping Assistant with data that makes the case.
By Alexa Hertel
0 min read . By Alexa Hertel

TL;DR:

  • Position Shopping Assistant as a revenue-driving tool. It boosts AOV, GMV, and chat conversion rates, with some brands seeing up to 97% higher AOV and 13x ROI.
  • Highlight its role as a proactive sales agent, not just a support bot. It recommends products, applies discounts, and guides shoppers to checkout in real time.
  • Use cross-industry case studies to make your case. Show leadership success stories from brands like Arc’teryx, bareMinerals, and TUSHY to prove impact.
  • Focus on the KPIs it improves. Track AOV, GMV, chat conversion, CSAT, and resolution rate to demonstrate clear ROI.

Rising customer expectations, shoppers willing to pay a premium for convenience, and a growing lack of trust in social media channels to make purchase decisions are making it more challenging to turn a profit.  

In this emerging era, AI’s role is becoming not only more pronounced, but a necessity for brands who want to stay ahead. Tools like Gorgias Shopping Assistant can help drive measurable revenue while reducing support costs. 

For example, a brand that specializes in premium outdoor apparel implemented Shopping Assistant and saw a 2.25% uplift in GMV and 29% uplift in average order volume (AOV).

But how, among competing priorities and expenses, do you convince leadership to implement it? We’ll show you.

Why conversational AI matters for modern ecommerce

1) Meet high consumer expectations

Shoppers want on-demand help in real time that’s personalized across devices. 

Shopping Assistant recalls a shopper’s browsing history, like what they have clicked, viewed, and added to their cart. This allows it to make more relevant suggestions that feel personal to each customer. 

2) Keep up with market momentum

The AI ecommerce tools market was valued at $7.25 billion in 2024 and is expected to reach $21.55 billion by 2030

Your competitors are using conversational AI to support, sell, and retain. Shopping Assistant satisfies that need, providing upsells and recommendations rooted in real shopper behavior. 

3) Raise AOV and GMV

Conversational AI has real revenue implications, impacting customer retention, average order value (AOV), conversion rates, and gross market value (GMV). 

For example, a leading nutrition brand saw a GMV uplift of over 1%, an increase in AOV of over 16%, and a chat conversion rate of over 15% after implementing Shopping Assistant.

Overall, Shopping Assistant drives higher engagement and more revenue per visitor, sometimes surpassing 50% and 20%, respectively.

AI Agent chat offering 8% discount on Haabitual Shimmer Layer with adjustable strategy slider.
Shopping Assistant can send discounts based on shopper behavior in real time.

How to show the business impact & ROI of Shopping Assistant

1) Pitch its core capabilities

Shopping Assistant engages, personalizes, recommends, and converts. It provides proactive recommendations, smart upsells, dynamic discounts, and is highly personalized, all helping to guide shoppers to checkout

Success spotlight

After implementing Shopping Assistant, leading ecommerce brands saw real results:

Industry

Primary Use Case

GMV Uplift (%)

AOV Uplift (%)

Chat CVR (%)

Home & interior decor 🖼️

Help shoppers coordinate furniture with existing pieces and color schemes.

+1.17

+97.15

10.30

Outdoor apparel 🎿

In-depth explanations of technical features and confidence when purchasing premium, performance-driven products.

+2.25

+29.41

6.88

Nutrition 🍎

Personalized guidance on supplement selection based on age, goals, and optimal timing.

+1.09

+16.40

15.15

Health & wellness 💊

Comparing similar products and understanding functional differences to choose the best option.

+1.08

+11.27

8.55

Home furnishings 🛋️

Help choose furniture sizes and styles appropriate for children and safety needs.

+12.26

+10.19

1.12

Stuffed toys 🧸

Clear care instructions and support finding replacements after accidental product damage.

+4.43

+9.87

3.62

Face & body care 💆‍♀️

Assistance finding the correct shade online, especially when previously purchased products are no longer available.

+6.55

+1.02

5.29

2) Position it as a revenue driver

Shopping Assistant drives uplift in chat conversion rate and makes successful upsell recommendations.  

Success spotlight

“It’s been awesome to see Shopping Assistant guide customers through our technical product range without any human input. It’s a much smoother journey for the shopper,” says Nathan Larner, Customer Experience Advisor for Arc’teryx. 

For Arc’teryx, that smoother customer journey translated into sales. The brand saw a 75% increase in conversion rate (from 4% to 7%) and 3.7% of overall revenue influenced by Shopping Assistant. 

Arc'teryx Rho Zip Neck Women's product page showing black base layer and live chat box.
Arc’teryx saw a 75% increase in conversion rate after implementing Shopping Assistant. Arc’teryx 

3) Show its efficiency and cost savings

Because it follows shoppers’ live journey during each session on your website, Shopping Assistant catches shoppers in the moment. It answers questions or concerns that might normally halt a purchase, gets strategic with discounting (based on rules you set), and upsells. 

The overall ROI can be significant. For example, bareMinerals saw an 8.83x return on investment.  

Success spotlight

"The real-time Shopify integration was essential as we needed to ensure that product recommendations were relevant and displayed accurate inventory,” says Katia Komar, Sr. Manager of Ecommerce and Customer Service Operations, UK at bareMinerals. 

“Avoiding customer frustration from out-of-stock recommendations was non-negotiable, especially in beauty, where shade availability is crucial to customer trust and satisfaction. This approach has led to increased CSAT on AI converted tickets."

AI Agent chat recommending foundation shades and closing ticket with 5-star review.

4) Present the metrics it can impact

Shopping Assistant can impact CSAT scores, response times, resolution rates, AOV, and GMV.  

Success spotlight

For Caitlyn Minimalist, those metrics were an 11.3% uplift in AOV, an 18% click through rate for product recommendations, and a 50% sales lift versus human-only chats. 

"Shopping Assistant has become an intuitive extension of our team, offering product guidance that feels personal and intentional,” says Anthony Ponce, its Head of Customer Experience.

 

AI Agent chat assisting customer about 18K gold earrings, allergies, and shipping details.
Caitlyn Minimalist leverages Shopping Assistant to help guide customers to purchase. Caitlyn Minimalist 

5) Highlight its helpfulness as a sales agent 

Support agents have limited time to assist customers as it is, so taking advantage of sales opportunities can be difficult. Shopping Assistant takes over that role, removing obstacles for purchase or clearing up the right choice among a stacked product catalog.

Success spotlight

With a product that’s not yet mainstream in the US, TUSHY leverages Shopping Assistant for product education and clarification. 

"Shopping Assistant has been a game-changer for our team, especially with the launch of our latest bidet models,” says Ren Fuller-Wasserman, Sr. Director of Customer Experience at TUSHY. 

“Expanding our product catalog has given customers more choices than ever, which can overwhelm first-time buyers. Now, they’re increasingly looking to us for guidance on finding the right fit for their home and personal hygiene needs.”

The bidet brand saw 13x return on investment after implementation, a 15% increase in chat conversion rate, and a 2x higher conversion rate for AI conversations versus human ones. 

AI Agent chat helping customer check toilet compatibility and measurements for TUSHY bidet.
AI Agent chat helping customer check toilet compatibility and measurements for TUSHY bidet.

6) Provide the KPIs you’ll track 

Customer support metrics include: 

  • Resolution rate 
  • CSAT score 

Revenue metrics to track include: 

  • Average order value (AOV) 
  • Gross market value (GMV) 
  • Chat conversion rate 

Shopping Assistant: AI that understands your brand 

Shopping Assistant connects to your ecommerce platform (like Shopify), and streamlines information between your helpdesk and order data. It’s also trained on your catalog and support history. 

Allow your agents to focus on support and sell more by tackling questions that are getting in the way of sales. 

{{lead-magnet-2}}

min read.
Shopping Assistant Use Cases

11 Real Ways Ecommerce Brands Use Gorgias Shopping Assistant to Drive Sales

Here are 11 ways to use Gorgias Shopping Assistant to make the shopping experience more valuable.
By Holly Stanley
0 min read . By Holly Stanley

TL;DR:

  • Shoppers often hesitate around sizing, shade matching, styling, and product comparisons, and those moments are key revenue opportunities for CX teams.
  • Guided shopping removes that friction by giving shoppers quick, personalized recommendations that build confidence in their choices.
  • Across 11 brands, guided shopping led to measurable lifts in AOV, conversion rate, and overall revenue.
  • Your biggest upsell opportunities likely sit in the same places your shoppers pause, so start by automating your most common pre-purchase questions.

Most shoppers arrive with questions. Is this the right size? Will this match my skin tone? What’s the difference between these models? The faster you can guide them, the faster they decide.

As CX teams take on a bigger role in driving revenue, these moments of hesitation are now some of the most important parts of the buying journey.

That’s why more brands are leaning on conversational AI to support these high-intent questions and remove the friction that slows shoppers down. The impact speaks for itself. Brands can expect higher AOV, stronger chat conversion rates, and smoother paths to purchase, all without adding extra work to your team.

Below, we’re sharing real use cases from 11 ecommerce brands across beauty, apparel, home, body care, and more, along with the exact results they saw after introducing guided shopping experiences.

1. Recommend similar shoes when an old classic disappears

When you’re shopping for shoes similar to an old but discontinued favorite, every detail counts, down to the color of the bottom of the shoe. But legacy brands with large catalogs can be overwhelming to browse.

For shoppers, it’s a double-edged sword: they want to feel confident that they checked your entire collection, but they also don’t want to spend time looking for it.

How Shopping Assistant helps:

Shopping Assistant accelerates the process, turning hazy details into clear, friendly guidance.

It describes shoe details, from colorways to logo placement, compares products side by side, and recommends the best option based on the shopper’s preferences and conditions.

The result is shoppers who feel satisfied and more connected with your brand.

Results:

  • AOV uplift: +6.5%

2. Suggest complete outfits for special occasions

Big events call for great outfits, but putting one together online isn’t always easy. With thousands of options to scroll through, shoppers often want a bit of styling direction.

How Shopping Assistant helps:

Shoppers get to chat with a virtual stylist who recommends full outfits based on the occasion, suggests accessories to complete the look, and removes the guesswork of pairing pieces together. 

The result is a fun, confidence-building shopping experience that feels like getting advice from a stylist who actually understands their plans.

Results:

  • Chat CVR: 13.02%

3. Match shoppers to the right makeup shade when the formula changes

Shade matching is hard enough in-store, but doing it online can feel impossible. Plus, when a longtime favorite gets discontinued, shoppers are left guessing which new shade will come closest. That uncertainty often leads to hesitation, abandoned carts, or ordering multiple shades “just in case.”

How Shopping Assistant helps:

Shoppers find their perfect match without any of the guesswork. The assistant asks a few quick questions, recommends the closest shade or formula, and offers smart alternatives when a product is unavailable.

The experience feels like chatting with a knowledgeable beauty advisor — someone who makes the decision easy and leaves shoppers feeling confident in what they’re buying.

Katia Komar, Sr. Manager of Ecommerce and Customer Service Operations at bareMinerals UK says, “What impressed me the most is the AI’s ability to upsell with a conversational tone that feels genuinely helpful and doesn't sound too pushy or transactional. It sounds remarkably human, identifying correct follow-up questions to determine the correct product recommendation, resulting in improved AOV. It’s exactly how I train our human agents and BPO partners.”

Gorgias AI Agent recommends a powder that pairs well with the foundation a customer wears.
Gorgias Shopping Assistant recommends a powder that pairs well with the foundation a customer currently wears.

Results:

  • GMV uplift: +6.55%

4. Help find the perfect gift when shoppers don’t know what to buy

When shoppers are buying gifts, especially for someone else, they often know who they’re shopping for but not what to buy. A vague product name or a half-remembered scent can quickly make the experience feel overwhelming without someone to guide them.

How Shopping Assistant helps:

Thoughtful guidance goes a long way. By asking clarifying questions and recognizing likely mix-ups, Shopping Assistant helps shoppers figure out what the recipient was probably referring to, then recommends the right product along with complementary gift options that make the choice feel intentional.

It brings the reassurance of an in-store associate to the online experience, helping shoppers move forward with confidence.

Results:

  • Chat CVR: 8.39%

5. Remove the guesswork from bra sizing online

Finding the right bra size online is notoriously tricky. Shoppers often second-guess their band or cup size, and even small uncertainties can lead to returns — or abandoning the purchase altogether.

Many customers just want someone to walk them through what a proper fit should actually feel like.

How Shopping Assistant helps:

Searching for products is no longer a time-consuming process. Shopping Assistant detects a shopper’s search terms and sends relevant products in chat. Like an in-store associate, it uses context to deliver what shoppers are looking for, so they can skip the search and head right to checkout.

Results:

  • GMV uplift: +6.22%
  • Chat CVR: 16.78%

6. Guide shoppers through jewelry personalization step by step

For shoppers buying personalized jewelry, the details directly affect the final result. That’s why customization questions come up constantly, and why uncertainty can quickly stall the path to purchase.

How Shopping Assistant helps:

Shopping Assistant asks about the shopper’s style preferences and customization needs, then recommends the right product and options so they can feel confident the final piece is exactly their style. The experience feels quick, helpful, and designed to guide shoppers toward a high investment purchase.

Results:

  • GMV uplift: +22.59%

7. Recommend furniture that works well together

Decorating a home is personal, and shoppers often want reassurance that a new piece will blend with what they already own. Questions about color palettes, textures, and proportions come up constantly. And without guidance, it’s easy for shoppers to feel unsure about hitting “add to cart.”

How Shopping Assistant helps:

Giving shoppers personalized styling support helps them visualize how pieces will work in their home. 

Shoppers receive styling suggestions based on their existing space as well as recommendations on pieces that complement their color palette. 

It even guides them toward a 60-minute virtual styling consultation when they need deeper help. The experience feels thoughtful and high-touch, which is why shoppers often spend more once they feel confident in their choices.

Results:

  • AOV uplift: +97.15%
  • Chat CVR: 10.3%

8. Reassure shoppers about flavor before purchase

When shoppers discover a new drink mix, they’re bound to have questions before committing. How strong will it taste? How much should they use? Will it work with their preferred drink or routine? Uncertainty at this stage can stall the purchase or lead to disappointment later.

How Shopping Assistant helps:

Clear, friendly guidance in chat helps shoppers understand exactly how to use the product. Shopping Assistant answers questions about serving size, flavor strength, and pairing options, and suggests the best way to prepare the mix based on the shopper’s preferences.

Results:

  • Chat CVR: 12.75%

9. Match supplements to age, lifestyle, and health goals

Shopping for health supplements can feel confusing fast. Customers often have questions about which formulas fit their age, health goals, or daily routine. Without clear guidance, most will hesitate or pick the wrong product.

How Shopping Assistant helps:

Shopping Assistant detects hesitation when shoppers linger on a search results page. It proactively asks a few clarifying questions, narrows down product options, and points shoppers to the best product or bundle for their needs. 

The entire experience feels supportive and gives shoppers confidence they’ve picked the right option.

Results:

  • AOV uplift: +16.4%
  • Chat CVR: 15.15%

10. Align products with safety needs in kids’ rooms

Shopping for kids’ furniture comes with a lot of “Is this the right one?” moments. Parents want something safe, sturdy, and sized correctly for their child’s age. With so many options, it’s easy to feel unsure about what will actually work in their space.

How Shopping Assistant helps:

Shopping Assistant guides parents toward the best fit right away. It asks about their child’s age, room layout, and safety considerations, then recommends the most appropriate bed or furniture setup. The experience feels like chatting with a knowledgeable salesperson who understands what families actually need as kids grow.

Results:

  • GMV uplift: +12.26%
  • AOV uplift: +10.19%

11. Clarify technical specs that create hesitation

Even something as simple as choosing a toothbrush can feel complicated when multiple models come with different speeds, materials, and features. Shoppers want to understand what matters so they can pick the one that fits their routine and budget.

How Shopping Assistant helps:

Choosing between toothbrush models shouldn’t feel like decoding tech specs. When shoppers can see the key differences in plain language, including what’s unique, how each model works, and who it’s best for, they can make a decision with ease. 

Suddenly, the whole process feels simple instead of overwhelming.

Results:

  • AOV uplift: +11.27%
  • Chat CVR: 8.55%

What these results tell us

Across all 11 brands, one theme is clear. When shoppers get the guidance they need at the right moment, they convert more confidently and often spend more.

Here’s what stands out:

  • AOV jumps when products are technical or high in consideration. Home decor, supplements, and outdoor gear see the biggest lifts because shoppers feel more confident committing to higher-priced items once the details are explained.
  • CVR surges in categories with complex decisions. Lingerie, apparel, and personal styling all showed strong conversion rates because shoppers finally get clarity on fit, shade, or style.
  • GMV rises when AI removes friction from the buying journey. Furniture and beauty saw meaningful gains thanks to personalized recommendations that reduce uncertainty and push shoppers toward the right product faster.
  • The use cases reveal clear upsell opportunities. If your team sees recurring questions about sizing, shade matching, product differences, or how items work together, that’s a strong signal that guided selling can drive more revenue.

What this means for you:

Look closely at your most common pre-purchase questions. Anywhere shoppers hesitate from fit, shade, technical specs, styling, bundles is a place where Shopping Assistant can step in, boost confidence, and unlock more sales.

Want Shopping Assistant results like these?

If you notice the same patterns in your own store, such as shoppers hesitating over sizing, shade matching, product comparisons, or technical details, guided shopping can make an immediate impact. These moments are often your biggest opportunities to increase revenue and improve the buying experience.

Many of the brands in this post started by identifying their most common pre-purchase questions and letting AI handle them at scale. You can do the same.

If you want to boost conversions, lift AOV, and create a smoother path to purchase, now is a great time to explore guided shopping for your team.

Book a demo or activate Shopping Assistant to get started.

{{lead-magnet-2}}

min read.
Create powerful self-service resources
Capture support-generated revenue
Automate repetitive tasks

Further reading

Announcing The Recharge Integration

Announcing the ReCharge integration

By Astrid Parmentier
1 min read.
0 min read . By Astrid Parmentier

Recharge is the most popular subscription app in the Shopify app store and is the preferred solution for Shopify Plus stores. Over 10,000 Shopify merchants chose ReCharge to help sell products on a recurring basis, including stores like Dr. Axe, Hubble Contacts, and 5 Hour Energy.

The challenge is, when a customer has an issue with their subscription, the support team needs to jump between their helpdesk, Shopify and the ReCharge platform to fix the problem. This negatively impacts response time. Agents end up wasting hours per week going to ReCharge to skip a box for a customer, edit a subscription, etc. One of the key advantages of using Gorgias is to manage all your customer support in one place. A few months ago, our customer Darn Good Yarn asked us to build an integration with ReCharge. They no longer wanted to switch between ReCharge, Shopify and their helpdesk. This was completely aligned with our vision, so we decided to build it.

Today, we're excited to announce we've partnered with ReCharge to launch this integration.

Here are the key benefits:

  1. Display ReCharge subscriptions next to support tickets.
  2. Edit ReCharge subscriptions in one click from your helpdesk: refund charges, skip monthly payments or cancel subscriptions from Gorgias
  3. When a customer ask to edit their subscription, you can send them an auto-response with the link to manage the subscription.

“Gorgias gives us a holistic view of our customers. This way we can provide them with fast and personalized help”
Nicole Snow, DarnGoodYarn

Let’s take the example of Averill John. She wants to cancel her subscription to the Yummy Box and has just sent an email to your support.

Here is how your helpdesk looks like:

You can see that Astrid has been assigned to this ticket and that this ticket is tagged “Ambassador”. It means that Averill is one of your super loyal customers.

On the right, you can see the ReCharge account data of Averill. Here, Averill has a monthly subscription to the Yummy Box and will be charged on the 15th of October.

Astrid can skip the October charge in one-click on the “Skip charge on subscription” button. It will immediately set the action within ReCharge. Response time? Less than 1 minute!

If you're already a Gorgias customer, head to your account and go to Integrations to connect ReCharge. If not, you can create an account here and get started in a few minutes.

No items found.
New Integration

Announcing the Aircall integration

By
1 min read.
0 min read . By

One of the key advantages of using Gorgias is to provide a unified support experience to your customers across all channels. A few months ago, some of our customers asked us to build a phone integration. Traditional helpdesk integrations simply log calls as tickets. We wanted to go one step further and associate the phone call with the right customer.

Today, we're excited to announce we've partnered with Aircall to build this integration.

Aircall arms small-to-medium sized business (SMBs) with a phone system built for modern business. With zero hardware to manage, dozens of integration options to explore, and the ability to add local numbers in more than 40 countries, support teams can easily provide phone support in minutes.

Here are the benefits of this new integration:

  • When a customer calls your company in Aircall, it creates a ticket in Gorgias and automatically matches it with the corresponding Shopify customer. This way, your staff can edit orders while they are on the phone with the customer.
  • Your team sees all previous interactions they had with each customer, under their timeline.
  • Get omni-channel statistics. Gorgias stats include Aircall phone data. For instance, you can monitor if you're getting more return requests over the phone or through Facebook Messenger.

If you're already a Gorgias customer, head to your account and go to Integrations to connect Aircall. If not, you can create an account here and get started in a few minutes.

No items found.
Shopify Plus Partner

We're joining the Shopify Plus Technology Partner Program

By
1 min read.
0 min read . By

Today, we’re thrilled to announce we’re joining the Shopify Plus Technology partner program.

Over the past few months, we’ve worked with some incredible Shopify Plus merchants like Darn Good Yarn, Fjallraven and Frichti, who serve tens of thousands of customers every month. What they all had in common was a shared commitment to maximizing the efficiency of the customer service team to keep delivering high-quality support as they grow.

We’ve worked with other technology partners, like LoyaltyLion, in order to provide merchants with a holistic view of their customers when they respond to them in an effort to continue delivering best-in-class support interactions. We’ve also worked with the Plus team to leverage the latest features of the Shopify Plus API, to allow agents to create customized solutions for their customers, For example, creating personalized gift cards based on support conversations. Also, check out the guide we wrote comparing Shopify and Shopify Plus for an idea of the additional functionality and benefits ecommerce business owners get when they upgrade to Shopify Plus.

Using our technology, we’re proud to announce that our Shopify Plus customers have managed to improve their support request treatment time by 30%.

By joining the Technology Partner Program, we’re excited to take our collaboration with Shopify Plus and Shopify Plus merchants to the next level, by further enabling more customers to improve their customer service.

"We are glad to welcome Gorgias to the Shopify Plus Technology Partner Program. We’re particularly excited about how they’re helping our merchants provide efficient & personalized customer support, and hope they can help more of them."
Jamie Sutton, Head of Technology Partnerships, Shopify Plus
No items found.
We're Integrating With LoyaltyLion

We're integrating with LoyaltyLion!

By
1 min read.
0 min read . By

Great news! Today, we're announcing a new integration with LoyaltyLion. LoyaltyLion is a digital loyalty framework that gives ecommerce stores innovative ways to engage and retain customers.

Our mutual customer Darn Good Yarn uses it to successfully increase customer retention. When they switched from Freshdesk to Gorgias to manage customer support, they wanted to leverage their loyalty program for customer support.

We used their feedback to build the integration with LoyaltyLion, which they have been using for a couple months in beta. Today, we're excited to make it available to all our users.

What is the LoyaltyLion integration?

Here are some of the benefits of this integration:

  • Display how many points a customer has when they contact your support team
  • When you respond to customer support requests, award loyalty points to customers directly in Gorgias
  • Include the customer's personal referral url in your responses. This way, if they are happy about your support, they'll refer their friends to your store.

alt

Overall, this allows your team to use your loyalty program for customer service.

"We love being able to issue our customers loyalty points directly from Gorgias! It's a great way to boost efficiency and also customer retention."

Chloe Kesler, Customer Support manager at Darn Good Yarn

How can I use the LoyaltyLion Integration?

The integration is immediately available on your Gorgias account. If you don't have an account, you can create one here. Then, follow the instructions in our documentation and you can get started!

No items found.
Customer Support To Increase Sales

How to leverage customer support to increase sales?

By
14 min read.
0 min read . By

Most customers are loyal to brands because they know what level of service they can expect. As a result, providing an above-average customer experience is key to increase repeat in sales.

It’s relatively easy to provide great support when you get started with your store: your team gets a few dozens of support requests a day, and they respond to them almost instantly. The thing is, this level of service is very hard to maintain as you scale. Response time usually drops, and most brands start using standardized macros to keep up with the pace, which is a poor customer experience.

Your sales have increased, good. Now, you need to get your customer support up to speed

alt


Source: Gorgias customers during the Thanksgiving peak

At Gorgias, we’ve been chatting with 400 stores over the past year, and we’ve seen a lot of them working on crossing this “chasm”.

This post shares learning on how you can build a customer support organization that will scale with your business, and provide best-in-class customer service, which will drive customer retention.

Step 1: Run an audit of your support organization

A good place to start is to list the most common reasons customers are contacting you about. Go ahead and manually classify 200 tickets from your support inbox. This should take you about an hour. You can build categories from scratch, or use this spreadsheet of the most common requests for e-commerce companies we built.


alt
Most frequent support requests in e-commerce. Source: Gorgias customers


Now, you should be able to understand what problems are causing the most pain to customers.

If a specific type of request is above 10% of requests, then it’s a good candidate for optimization. For instance, if you’re getting a lot of “where is my order” questions, here are a few things you can do to deflect those:

  • Add a tracking section for customers to track their package on your site. Aftership can help here.
  • Send updates to customers about issues with delivery, through SMS or email.

Now that you have a good understanding of the reasons customers are contacting you for, you can map the customer journey, and identify what actions your agents need to take to respond to tickets.

Later, you can use this for training purposes, and to identify optimization opportunities.

At Piper, we basically studied the whole customer journey and tried to identify all reasons why someone could contact us (based on previous history). This helped us quickly identify where customers were "blocked"

Finally, let’s analyze the efficiency of your team. Of course, every business is different, but you can use this table to figure out how efficient your agents are compared to other stores. A good metric to track it is ticket closed per month. Just make sure that satisfaction remains consistent.

alt

Related: Learn more about the impact of live chat on sales. And see how Gorgias live chat can help you turn more browsers into buyers with chat campaigns.

Step 2: Figure out how you can improve the customer experience

Now, let’s work on creating “wow moments” for your customers. If you manage to exceed customers expectations when they contact you, you’re most likely to increase their loyalty and have them refer your store to their friends.

Here are a few ways you can create “wow moments”.

Make it easy for customers to contact you

You should be where your customers are. For example, if you have a Facebook page with a large audience, consider it as a real customer support channel. The point is, you should provide the same level of assistance across all support channels that your customer will use.

Also, don't be afraid to contact customers first, especially when they have items in their shopping cart. Offering help or a discount code at the right time could make the difference between a sale and an abandoned cart.

Example: providing high quality support on Facebook
70% of customers consider Facebook as a live chat support. To maximize customer satisfaction, your response time should be no more than 1 min. You’ll then be listed as a very responsive page, which will encourage your customers to respond.

alt

You can also leverage public posts to build relationship with your customers. Another easy way to facilitate customer communication is to remove the need for customers to repeat themselves. On your support platform, make sure your merge Facebook conversations with email tickets. This way, if the customer switches channel, your team will have access to the context of what the customer said before.

Related: Check out our trends and best practices for customer support.

Personalize every interaction with customer support

You should leverage every data point you have about the customer to personalize the way you communicate with them:
For how long they have been a customer
Their order preference
Their location
The days of the “we value your business” are over.

Always go an extra mile for your customers. If the customer asks for the status of their order, don’t respond only with the tracking number. Go get the order status on UPS so the customer doesn’t have to do it themselves when they’ll receive your email in the subway with poor network connection.

alt

Another good thing to do is to use a specific tone with your customer, that matches the brand image you want to convey.

If you’re into gifs, you can use them to build a brand tone your own set of gifs, designed for your own brand, and use them in your support emails. You can hire an illustrator on Upwork for that, or build them yourself.

Related: Tips to respond to angry customer emails.

Step 3: Give your team the “ironman suit” for support

Now that you know the level of support you aim at giving your customers, and you know what actions your agents need to take to get the delivery info, create an RMAs, etc., you can start optimizing the process for them.

Display rich customer profiles for your agents

To personalize messages, your agents need to have access to customer data. You can leverage the standard Shopify integration from your help desk as a starting point.

Though, it can be relevant to connect other data points to your help desk:

  • Display fulfillment data. Shippo is great for that
  • Inventory data: Stitch, display inventory to the reps
  • NPS responses
  • Responses to last promotions

If you’re on Zendesk, enabling the Shopify integration is a good start: it shows how much the customer has spent, and the past orders.

Some Gorgias customers have pretty advanced widgets that display data from Shopify, Stitch & Shipstation. This way, all the customer information is available.

Empower your reps to perform actions from support conversations

You can create custom widgets for your help desk, so that your agents can trigger actions from your help desk. Here are the most helpful actions:

  • Create a coupon
  • Place a replacement order
  • Cancelling an order
  • Create an RMA

This is a bit more tricky to implement. You need to build a custom app with buttons that will trigger actions - there are some good tutorials for Zendesk, Freshdesk & Help Scout. At Gorgias, we’ve built integrations with Stitch, Shipstation to embed these actions in the product, and enable you to add your own.

Other 3rd party apps like Chargedesk enable you to refund customers in one click.

alt

Step 4: Track your progress

Our goal here is to improve the customer experience to drive sales. A good way to track the efficiency of your support work is to compare the behavior of customers that have been in contact with customer support from those who have not.

Shopify helps you easily to this. You can create an integration between your help desk and Shopify to tag customers who reach out to support, using the Shopify API. Say you add a “customer_support” tag to them.

alt

Then, you can use Shopify statistics to monitor how the cohort of customers who have been in touch with your support team behaves, and assess the impact of your efforts with customer support.

alt

Another way to proceed is to tag orders that generated a support tickets. This way, if you work on improving delivery notifications, you can monitor the impact.

Final thoughts

Building a scalable support team that provides an amazing customer experience takes time.

Try to test different “wow moments”, iterate on the way you personalize messages, on the tone you’re using, and always track your progress. Among the teams we surveyed, several mentioned they managed to increase sales repeat by 30% after implementing these tactics.

Want to learn more about how customer support can improve your conversion rate and lead to more purchases? Check out our guides to ecommerce upselling and Shopify abandoned cart recovery.

Celery Gorgias

Celery + Gorgias

By
1 min read.
0 min read . By

Celery just released their API on Github, currently in beta. Here are some of the cool stuff you can do with it in Gorgias.

Display customer information

When you receive an email from a customer, you can connect your Celery account and see customer information (orders, shipping address, etc.). Here’s what it looks like:


Customer info from Celery

To configure it, grab your Celery access_token, head to integrations, and add an HTTP integration using this URL:
https://api.trycelery.com/v2/orders?buyer.email={ticket.requester.email}

Then you can customize the sidebar to only show the Celery data you need to respond to customers. Click the cog and simply drag and drop elements you want to show.

Select the data you want to show about your customers

Refunds, order change... without leaving tickets

Celery’s API enables you to perform a few actions from your favorite helpdesk:

  • Edit an order
  • Cancel an order
  • Issue a refund
  • Create a coupon

Here’s an example of how you can cancel an order from Gorgias itself. Say you already have a macro to cancel an order. Add an HTTP action to it, in this case:
https://api.trycelery.com/v2/orders/{ticket.requester.customer.data[0].number}/order_cancel

Then, when you use this macro and send it to the customer, it will automatically cancel the last order at the same time:

Action in celery from Gorgias

We hope this integration with Celery can save you time. If you'd like to try Celery with Gorgias, shoot us a note! At support@gorgias.com.

PostgreSQL Backup

PostgreSQL backup with pghoard & kubernetes

By Alex Plugaru
2 min read.
0 min read . By Alex Plugaru

TLDR: https://github.com/xarg/pghoard-k8s

This is a small tutorial on how to do incremental backups using pghoard for your PostgreSQL (I assume you’re running everything in Kubernetes). This is intended to help people to get started faster and not waste time finding the right dependencies, etc..


pghoard is a PostgreSQL backup daemon that incrementally backups your files on a object storage (S3, Google Cloud Storage, etc..).
For this tutorial what we’re trying to achieve is to upload our PostgreSQL to S3.

First, let’s create our docker image (we’re using the alpine:3.4 image cause it’s small):


FROM alpine:3.4

ENV REPLICA_USER "replica"
ENV REPLICA_PASSWORD "replica"

RUN apk add --no-cache \
   bash \
   build-base \        
   python3 \
   python3-dev \
   ca-certificates \
   postgresql \
   postgresql-dev \
   libffi-dev \
   snappy-dev
RUN python3 -m ensurepip && \
   rm -r /usr/lib/python*/ensurepip && \
   pip3 install --upgrade pip setuptools && \
   rm -r /root/.cache && \
   pip3 install boto pghoard


COPY pghoard.json /pghoard.json.template
COPY pghoard.sh /

CMD /pghoard.sh

REPLICA_USER and REPLICA_PASSWORD env vars will be replaced later in your Kubernetes conf by whatever your config is in production, I use those values to test locally using docker-compose.

The config pghoard.json which tells where to get your data from and where to upload it and how:

{
   "backup_location": "/data",
   "backup_sites": {
       "default": {
           "active_backup_mode": "pg_receivexlog",
           "basebackup_count": 2,
           "basebackup_interval_hours": 24,
           "nodes": [
               {
                   "host": "YOUR-PG-HOST",
                   "port": 5432,
                   "user": "replica",
                   "password": "replica",
                   "application_name": "pghoard"
               }
           ],
           "object_storage": {
               "aws_access_key_id": "REPLACE",
               "aws_secret_access_key": "REPLACE",
               "bucket_name": "REPLACE",
               "region": "us-east-1",
               "storage_type": "s3"
           },
           "pg_bin_directory": "/usr/bin"
       }
   },
   "http_address": "127.0.0.1",
   "http_port": 16000,
   "log_level": "INFO",
   "syslog": false,
   "syslog_address": "/dev/log",
   "syslog_facility": "local2"
}

Obviously replace the values above with your own. And read pghoard docs for more config explanation.

Note: Make sure you have enough space in your /data; use a Google Persistent Volume if you DB is very big.

Launch script which does 2 things:

  1. Replaces our ENV variables with the right username and password for our replication (make sure you have enough connections for your replica user)
  2. Launches the pghoard daemon.

#!/usr/bin/env bash

set -e

if [ -n "$TESTING" ]; then
   echo "Not running backup when testing"
   exit 0
fi

cat /pghoard.json.template | sed "s/\"password\": \"replica\"/\"password\": \"${REPLICA_PASSWORD}\"/" | sed "s/\"user\": \"replica\"/\"password\": \"${REPLICA_USER}\"/" > /pghoard.json
pghoard --config /pghoard.json


Once you build and upload your image to gcr.io you’ll need a replication controller to start your pghoard daemon pod:

apiVersion: v1
kind: ReplicationController
metadata:
 name: pghoard
spec:
 replicas: 1
 selector:
   app: pghoard
 template:
   metadata:
     labels:
       app: pghoard
   spec:
       containers:
       - name: pghoard
         env:
           - name: REPLICA_USER
             value: "replicant"
           - name: REPLICA_PASSWORD
             value: "The tortoise lays on its back, its belly baking in the hot sun, beating its legs trying to turn itself over. But it can't. Not with out your help. But you're not helping."
         image: gcr.io/your-project/pghoard:latest

The reason I use a replication controller is because I want the pod to restart if it fails, if a simple pod is used it will stay dead and you’ll not have backups.

Future to do:

  • Monitoring (are you backups actually done? if not, do you receive a notification?)
  • Stats collection.
  • Encryption of backups locally and then uploaded to the cloud (this is supported by pghoard).

Hope it helps, stay safe and sleep well at night.

Again, repo with the above: https://github.com/xarg/pghoard-k8s

Running Flask Celery With Kubernetes

Running Flask & Celery with Kubernetes

By Alex Plugaru
5 min read.
0 min read . By Alex Plugaru

At Gorgias we recently switched our flask & celery apps from Google Cloud VMs provisioned with Fabric to using docker with kubernetes (k8s). This is a post about our experience doing this.

Note: I'm assuming that you're somewhat familiar with Docker.


Docker structure

The killer feature of Docker for us is that it allows us to make layered binary images of our app. What this means is that you can start with a minimal base image, then make a python image on top of that, then an app image on top of the python one, etc..

Here's the hierarchy of our docker images:

  • gorgias/base - we're using phusion/baseimage as a starting base image.
  • gorgias/pgbouncer
  • gorgias/rabbitmq
  • gorgias/nginx - extends gorgias/base and installs NGINX
  • gorgias/python - Installs pip, python3.5 - yes, using it in production.
  • gorgias/app - This installs all the system dependencies: libpq, libxml, etc.. and then does pip install -r requirements.txt
  • gorgias/web - this sets up uWSGI and runs our flask app
  • gorgias/worker - Celery worker

Piece of advice: If you used to run your app using supervisord before I would advise to avoid the temptation to do the same with docker, just let your container crash and let k8s handle it.

Now we can run the above images using: docker-compose, docker-swarm, k8s, Mesos, etc...

We chose Kubernetes too

There is an excellent post about the differences between container deployments which also settles for k8s.

I'll also just assume that you already did your homework and you plan to use k8s. But just to put more data out there:

Main reason: We are using Google Cloud already and it provides a ready to use Kubernetes cluster on their cloud.

This is huge as we don't have to manage the k8s cluster and can focus on deploying our apps to production instead.

Let's begin by making a list of what we need to run our app in production:

  • Database (Postgres)
  • Message queue (RabbitMQ)
  • App servers (uWSGI running Flask)
  • Web servers (NGINX proxies uWSGI and serves static files)
  • Workers (celery)

Why Kubernetes again?

We ran the above in a normal VM environment, why would we need k8s? To understand this, let's dig a bit into what k8s offers:

  • A pod is a group of containers (docker, rtk, lxc...) that runs on a Node. It's a group because sometimes you want to run a few containers next to each other. For example we are running uWSGI and NGINX on the same pod (on the same VM and they share the same ip, ports, etc..).
  • A Node is a machine (VM or metal) that runs a k8s daemon (minion) that runs the Pods.
  • The nodes are managed by the k8s master (which in our case is managed by the container engine from Google).
  • Replication Controller or for short rc tells k8s how many pods of a certain type to run. Note that you don't tell k8s where to run them, it's master's job to schedule them. They are also used to do rolling updates, and autoscaling. Pure awesome.
  • Services take the exposed ports of your Pods and publishes them (usually to the Public). Now what's cool about a service that it can load-balance the connections to your pods, so you don't need to manage your HAProxy or NGINX. It uses labels to figure out what pods to include in it's pool.
  • Labels: The CSS selectors of k8s - use them everywhere!

There are more concepts like volumes, claims, secrets, but let's not worry about them for now.


Postgres

We're using Postgres as our main storage and we are not running it using Kubernetes.

Now we are running postgres in k8s (1 hot standby + pghoard), you can ignore the rest of this paragaph.

The reason here is that we wanted to run Postgres using provisioned SSD + high memory instances. We could have created a cluster just for postgres with these types of machines, but it seemed like an overkill.

The philosophy of k8s is that you should design your cluster with the thought that pods/nodes of your cluster are just gonna die randomly. I haven't figured our how to setup Postgres with this constraint in mind. So we're just running it replicated with a hot-standby and doing backups with wall-e for now. If you want to try it with k8s there is a guide here. And make sure you tell us about it.

RabbitMQ

RabbitMQ (used as message broker for Celery) is running on k8s as it's easier (than Postgres) to make a cluster. Not gonna dive into the details. It's using a replication controller to run 3 pods containing rabbitmq instances. This guide helped: https://www.rabbitmq.com/clustering.html

uWSGI & NGINX

As I mentioned before, we're using a replication controller to run 3 pods, each containing uWSGI & NGINX containers duo: gorgias/web & gorgias/nginx. Here's our replication controller web-rc.yaml config:

apiVersion: v1
kind: ReplicationController
metadata:
 name: web
spec:
 replicas: 3 # how many copies of the template below we need to run
 selector:
   app: web
 template:
   metadata:
     labels:
       app: web
   spec:
     containers:
     - name: web
       image: gcr.io/your-project/web:latest # the image that you pushed to Google Container Registry using gcloud docker push
       ports: # these are the exposed ports of your Pods that are later used by the k8s Service
         - containerPort: 3033
           name: "uwsgi"
         - containerPort: 9099
           name: "stats"
     - name: nginx
       image: gcr.io/your-project/nginx:latest
       ports:
         - containerPort: 8000
           name: "http"
         - containerPort: 4430
           name: "https"
       volumeMounts: # this holds our SSL keys to be used with nginx. I haven't found a way to use the http load balancer of google with k8s.  
         - name: "secrets"
           mountPath: "/path/to/secrets"
           readOnly: true
     volumes:
       - name: "secrets"
         secret:
           secretName: "ssl-secret"
And now the web-service.yaml:apiVersion: v1
kind: Service
metadata:
 name: web
spec:
 ports:
 - port: 80
   targetPort: 8000
   name: "http"
   protocol: TCP
 - port: 443
   targetPort: 4430
   name: "https"
   protocol: TCP
 selector:
   app: web
 type: LoadBalancer

That type: LoadBalancer at the end is super important because it tells k8s to request a public IP and route the network to the Pods with the selector=app:web.
If you're doing a rolling-update or just restarting your pods, you don't have to change the service. It will look for pods matching those labels.

Celery

Also a replication controller that runs 4 pods containing a single container: gorgias/worker, but doesn't need a service as it only consumes stuff. Here's our worker-rc.yaml:

apiVersion: v1
kind: ReplicationController
metadata:
 name: worker
spec:
 replicas: 2
 selector:
   app: worker
 template:
   metadata:
     labels:
       app: worker
   spec:
     containers:
     - name: worker
       image: gcr.io/your-project/worker:latest

Some tips

  • Installing some python deps take a long time, for stuff like numpy, scipy, etc.. try to install them in your namespace/app container using pip and then do another pip install in the container that extends it, ex: namespace/web, this way you don't have to rebuild all the deps every time you update one package or just update your app.
  • Spend some time playing with gcloud and kubectl. This will be the fastest way to learn of google cloud and k8s.
  • Base image choice is important. I tried phusion/baseimage and ubuntu/core. Settled for phusion/baseimage because it seems to handle the init part better than ubuntu core. They still feel too heavy. phusion/baseimage is 188MB.

Conclusion

With Kubernetes, docker finally started to make sense to me. It's great because it provides great tools out of the box for doing web app deployment. Replication controllers, Services (with LoadBalancer included), Persistent Volumes, internal DNS. It should have all you need to make a resilient web app fast.

At Gorgias we're building a next generation helpdesk that allows responding 2x faster to common customer requests and having a fast and reliable infrastructure is crucial to achieve our goals.

If you're interested in working with this kind of stuff (especially to improve it): we're hiring!

Building delightful customer interactions starts in your inbox

Registered! Get excited, some awesome content is on the way! 📨
Oops! Something went wrong while submitting the form.
A hand holds an envelope that has a webpage coming out of it next to stars and other webpages