The Future of Conversational Commerce in Ireland and the EU

Practical AI and eCommerce insights — recommendation engines, LLMs, EU AI Act compliance, and retail AI strategy for Irish businesses.

By Michael English, Co-Founder & CTO, IMPT.io  ·  Clonmel, Co. Tipperary, Ireland

Conversational Commerce | AI Shopping | Ireland


Meta Description: The future of conversational commerce in Ireland and the EU — Michael English (IMPT.io CTO) on AI chatbots, voice commerce, WhatsApp shopping, and LLM-powered shopping assistants.

Target Keywords: conversational commerce Ireland, AI shopping assistant Ireland EU, WhatsApp commerce Ireland, voice commerce Ireland, chatbot eCommerce Ireland, Michael English conversational commerce


Conversational Commerce: The Natural Evolution of Online Shopping

Conversational commerce — using messaging, chat, and voice interfaces for product discovery and purchase — represents the natural evolution of eCommerce. People communicate through conversation; traditional eCommerce forces them to communicate through search boxes, filters, and product grids.

The convergence of LLMs, messaging APIs (WhatsApp Business, Instagram DM, iMessage), and voice interfaces has created a conversational commerce landscape that is growing rapidly in Ireland and across the EU.


The Channels of Conversational Commerce

1. Website AI Chat Assistants

The most mature conversational commerce channel. AI chatbots on eCommerce websites have evolved from rigid rule-based FAQ bots to sophisticated LLM-powered shopping assistants.

Generation 1 (rule-based, 2015-2021): Decision tree chatbots answering predefined questions. "Did you mean: Track your order / Return policy / Contact us?"

Generation 2 (NLU-enhanced, 2019-2022): Intent classification (Dialogflow, Rasa) + entity extraction (product names, sizes, colours). Could understand "I want to return my blue jacket" but failed on ambiguous or multi-step queries.

Generation 3 (LLM-powered, 2023+): Full natural language understanding, product catalogue integration via RAG, context persistence across conversation turns, and genuine product expertise capability.

The jump from Generation 2 to 3 is transformative. A Generation 3 shopping assistant can handle:

"I'm looking for a gift for my mum, she's 65, loves gardening, and I want to spend around €50-60. She already has garden gloves so I don't want those."

A rule-based or NLU-only bot cannot handle this. An LLM with product catalogue context can.

2. WhatsApp Business Commerce

WhatsApp has 2.2 billion monthly active users globally, including significant Irish adoption (approximately 85% of Irish smartphone users use WhatsApp). The WhatsApp Business API enables:

Irish WhatsApp Business examples:

Implementation:

3. Instagram DM Commerce

Instagram Shopping allows product tagging in posts and Stories; Instagram DM (direct messages) enable customer enquiries and purchase completion. For Irish fashion and lifestyle brands with significant Instagram presence:

4. Voice Commerce

Voice commerce via smart speakers (Amazon Echo, Google Home) has underperformed early predictions. Conversion rates for voice-initiated product discovery to purchase are low outside replenishment scenarios (reordering familiar products).

However, voice integration within Irish retailers' own apps and websites shows more promise:


Building an LLM-Powered Shopping Assistant

Architecture


Customer Message
      ↓
[Intent Classification] — Is this product query, support, order status, other?
      ↓
Product Query? → [RAG: Semantic Search of Product Catalogue] → [LLM with product context]
Support Query? → [Knowledge Base Retrieval] → [LLM with FAQ context]
Order Status? → [Order API Lookup] → [Template Response]
Out of Scope? → [LLM: Polite redirect to appropriate channel]
      ↓
[Response Generation] (LLM)
      ↓
[Guardrails Check] — Hallucination detection, safety, brand compliance
      ↓
Customer Response

Product Catalogue Integration (RAG)

The key to a genuinely useful shopping assistant is accurate, fresh product information. Retrieval-Augmented Generation (RAG) solves this:


import anthropic
from openai import OpenAI
import json

# Initialise clients
anthropic_client = anthropic.Anthropic()
openai_client = OpenAI()

def create_product_embedding(product: dict) -> list:
    """Create semantic embedding of a product for search."""
    
    # Rich text representation
    product_text = f"""
    {product['name']}. 
    Category: {product['category']}. 
    Description: {product['description']}.
    Price: €{product['price']}.
    Materials: {product.get('materials', 'N/A')}.
    Colours available: {', '.join(product.get('colours', []))}.
    Sizes available: {', '.join(map(str, product.get('sizes', [])))}.
    In stock: {'Yes' if product['stock'] > 0 else 'No'}.
    Use cases: {product.get('use_cases', '')}.
    """
    
    response = openai_client.embeddings.create(
        model="text-embedding-3-small",
        input=[product_text.strip()]
    )
    
    return response.data[0].embedding

