Background
Merryking makes power adapters and chargers, mainly for overseas customers. Its website ran on a SaaS site builder, which controlled the content and data. Routine work was manual: forwarding inquiries, answering repeated questions from factory job applicants, and migrating over a thousand Alibaba.com products.
What I did
- Website: Rewrote the website in Next.js. Specs and details for 158 products were extracted from the old site and PDF manuals. Images are stored on Alibaba Cloud OSS, served worldwide through a CDN. GitHub Actions builds the Docker image. The server pulls it, and Caddy acts as the reverse proxy and issues certificates automatically.
- Operations dashboard: The dashboard shows inquiries and contact-link clicks. The team can see each lead’s ad parameters and IP location, and a Feishu bot sends new inquiries to a group chat.
- Alibaba.com toolchain: Tampermonkey and local Node.js scripts exported 1301 products and 31713 images. They also generated Excel listing templates for direct import, with titles, specs, prices, and selling points filled in bulk. An OpenAI image generation model restyled 720 main images.
Technical details
Google Ads conversions and attribution: Google Ads counted contact-link clicks, such as clicks on the email address, as primary conversions. Bidding therefore optimized for contact intent rather than actual inquiries. I planned a workflow to link ad clicks to inquiries, let sales staff qualify them, and send qualified inquiries back to Google Ads to guide bidding.
- 01Ad visitStore the ad click ID and UTM parameters
- 02ContactSubmit a form or email with a contact code
- 03Log inquiryMatch it to the ad source by contact code
- 04QualifySales staff assess the inquiry
- 05Send to Google AdsUpload qualified inquiries through Data Manager
On-demand image optimization: A custom loader for Next.js <Image> uses OSS parameters to resize images and convert them to WebP. The CDN caches each size by its parameters. The Core Web Vitals performance score is 98.