Form liên hệ trên Webflow trông rất chuyên nghiệp ngay từ đầu, nhưng Webflow chỉ gửi email thông báo cho bạn khi có dữ liệu được submit - nó không lưu trữ dữ liệu vào cơ sở dữ liệu, không kết nối với CRM, và không kích hoạt bất kỳ logic tùy chỉnh nào. Nếu bạn cần nhiều hơn một email thông báo đơn giản, bạn cần định tuyến các form submission của Webflow qua một dịch vụ bên ngoài. Tin tốt là bạn hoàn toàn có thể làm điều này mà không cần viết một dòng code backend nào.
Mục lục
Webflow cung cấp gì theo mặc định
Trình xử lý form tích hợp sẵn của Webflow làm được ba việc: gửi email thông báo cho chủ trang web, hiển thị thông báo thành công, và ghi lại các submission trong bảng điều khiển Webflow (trên các gói trả phí). Điều này đủ dùng cho form liên hệ cơ bản trên các trang nhỏ, nhưng sẽ nhanh chóng không đáp ứng được khi bạn cần bất kỳ điều nào sau đây:
- Tự động phản hồi đến người vừa điền form
- Chuyển tiếp submission đến hộp thư của một nhóm cụ thể hoặc CRM
- Logic có điều kiện (ví dụ: phân loại lead theo sản phẩm quan tâm)
- Lọc spam nâng cao hơn so với honeypot cơ bản của Webflow
- Nhật ký giao nhận đáng tin cậy với timestamp và cơ chế thử lại
Không có tính năng nào trong số này được hỗ trợ sẵn. Bạn cần một lớp xử lý bên ngoài, và có ba cách thực tế để thêm vào.
Tích hợp sẵn có - Zapier và Make
Webflow có tích hợp trực tiếp với Zapier và Make (trước đây là Integromat). Khi có một form submission mới, trigger sẽ kích hoạt và bạn có thể nối chuỗi bất kỳ hành động nào: thêm hàng vào Google Sheets, tạo liên hệ trong HubSpot, gửi tin nhắn Slack, và nhiều hơn nữa.
Đây là hướng không cần code mà hầu hết các designer chọn đầu tiên. Các bước thiết lập như sau:
- Trong Webflow, vào Cài đặt dự án > Tích hợp và kết nối tài khoản Zapier của bạn.
- Trong Zapier, tạo một Zap mới với trigger Webflow - New Form Submission .
- Chọn form cụ thể theo tên.
- Thêm bước hành động (Gmail, Slack, Airtable, v.v.).
- Kiểm tra bằng một submission thực tế rồi bật Zap lên.
Make có giá rẻ hơn cho các quy trình phức tạp, nhưng cả hai nền tảng đều tạo ra một điểm phụ thuộc: nếu Zapier hoặc Make gặp sự cố, hoặc tài khoản của bạn chạm giới hạn, các submission sẽ thất bại trong im lặng hoặc bị xếp hàng chờ.
Sử dụng Webflow Webhook
Webflow webhook là một cách tiếp cận trực tiếp hơn. Webflow sẽ gửi một HTTP POST đến URL bạn chỉ định mỗi khi có form được submit. Bạn kiểm soát endpoint nhận dữ liệu, vì vậy bạn có thể xử lý payload theo bất kỳ cách nào.
Để thiết lập:
- Vào Cài đặt dự án > Tích hợp > Webhooks trong Webflow.
- Nhấn Thêm Webhook , chọn trigger Form Submission .
- Dán URL endpoint của dịch vụ nhận vào.
- Lưu lại và kiểm tra bằng một submission thực tế.
Payload mà Webflow gửi đi là một đối tượng JSON chứa tất cả giá trị các trường, tên form và metadata của trang. Một payload điển hình trông như sau:
{
"name": "Contact Form",
"site": "my-webflow-site",
"data": {
"Name": "Jane Smith",
"Email": "[email protected]",
"Message": "Hi, I'd like a quote."
},
"submittedAt": "2024-11-15T10:22:00Z"
}
Vấn đề ở đây là: bạn cần có thứ gì đó để nhận webhook đó. Các lựa chọn bao gồm một Cloudflare Worker nhỏ, một quy trình Pipedream, hoặc một backend form chuyên dụng. Tự viết receiver chính là vấn đề "backend tùy chỉnh" mà bài viết này đang cố giúp bạn tránh. Đó là lý do tại sao các dịch vụ form-to-email trở thành giải pháp gọn gàng nhất.
Thay thế endpoint của form bằng dịch vụ form chuyên dụng
Thay vì dùng trình xử lý form của Webflow, bạn có thể trỏ thuộc tính
action
của form sang một dịch vụ form bên thứ ba. Dịch vụ đó sẽ nhận POST, xác thực dữ liệu, lọc spam và gửi email kết quả cho bạn. Phía bạn không cần backend nào cả.
Quy trình trong Webflow như sau:
- Trong Webflow Designer, chọn phần tử form của bạn.
-
Trong bảng
Cài đặt Form
, đặt trường
Action
thành URL endpoint của dịch vụ form (ví dụ:
https://sendform.net/!your-form-id). - Đặt Method thành POST .
-
Đảm bảo mỗi input có thuộc tính
name- Webflow mặc định đã thiết lập sẵn. - Xuất bản trang và kiểm tra một submission.
Cách tiếp cận này bỏ qua hoàn toàn trình xử lý form của Webflow. Submission đi thẳng từ trình duyệt của người dùng đến dịch vụ form. Bạn nhận được email, dịch vụ xử lý việc thử lại và lọc spam, còn Webflow chỉ đóng vai trò là lớp giao diện.
Cách này cũng hoạt động tương tự cho bất kỳ trang tĩnh hoặc trang no-code nào. Nếu bạn đang host trên GitHub Pages hoặc Cloudflare Pages, bài viết về host trang web tĩnh miễn phí với form liên hệ hoạt động đầy đủ cũng áp dụng đúng cách tiếp cận này.
Sendform so với các lựa chọn thay thế
Có nhiều dịch vụ form tương thích với Webflow. Dưới đây là so sánh các lựa chọn chính theo những tiêu chí thực sự quan trọng khi thiết lập form liên hệ:
| Dịch vụ | Gói miễn phí | Độ phức tạp thiết lập | Chuyển hướng tùy chỉnh | Lọc spam | Thân thiện GDPR |
|---|---|---|---|---|---|
| Sendform | Có | Dán một URL là xong | Có | Có | Có |
| Formspree | 50 submission/tháng | Đăng ký + dán URL | Chỉ gói trả phí | Cơ bản (reCAPTCHA cần trả phí) | Một phần |
| Netlify Forms | 100 submission/tháng | Yêu cầu host trên Netlify | Có | Có | Một phần |
| Zapier (qua webhook) | 100 tác vụ/tháng | Quy trình nhiều bước | Thủ công | Không có sẵn | Tùy thuộc vào Zap |
| Basin | 100 submission/tháng | Đăng ký + dán URL | Có | Có | Một phần |
Sendform nổi bật vì một số lý do cụ thể ngoài những gì bảng so sánh có thể hiển thị:
- Thiết lập không ma sát: Bạn nhận được URL endpoint của form mà không cần tạo tài khoản trước. Dán vào trường Action của Webflow là xong.
- Không lưu trữ submission theo mặc định: Sendform gửi dữ liệu qua email và không giữ lại trên máy chủ của họ - đây là mặc định đúng đắn cho việc tuân thủ GDPR. Các đối thủ như Formspree lưu trữ toàn bộ submission trong bảng điều khiển của họ, nghĩa là dữ liệu người dùng của bạn nằm trên máy chủ bên thứ ba vô thời hạn.
- Thân thiện với developer nhưng cũng dùng được không cần code: Khác với Zapier, không có quy trình nào cần bảo trì. Khác với Netlify Forms, nó không bị ràng buộc với nhà cung cấp hosting cụ thể - hoạt động với Webflow, GitHub Pages, hoặc bất kỳ host nào khác.
- Gói miễn phí thực sự minh bạch: Không có rào cản kiểu "nâng cấp để mở khóa chuyển hướng" mà các dịch vụ khác dùng để đẩy bạn lên gói trả phí.
Nên chọn phương án nào?
Câu trả lời đúng phụ thuộc vào những gì bạn thực sự cần sau khi form được submit:
- Chỉ cần thông báo qua email: Dùng Sendform. Dán URL endpoint vào trường Action của Webflow, xong trong hai phút.
- Email kết hợp đồng bộ CRM hoặc bảng tính: Dùng Sendform để gửi email và tùy chọn thêm một bước Zapier được kích hoạt bởi email đến, hoặc dùng webhook output của Sendform nếu gói của bạn hỗ trợ.
- Tự động hóa nhiều bước phức tạp: Webflow webhook kết hợp Make hoặc Zapier phù hợp ở đây, nhưng hãy tính toán ngân sách cho gói trả phí.
- Bạn đang dùng Netlify: Netlify Forms ổn cho các trường hợp đơn giản, nhưng bạn sẽ nhanh chóng chạm ngưỡng 100 submission/tháng trên bất kỳ trang nào có lưu lượng truy cập.
Đối với phần lớn các form liên hệ Webflow - một form với các trường tên, email và tin nhắn cần đến hộp thư của bạn một cách đáng tin cậy - Sendform là con đường nhanh nhất và gọn gàng nhất. Không cần backend, không cần theo dõi giới hạn tác vụ hàng tháng, và không có dữ liệu submission nằm trong bảng điều khiển bên thứ ba mà bạn quên xóa đi.
Xử lý form liên hệ Webflow mà không cần viết backend
Sendform cung cấp cho bạn một endpoint form sẵn sàng để dán trực tiếp vào trường Action của Webflow - các submission từ form Webflow của bạn đến hộp thư ngay lập tức, kèm theo lọc spam và cài đặt mặc định thân thiện với GDPR.
Dùng thử Sendform miễn phí →
Khi bạn trỏ Action của form Webflow sang một endpoint bên ngoài, trạng thái thành công tích hợp sẵn của Webflow sẽ không còn tự động kích hoạt nữa. Hầu hết các dịch vụ form xử lý điều này bằng cách chuyển hướng đến trang cảm ơn mà bạn chỉ định. Trong Sendform, bạn đặt URL chuyển hướng trong cài đặt form, để người dùng đến trang xác nhận tùy chỉnh của bạn sau khi submit. Ngoài ra, bạn có thể dùng JavaScript để chặn sự kiện submit của form, gửi POST qua fetch(), và hiển thị trạng thái thành công của Webflow theo cách thủ công.
Có. Trong Cài đặt dự án > Tích hợp > Webhooks, bạn có thể thêm một webhook kích hoạt mỗi khi có form submission mới. Webflow gửi một JSON POST đến URL bạn chỉ định, chứa tất cả giá trị các trường, tên form và timestamp. Điều này yêu cầu một endpoint nhận - một hàm serverless, một quy trình Pipedream, hoặc một dịch vụ form chấp nhận webhook. Tính năng webhook có sẵn trên các gói CMS và Business của Webflow.
Zapier nằm giữa Webflow và đích đến của bạn (email, CRM, v.v.) và thêm một lớp quy trình xử lý. Nó mạnh mẽ cho tự động hóa nhiều bước nhưng tốn tiền khi vượt quá 100 tác vụ mỗi tháng và thêm một điểm có thể xảy ra lỗi. Sendform là endpoint form trực tiếp - submission đi thẳng từ trình duyệt đến Sendform, dịch vụ sẽ gửi email cho bạn ngay lập tức. Không có quy trình nào cần bảo trì, không có bộ đếm tác vụ, và không có nguy cơ Zap bị lỗi trong im lặng. Đối với các form liên hệ đơn giản, Sendform nhanh hơn để thiết lập và đáng tin cậy hơn trong thực tế hàng ngày.
Điều này phụ thuộc vào dịch vụ. Các dịch vụ lưu trữ submission trong cơ sở dữ liệu của họ (Formspree, Basin, Netlify Forms) đóng vai trò là bên xử lý dữ liệu, nghĩa là bạn cần một Thỏa thuận xử lý dữ liệu và phải công khai trong chính sách bảo mật của mình. Sendform được thiết kế để chuyển tiếp và không giữ lại dữ liệu submission theo mặc định, điều này giảm đáng kể gánh nặng tuân thủ. Dù bạn dùng dịch vụ nào, bạn cũng nên cập nhật chính sách bảo mật để đề cập cách dữ liệu form liên hệ được xử lý và truyền tải.
Có, và bạn có một vài lựa chọn. Hầu hết các dịch vụ form bao gồm Sendform đều có lọc spam tích hợp ở phía họ. Bạn cũng có thể thêm trường honeypot - một input ẩn mà bot sẽ điền vào nhưng người dùng thực sự thì không - và dịch vụ nhận sẽ bỏ qua các submission có trường đó có giá trị. Đối với các form có lưu lượng cao, các dịch vụ hỗ trợ reCAPTCHA v3 hoặc hCaptcha cung cấp thêm một lớp bảo vệ. Bộ lọc spam của Webflow chỉ áp dụng khi bạn dùng trình xử lý form gốc của Webflow, vì vậy khi chuyển sang endpoint bên ngoài, bạn cần dựa vào công cụ lọc spam của dịch vụ đó.
Không. Việc trỏ thuộc tính Action của form sang một URL bên ngoài hoạt động trên mọi gói Webflow, kể cả gói Starter miễn phí, vì bạn chỉ đơn giản là thay đổi một thuộc tính HTML trên trang đã xuất bản. Hạn chế trên gói miễn phí là tính năng xử lý form gốc của Webflow (lưu trữ trong bảng điều khiển, thông báo email qua Webflow) yêu cầu gói site trả phí. Dùng dịch vụ bên ngoài như Sendform bỏ qua hoàn toàn hạn chế đó - form chỉ POST đến máy chủ của Sendform bất kể gói Webflow của bạn là gì.