अर्ली एक्सेस का अनुरोध करें

अपना नाम और ईमेल या फ़ोन नंबर दर्ज करें. हम Tajo एक्सेस की जानकारी के साथ आपसे संपर्क करेंगे.

इस पेज पर

Shopify इंटीग्रेशन गाइड

यह विस्तृत गाइड आपको Tajo को अपने Shopify स्टोर के साथ जोड़ने की पूरी प्रक्रिया बताती है, ताकि आप शक्तिशाली ग्राहक एंगेजमेंट, लॉयल्टी प्रोग्राम और मार्केटिंग ऑटोमेशन क्षमताएं खोल सकें.

अवलोकन

Tajo-Shopify इंटीग्रेशन आपको ये काम करने देता है:

  • ग्राहक डेटा सिंक करें अपने Shopify स्टोर से अपने आप
  • ऑर्डर और प्रोडक्ट ट्रैक करें व्यक्तिगत मार्केटिंग के लिए
  • लॉयल्टी प्रोग्राम चलाएं पॉइंट्स, टियर और रिवॉर्ड के साथ
  • मार्केटिंग कैम्पेन स्वचालित करें Brevo के ज़रिए (ईमेल, SMS, WhatsApp)
  • ग्राहकों को सेगमेंट करें खरीदारी व्यवहार और एंगेजमेंट के आधार पर
  • छोड़े गए कार्ट वापस पाएं स्वचालित सीक्वेंस के साथ

पूर्वापेक्षाएं

इंटीग्रेशन शुरू करने से पहले, पक्का करें कि आपके पास ये हैं:

  • Shopify स्टोर किसी भी प्लान पर (Basic, Shopify, Advanced या Plus)
  • Tajo अकाउंट सक्रिय सब्सक्रिप्शन के साथ
  • Brevo अकाउंट (वैकल्पिक, मार्केटिंग ऑटोमेशन के लिए)
  • एडमिन एक्सेस आपके Shopify स्टोर का

चरण 1: Tajo ऐप इंस्टॉल करें

Shopify App Store से

  1. Shopify App Store पर जाएं
  2. “Tajo” खोजें
  3. Add app पर क्लिक करें
  4. अनुमतियों की समीक्षा करें और Install app पर क्लिक करें
  5. आपको Tajo सेटअप विज़ार्ड पर भेज दिया जाएगा

मैनुअल इंस्टॉलेशन

अगर आप मैनुअल सेटअप पसंद करते हैं:

Terminal window
# Clone the Tajo Shopify app
git clone https://github.com/tajo/shopify-app.git
# Install dependencies
cd shopify-app
npm install
# Configure environment
cp .env.example .env

अपनी .env फ़ाइल कॉन्फ़िगर करें:

SHOPIFY_API_KEY=your_api_key
SHOPIFY_API_SECRET=your_api_secret
SHOPIFY_SCOPES=read_customers,write_customers,read_orders,read_products
TAJO_API_KEY=your_tajo_api_key
BREVO_API_KEY=your_brevo_api_key

चरण 2: डेटा सिंक कॉन्फ़िगर करें

ग्राहक सिंक सेटिंग्स

अपने Tajo डैशबोर्ड में कॉन्फ़िगर करें कि कौन सा ग्राहक डेटा सिंक करना है:

{
"sync_settings": {
"customers": {
"enabled": true,
"sync_frequency": "real-time",
"fields": [
"email",
"first_name",
"last_name",
"phone",
"accepts_marketing",
"tags",
"total_spent",
"orders_count",
"created_at",
"addresses"
]
},
"orders": {
"enabled": true,
"sync_frequency": "real-time",
"include_line_items": true,
"include_fulfillments": true
},
"products": {
"enabled": true,
"sync_frequency": "hourly",
"include_variants": true,
"include_images": true
}
}
}

वेबहुक कॉन्फ़िगरेशन

Tajo अपने आप ये Shopify वेबहुक रजिस्टर करता है:

