// Import necessary Wix modules
import wixData from 'wix-data';
import wixCRM from 'wix-crm';
import wixWindow from 'wix-window';
import wixPay from 'wix-pay';
import wixMarketing from 'wix-marketing';
// Function to handle form submission
export function submitLeadForm(event) {
event.preventDefault(); // Prevent default form submission
// Get form values
const name = $w('#nameInput').value;
const email = $w('#emailInput').value;
// Create lead object
const lead = {
name,
email,
date: new Date()
};
// Save lead to the Leads dataset
wixData.insert('Leads', lead)
.then(() => {
// Add lead to Wix CRM
wixCRM.createContact({ name, emails: [email] })
.then(() => {
// Show thank you message or redirect
$w('#thankYouMessage').show();
$w('#leadForm').hide();
})
.catch((err) => {
console.error('Error creating contact in CRM:', err);
});
})
.catch((err) => {
console.error('Error saving lead:', err);
});
}
// Function to track user behavior and dynamically recommend products
export function trackUserBehavior() {
// Track button clicks and dynamically recommend products
$w('#specialOfferButton').onClick(() => {
wixWindow.trackEvent('Click', {
category: 'Button',
label: 'Special Offer'
});
// Show personalized recommendation based on user behavior
showPersonalizedRecommendation();
});
// Track page views
wixWindow.trackEvent('Pageview', {
category: 'Page',
label: 'Landing Page'
});
}
// Function to show personalized recommendations
function showPersonalizedRecommendation() {
// Example: Fetch and show a special offer based on user behavior
wixData.query('Products')
.limit(1)
.find()
.then((results) => {
if (results.items.length > 0) {
const product = results.items[0];
$w('#personalizedRecommendation').text = `Special Offer: ${product.name} for just $${product.price}!`;
$w('#personalizedRecommendation').show();
}
})
.catch((err) => {
console.error('Error fetching product:', err);
});
}
// Function to handle sales transactions
export function processSale(productId, price) {
// Trigger the payment process
wixPay.startPayment({
items: [{
name: productId,
price: price,
quantity: 1
}],
amount: price
})
.then((result) => {
if (result.status === 'Successful') {
// Save sale information to the Sales dataset
const sale = {
productId,
price,
date: new Date(),
transactionId: result.transactionId
};
wixData.insert('Sales', sale)
.then(() => {
// Show thank you message or confirmation
$w('#thankYouMessage').text = 'Thank you for your purchase!';
$w('#thankYouMessage').show();
})
.catch((err) => {
console.error('Error saving sale:', err);
});
} else {
console.error('Payment failed:', result);
}
})
.catch((err) => {
console.error('Payment processing error:', err);
});
}
// Function to handle abandoned carts
export function handleAbandonedCart(userId, cartItems) {
const abandonedCart = {
userId,
cartItems,
date: new Date()
};
// Save abandoned cart to the AbandonedCarts dataset
wixData.insert('AbandonedCarts', abandonedCart)
.then(() => {
// Send email reminder about the abandoned cart
wixCRM.emailContact(userId, 'abandonedCartReminder', {
variables: {
cartItems: JSON.stringify(cartItems)
}
})
.then(() => {
console.log('Abandoned cart reminder sent');
})
.catch((err) => {
console.error('Error sending abandoned cart reminder:', err);
});
})
.catch((err) => {
console.error('Error saving abandoned cart:', err);
});
}
// Function to show dynamic promotions
function showDynamicPromotions() {
wixData.query('Promotions')
.limit(1)
.find()
.then((results) => {
if (results.items.length > 0) {
const promotion = results.items[0];
$w('#dynamicPromotion').text = `Special Promotion: ${promotion.title} - ${promotion.description}`;
$w('#dynamicPromotion').show();
}
})
.catch((err) => {
console.error('Error fetching promotion:', err);
});
}
// Function to bind events and track user behavior
$w.onReady(function () {
$w('#leadForm').onSubmit(submitLeadForm);
trackUserBehavior();
// Example: Bind sales process to a button
$w('#buyNowButton').onClick(() => {
processSale('product123', 29.99);
});
// Example: Handle abandoned cart
$w('#abandonCartButton').onClick(() => {
const userId = 'user123';
const cartItems = [{ productId: 'product123', quantity: 1 }];
handleAbandonedCart(userId, cartItems);
});
// Show dynamic promotions
showDynamicPromotions();
});
// Import necessary Wix modules
import wixData from 'wix-data';
import wixCRM from 'wix-crm';
import wixWindow from 'wix-window';
import wixPay from 'wix-pay';
import wixMarketing from 'wix-marketing';
// Function to handle form submission
function submitLeadForm(event) {
event.preventDefault(); // Prevent default form submission
// Get form values
const name = $w('#nameInput').value;
const email = $w('#emailInput').value;
// Create lead object
const lead = {
name,
email,
date: new Date()
};
// Save lead to the Leads dataset
wixData.insert('Leads', lead)
.then(() => {
// Add lead to Wix CRM
wixCRM.createContact({ name, emails: [email] })
.then(() => {
// Show thank you message or redirect
$w('#thankYouMessage').show();
$w('#leadForm').hide();
})
.catch((err) => {
console.error('Error creating contact in CRM:', err);
});
})
.catch((err) => {
console.error('Error saving lead:', err);
});
}
// Function to track user behavior and dynamically recommend products
function trackUserBehavior() {
// Track button clicks and dynamically recommend products
$w('#specialOfferButton').onClick(() => {
wixWindow.trackEvent('Click', {
category: 'Button',
label: 'Special Offer'
});
// Show personalized recommendation based on user behavior
showPersonalizedRecommendation();
});
// Track page views
wixWindow.trackEvent('Pageview', {
category: 'Page',
label: 'Landing Page'
});
}
// Function to show personalized recommendations
function showPersonalizedRecommendation() {
// Example: Fetch and show a special offer based on user behavior
wixData.query('Products')
.limit(1)
.find()
.then((results) => {
if (results.items.length > 0) {
const product = results.items[0];
$w('#personalizedRecommendation').text = `Special Offer: ${product.name} for just $${product.price}!`;
$w('#personalizedRecommendation').show();
}
})
.catch((err) => {
console.error('Error fetching product:', err);
});
}
// Function to handle sales transactions
function processSale(productId, price) {
// Trigger the payment process
wixPay.startPayment({
items: [{
name: productId,
price: price,
quantity: 1
}],
amount: price
})
.then((result) => {
if (result.status === 'Successful') {
// Save sale information to the Sales dataset
const sale = {
productId,
price,
date: new Date(),
transactionId: result.transactionId
Say hello to our quick and easy touch-up blotting papers. Absorb excess oil and shine with a gentle dab of these blotting papers to refresh your face throughout the day while never disturbing your makeup. Free of dyes or fragrances, this 100 piece package is the perfect on-the-go addition to your makeup bag. Suitable for all skin types. Keep it stress free and say bye bye to unwanted face oils!
Made in North America.
Benefits
Absorbs excess oils in a few dabs
Free of dyes and fragrances
Travel-friendly packaging
Hygienically disposable
Application
Open flap and remove blotting papers
Gently press tissue against your skin to absorb excess oil around your face
// Function to handle form submission
function submitLeadForm(event) {
event.preventDefault(); // Prevent default form submission
// Get form values
const name = $w('#nameInput').value;
const email = $w('#emailInput').value;
// Create lead object
const lead = {
name,
email,
date: new Date()
};
// Save lead to the Leads dataset
wixData.insert('Leads', lead)
.then(() => {
// Add lead to Wix CRM
wixCRM.createContact({ name, emails: [email] })
.then(() => {
// Show thank you message or redirect
$w('#thankYouMessage').show();
$w('#leadForm').hide();
})
.catch((err) => {
console.error('Error creating contact in CRM:', err);
});
})
.catch((err) => {
console.error('Error saving lead:', err);
});
}
// Function to track user behavior and dynamically recommend products
function trackUserBehavior() {
// Track button clicks and dynamically recommend products
$w('#specialOfferButton').onClick(() => {
wixWindow.trackEvent('Click', {
category: 'Button',
label: 'Special Offer'
});
// Show personalized recommendation based on user behavior
showPersonalizedRecommendation();
});
// Track page views
wixWindow.trackEvent('Pageview', {
category: 'Page',
label: 'Landing Page'
});
}
// Function to show personalized recommendations
function showPersonalizedRecommendation() {
// Example: Fetch and show a special offer based on user behavior
wixData.query('Products')
.limit(1)
.find()
.then((results) => {
if (results.items.length > 0) {
const product = results.items[0];
$w('#personalizedRecommendation').text = `Special Offer: ${product.name} for just $${product.price}!`;
$w('#personalizedRecommendation').show();
}
})
.catch((err) => {
console.error('Error fetching product:', err);
});
}
// Function to handle sales transactions
function processSale(productId, price) {
// Trigger the payment process
wixPay.startPayment({
items: [{
name: productId,
price: price,
quantity: 1
}],
amount: price
})
.then((result) => {
if (result.status === 'Successful') {
// Save sale information to the Sales dataset
const sale = {
productId,
price,
date: new Date(),
transactionId: result.transactionId
};
wixData.insert('Sales', sale)
.then(() => {
// Show thank you message or confirmation
$w('#tha