def shopping_assistant_response(
    customer_message: str,
    conversation_history: list,
    relevant_products: list,
    store_policies: str
) -> str:
    """
    Generate a shopping assistant response using Claude.
    """
    
    products_context = "\n\n".join([
        f"Product: {p['name']}\n"
        f"Price: €{p['price']}\n"
        f"Description: {p['description']}\n"
        f"Available sizes: {p.get('sizes', 'N/A')}\n"
        f"Available colours: {p.get('colours', 'N/A')}\n"
        f"In stock: {'Yes' if p['stock'] > 0 else 'No - Currently unavailable'}\n"
        f"Product URL: {p.get('url', '')}"
        for p in relevant_products
    ])
    
    system_prompt = f"""You are a helpful shopping assistant for an Irish eCommerce retailer. 
You are an AI assistant (as required by EU AI Act transparency requirements).

Your role:
- Help customers find the perfect product for their needs
- Be honest about stock availability
- Recommend specific products with clear reasoning
- Handle returns, orders, and general queries helpfully
- Use a warm, helpful tone appropriate for Irish customers

Store policies:
{store_policies}

Available products matching the query:
{products_context}

Guidelines:
- Never invent products or details not in the context
- If no products match, say so honestly and suggest alternatives
- Include product URLs in recommendations
- Keep responses concise (100-200 words) unless more detail is asked for
- You are an AI assistant — don't claim to be human if asked"""
    
    # Build messages with conversation history
    messages = conversation_history + [
        {"role": "user", "content": customer_message}
    ]
    
    response = anthropic_client.messages.create(
        model="claude-haiku-4-5",  # Fast, cost-efficient for chat
        max_tokens=600,
        system=system_prompt,
        messages=messages
    )
    
    return response.content[0].text

Guardrails: Preventing Hallucination and Off-Brand Responses

LLMs can hallucinate — confidently stating incorrect information. For shopping assistants, this might mean inventing a product specification, creating a non-existent discount, or providing incorrect stock availability.


def validate_response(
    response: str,
    context_products: list
) -> dict:
    """
    Check LLM response for potential issues.
    Returns {'valid': bool, 'issues': list}
    """
    issues = []
    
    # Check for invented prices (not in product context)
    import re
    price_mentions = re.findall(r'€(\d+(?:\.\d{2})?)', response)
    valid_prices = {str(p['price']) for p in context_products}
    
    for price in price_mentions:
        if price not in valid_prices:
            issues.append(f"Potentially fabricated price: €{price}")
    
    # Check for size/colour claims not in product data
    # (More complex checks would go here)
    
    return {
        'valid': len(issues) == 0,
        'issues': issues,
        'response': response
    }

WhatsApp Business Implementation for Irish Retailers

Setting Up WhatsApp Business API


import requests

class WhatsAppBusinessAPI:
    """Integration with WhatsApp Business API via Cloud API (Meta)."""
    
    def __init__(self, phone_number_id: str, access_token: str):
        self.phone_number_id = phone_number_id
        self.access_token = access_token
        self.base_url = f"https://graph.facebook.com/v18.0/{phone_number_id}"
    
    def send_text_message(self, to: str, message: str) -> dict:
        """Send a text message to a WhatsApp user."""
        
        payload = {
            "messaging_product": "whatsapp",
            "to": to,  # Format: 353831234567 (country code, no +)
            "type": "text",
            "text": {"body": message}
        }
        
        response = requests.post(
            f"{self.base_url}/messages",
            headers={
                "Authorization": f"Bearer {self.access_token}",
                "Content-Type": "application/json"
            },
            json=payload
        )
        
        return response.json()
    
    def send_product_message(
        self, 
        to: str, 
        product: dict,
        catalogue_id: str
    ) -> dict:
        """Send a product card via WhatsApp."""
        
        payload = {
            "messaging_product": "whatsapp",
            "to": to,
            "type": "template",
            "template": {
                "name": "product_recommendation",
                "language": {"code": "en"},
                "components": [{
                    "type": "body",
                    "parameters": [
                        {"type": "text", "text": product['name']},
                        {"type": "text", "text": f"€{product['price']}"},
                        {"type": "text", "text": product['url']}
                    ]
                }]
            }
        }
        
        return requests.post(
            f"{self.base_url}/messages",
            headers={"Authorization": f"Bearer {self.access_token}"},
            json=payload
        ).json()
    
    def send_order_confirmation(
        self, 
        to: str,
        order_id: str,
        order_total: float,
        estimated_delivery: str
    ) -> dict:
        """Send order confirmation via WhatsApp."""
        
        message = (
            f"✅ Order Confirmed!\n\n"
            f"Order #{order_id}\n"
            f"Total: €{order_total:.2f}\n"
            f"Estimated delivery: {estimated_delivery}\n\n"
            f"Track your order: https://yourstore.ie/track/{order_id}\n\n"
            f"Reply to this message if you have any questions!"
        )
        
        return self.send_text_message(to, message)