वेबहुकउद्देश्य
customers/createनए ग्राहकों को Tajo और Brevo में सिंक करें
customers/updateग्राहक प्रोफ़ाइल अद्यतन रखें
orders/createखरीदारी ट्रैक करें, लॉयल्टी पॉइंट्स दें
orders/paidखरीदारी के बाद के कैम्पेन ट्रिगर करें
orders/fulfilledशिपिंग सूचनाएं भेजें
carts/createछोड़े गए कार्ट का डेटा ट्रैक करें
carts/updateकार्ट छोड़ने वाले सीक्वेंस अपडेट करें
products/updateप्रोडक्ट कैटलॉग सिंक रखें

प्रारंभिक डेटा इंपोर्ट

मौजूदा स्टोर के लिए, पुराना डेटा इंपोर्ट करें:

// Import existing customers
async function importShopifyCustomers() {
const shopify = new Shopify({
shopName: process.env.SHOP_NAME,
apiKey: process.env.SHOPIFY_API_KEY,
password: process.env.SHOPIFY_PASSWORD
});
let customers = [];
let params = { limit: 250 };
do {
const batch = await shopify.customer.list(params);
customers = customers.concat(batch);
params = batch.nextPageParameters;
} while (params);
// Sync to Tajo
for (const customer of customers) {
await tajo.customers.upsert({
email: customer.email,
firstName: customer.first_name,
lastName: customer.last_name,
phone: customer.phone,
totalSpent: customer.total_spent,
ordersCount: customer.orders_count,
tags: customer.tags,
source: 'shopify',
externalId: customer.id
});
}
console.log(`Imported ${customers.length} customers`);
}

चरण 3: लॉयल्टी प्रोग्राम सेट अप करें

पॉइंट्स सिस्टम कॉन्फ़िगर करें

तय करें कि ग्राहक पॉइंट्स कैसे कमाएंगे:

const pointsConfig = {
// Points per dollar spent
purchasePoints: {
enabled: true,
rate: 1, // 1 point per $1
roundingMode: 'floor'
},
// Bonus actions
bonusPoints: {
accountCreation: 100,
firstPurchase: 200,
reviewSubmitted: 50,
referralMade: 500,
birthdayBonus: 100,
socialShare: 25
},
// Tier multipliers
tierMultipliers: {
Bronze: 1.0,
Silver: 1.25,
Gold: 1.5,
Platinum: 2.0
}
};

लॉयल्टी टियर परिभाषित करें

const loyaltyTiers = [
{
name: 'Bronze',
minPoints: 0,
benefits: [
'1 point per $1 spent',
'Birthday bonus points',
'Member-only promotions'
]
},
{
name: 'Silver',
minPoints: 1000,
benefits: [
'1.25x points multiplier',
'Free shipping on orders $50+',
'Early access to sales'
]
},
{
name: 'Gold',
minPoints: 5000,
benefits: [
'1.5x points multiplier',
'Free shipping on all orders',
'Exclusive product access',
'Priority customer support'
]
},
{
name: 'Platinum',
minPoints: 15000,
benefits: [
'2x points multiplier',
'Free express shipping',
'VIP experiences',
'Personal shopping assistant',
'Annual gift'
]
}
];

रिवॉर्ड कैटलॉग बनाएं

const rewards = [
{
id: 'discount_5',
name: '$5 Off',
pointsCost: 500,
type: 'fixed_discount',
value: 5,
minPurchase: 25
},
{
id: 'discount_10',
name: '$10 Off',
pointsCost: 900,
type: 'fixed_discount',
value: 10,
minPurchase: 50
},
{
id: 'percent_10',
name: '10% Off',
pointsCost: 750,
type: 'percentage_discount',
value: 10,
maxDiscount: 50
},
{
id: 'free_shipping',
name: 'Free Shipping',
pointsCost: 300,
type: 'free_shipping'
},
{
id: 'free_product',
name: 'Free Gift',
pointsCost: 2000,
type: 'free_product',
productId: 'gid://shopify/Product/123456'
}
];

चरण 4: छोड़े गए कार्ट की रिकवरी

कार्ट ट्रैकिंग कॉन्फ़िगर करें