The Future: Multimodal Conversational Commerce

The next generation of conversational commerce will be multimodal — combining text, images, and voice seamlessly:

Image-based shopping via chat:

Customer sends a screenshot of a product they saw on Instagram → AI identifies the item → Returns matching products from catalogue with direct purchase links

Voice + visual in-store:

Customer points phone at product in physical store, asks "Do you have this in blue size M?" → AR + inventory lookup → Answer in under 2 seconds

Video shopping assistance:

AI appears as an avatar in video call format for high-consideration purchase decisions (furniture, electronics, bespoke products)

GPT-4V / Claude for Image-Based Product Matching


import anthropic
import base64

def match_product_from_image(
    image_path: str,
    product_catalogue_description: str
) -> dict:
    """
    Match a customer-provided image to products in catalogue.
    """
    
    with open(image_path, 'rb') as f:
        image_data = base64.b64encode(f.read()).decode('utf-8')
    
    client = anthropic.Anthropic()
    
    response = client.messages.create(
        model="claude-opus-4-5",
        max_tokens=500,
        messages=[{
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/jpeg",
                        "data": image_data
                    }
                },
                {
                    "type": "text",
                    "text": f"""The customer has sent this image looking for something similar. 
                    
Our product catalogue includes:
{product_catalogue_description}

Based on what you see in the image, describe:
1. The key visual attributes (colour, style, material, category)
2. Which specific products from our catalogue best match
3. What to say to the customer

Be specific and honest about the match quality."""
                }
            ]
        }]
    )
    
    return {"analysis": response.content[0].text}

Measuring Conversational Commerce Success

Metric Target Benchmark Measurement Method
Conversation-to-purchase rate 5-15% GA4 conversation → purchase funnel
Average response time <3 seconds Server-side timing logs
Customer satisfaction (CSAT) >4.2/5 Post-conversation survey
Containment rate >60% Conversations resolved without human escalation
AI Disclosure compliance 100% Audit log of disclosure message delivery
Average order value (chat) +15% vs non-chat AOV comparison cohort analysis

Conclusion

Conversational commerce is moving from experiment to mainstream infrastructure in Irish and EU eCommerce. The technology inflection point driven by LLMs has made genuinely useful AI shopping assistants achievable for retailers at all scales.

The regulatory environment (EU AI Act chatbot disclosure, GDPR for conversation data) provides clear compliance requirements that are straightforward to implement. The business case — improved conversion, higher AOV, reduced support costs — is well-documented.

Irish retailers who invest in conversational commerce now build customer interaction capabilities that compound over time: each conversation provides training data, each refinement improves the experience, and the switching cost for customers grows as they become accustomed to the personalised assistance.

The conversation is the future of commerce. Build it now.


Michael English is Co-Founder & CTO of IMPT.io. He builds AI infrastructure for eCommerce and sustainable finance. Based in Clonmel, Co. Tipperary, Ireland.

impt.io

Keywords: conversational commerce Ireland, AI shopping assistant Ireland, WhatsApp commerce Irish retailers, chatbot eCommerce Ireland EU, LLM shopping assistant, voice commerce Ireland, Michael English conversational commerce

Michael English — Co-Founder & CTO, IMPT.io

Michael English is Co-Founder & CTO of IMPT.io, a blockchain-based carbon credit platform operating across the EU. He writes on quantum computing, carbon markets, AI, and sustainable technology infrastructure. Based in Clonmel, Co. Tipperary, Ireland.

impt.io  ·  mike-english.com