// Track cart updates
shopify.webhooks.on('carts/update', async (cart) => {
if (cart.line_items.length === 0) return;
const customer = await getCustomerByCart(cart);
if (!customer?.email) return;
await tajo.carts.track({
customerId: customer.id,
cartToken: cart.token,
items: cart.line_items.map(item => ({
productId: item.product_id,
variantId: item.variant_id,
title: item.title,
quantity: item.quantity,
price: item.price,
image: item.image
})),
totalPrice: cart.total_price,
currency: cart.currency,
checkoutUrl: cart.checkout_url
});
});

रिकवरी सीक्वेंस सेट अप करें

{
"abandoned_cart_sequence": {
"trigger": {
"event": "cart_abandoned",
"delay": "1 hour"
},
"emails": [
{
"delay": "1 hour",
"channel": "email",
"template": "cart_reminder_1",
"subject": "You left something behind!"
},
{
"delay": "24 hours",
"channel": "email",
"template": "cart_reminder_2",
"subject": "Your cart is waiting - 10% off inside"
},
{
"delay": "72 hours",
"channel": "sms",
"template": "cart_sms_final",
"message": "Last chance! Your cart expires soon. Complete your order: {{checkout_url}}"
}
],
"exit_conditions": [
"order_completed",
"cart_emptied",
"unsubscribed"
]
}
}

चरण 5: Brevo के साथ मार्केटिंग ऑटोमेशन

ग्राहक सेगमेंट

Shopify डेटा के आधार पर शक्तिशाली सेगमेंट बनाएं:

const shopifySegments = [
// Purchase behavior
{
name: 'First-Time Buyers',
conditions: { orders_count: 1 }
},
{
name: 'Repeat Customers',
conditions: { orders_count: { $gte: 2 } }
},
{
name: 'VIP Customers',
conditions: { total_spent: { $gte: 500 } }
},
{
name: 'At-Risk Customers',
conditions: {
last_order_date: { $lt: '90 days ago' },
orders_count: { $gte: 2 }
}
},
// Product interest
{
name: 'Category: Electronics',
conditions: { purchased_categories: { $contains: 'Electronics' } }
},
// Engagement
{
name: 'Abandoned Cart',
conditions: { has_abandoned_cart: true }
},
{
name: 'Browse Abandoners',
conditions: {
viewed_products: { $gte: 3 },
orders_count: 0
}
}
];

स्वचालित कैम्पेन ट्रिगर

// Order confirmation + upsell
shopify.webhooks.on('orders/paid', async (order) => {
const customer = await tajo.customers.get(order.customer.id);
// Update customer stats
await tajo.customers.update(customer.id, {
totalSpent: customer.totalSpent + order.total_price,
ordersCount: customer.ordersCount + 1,
lastOrderDate: order.created_at
});
// Award loyalty points
const pointsEarned = calculatePoints(order, customer);
await tajo.loyalty.awardPoints(customer.id, pointsEarned, {
reason: 'purchase',
orderId: order.id
});
// Send to Brevo for campaigns
await brevo.trackEvent(customer.email, 'order_completed', {
order_id: order.id,
order_total: order.total_price,
points_earned: pointsEarned,
loyalty_tier: customer.loyaltyTier,
products: order.line_items.map(i => i.title).join(', ')
});
});
// Post-purchase review request
const reviewRequestCampaign = {
trigger: 'order_delivered',
delay: '7 days',
template: 'review_request',
conditions: {
customer_tags: { $not: { $contains: 'no-review-request' } }
}
};
// Win-back campaign
const winBackCampaign = {
trigger: 'customer_inactive',
conditions: {
last_order_date: '90 days ago',
orders_count: { $gte: 1 }
},
sequence: [
{ delay: '0', template: 'we_miss_you', offer: '15% off' },
{ delay: '7 days', template: 'win_back_2', offer: '20% off' },
{ delay: '14 days', template: 'final_offer', offer: '25% off' }
]
};

चरण 6: प्रोडक्ट सिफ़ारिशें

सिफ़ारिश इंजन कॉन्फ़िगर करें

const recommendationConfig = {
algorithms: [
{
name: 'frequently_bought_together',
weight: 0.3
},
{
name: 'similar_products',
weight: 0.25
},
{
name: 'customer_also_viewed',
weight: 0.2
},
{
name: 'trending_in_category',
weight: 0.15
},
{
name: 'personalized_for_you',
weight: 0.1
}
],
filters: {
exclude_purchased: true,
exclude_out_of_stock: true,
min_rating: 3.5
}
};
// Get recommendations for email
async function getEmailRecommendations(customerId, limit = 4) {
const customer = await tajo.customers.get(customerId);
const recentOrders = await tajo.orders.list({
customerId,
limit: 5
});
return await tajo.recommendations.get({
customerId,
purchaseHistory: recentOrders,
browsingHistory: customer.recentlyViewed,
limit,
algorithms: recommendationConfig.algorithms
});
}

चरण 7: एनालिटिक्स और रिपोर्टिंग

प्रमुख मेट्रिक्स डैशबोर्ड

const dashboardMetrics = {
// Customer metrics
customers: {
total: await tajo.analytics.count('customers'),
new_this_month: await tajo.analytics.count('customers', {
created_at: { $gte: 'this_month' }
}),
returning_rate: await tajo.analytics.returningCustomerRate()
},
// Revenue metrics
revenue: {
total: await tajo.analytics.sum('orders.total'),
average_order_value: await tajo.analytics.avg('orders.total'),
revenue_per_customer: await tajo.analytics.revenuePerCustomer()
},
// Loyalty metrics
loyalty: {
active_members: await tajo.analytics.count('loyalty_members', {
status: 'active'
}),
points_issued: await tajo.analytics.sum('points.awarded'),
points_redeemed: await tajo.analytics.sum('points.redeemed'),
redemption_rate: await tajo.analytics.pointsRedemptionRate()
},
// Campaign metrics
campaigns: {
emails_sent: await brevo.analytics.emailsSent('this_month'),
open_rate: await brevo.analytics.openRate('this_month'),
click_rate: await brevo.analytics.clickRate('this_month'),
revenue_attributed: await tajo.analytics.campaignRevenue('this_month')
}
};

समस्या निवारण

आम समस्याएं

वेबहुक डिलीवरी विफल होना

// Verify webhook signature
function verifyShopifyWebhook(req) {
const hmac = req.headers['x-shopify-hmac-sha256'];
const body = req.rawBody;
const hash = crypto
.createHmac('sha256', process.env.SHOPIFY_WEBHOOK_SECRET)
.update(body)
.digest('base64');
return crypto.timingSafeEqual(
Buffer.from(hash),
Buffer.from(hmac)
);
}

सिंक टकराव

// Handle duplicate customers
async function resolveCustomerConflict(shopifyCustomer, tajoCustomer) {
// Merge data, preferring most recent updates
const merged = {
...tajoCustomer,
email: shopifyCustomer.email,
firstName: shopifyCustomer.first_name || tajoCustomer.firstName,
lastName: shopifyCustomer.last_name || tajoCustomer.lastName,
phone: shopifyCustomer.phone || tajoCustomer.phone,
// Keep Tajo loyalty data
loyaltyPoints: tajoCustomer.loyaltyPoints,
loyaltyTier: tajoCustomer.loyaltyTier
};
return await tajo.customers.update(tajoCustomer.id, merged);
}

रेट लिमिटिंग

// Implement exponential backoff
async function shopifyApiCall(fn, retries = 3) {
for (let i = 0; i < retries; i++) {
try {
return await fn();
} catch (error) {
if (error.code === 429 && i < retries - 1) {
const delay = Math.pow(2, i) * 1000;
await new Promise(r => setTimeout(r, delay));
continue;
}
throw error;
}
}
}

अगले कदम

  1. ईमेल/SMS कैम्पेन के लिए Brevo इंटीग्रेशन कॉन्फ़िगर करें
  2. रीयल-टाइम इवेंट के लिए वेबहुक सेट अप करें
  3. लक्षित मार्केटिंग के लिए ग्राहक सेगमेंट बनाएं
  4. स्वचालित कैम्पेन के लिए ईमेल टेम्पलेट बनाएं

सहायता

अर्ली एक्सेस का अनुरोध करें

अपना नाम और ईमेल या फ़ोन नंबर दर्ज करें. हम Tajo एक्सेस की जानकारी के साथ आपसे संपर्क करेंगे.

ऑटो डिटेक्ट
AI असिस्टेंट

नमस्ते! डॉक्यूमेंटेशन के बारे में कुछ भी पूछें.