Tao contact trong google sheet

Ở bài viết trước, đã giới thiệu cách để cấu hình Contact Form7 để tạo trang liên hệ. Website sẽ gửi email thông báo sau khi khách hàng đăng ký thông tin. Tuy nhiên, nếu lượng khách đăng ký thông tin nhiều sẽ làm cho chủ website khó quản lý. Để khắc phục điều này, chúng ta sẽ tìm cách bắn thông tin về google sheet.

Khi thiết lập tính năng này, thông tin sẽ được gửi về 2 địa chỉ. Một là email đã được thiết lập trong cấu hình mail của Contact Form 7. Hai là, trang google sheet được thiết lập. Việc lưu thông tin trên trang google sheet sẽ giúp chủ website dễ dàng theo dõi, quản lý. Mà không cần phải truy xuất thông tin từ từng email.

I. Cài đặt plugin CF7 Google Sheets Connector để bắn thông tin về Google sheet

Để bắt đầu, chúng ta cài plugin CF7 Google Sheet Connector.

Tao contact trong google sheet

Sau khi, cài đặt và kích hoạt plugin. Vào Mục “Form liên hệ” => “Google Sheets” để kết nối plugin với tài khoản Google. Tại đây, Bấm “Get code”

Tao contact trong google sheet

Sau đó, đăng nhập vào tài khoản google của bạn. Chọn tất cả các quyền cấp cho plugin. Rồi nhất “Tiếp theo”.

Tao contact trong google sheet

Google sẽ tạo mã liên hệ. Bạn copy mã này về lại Mục “Form liên hệ” => “Google Sheets”. Dán vào ô “Google Access Code” và nhấn “Save”.

Tao contact trong google sheet

Như vậy, Plugin đã kết nối với tài khoản google.

II. Cấu hình Google Sheets

Để cấu hình Google sheet, quay trở lại Form liên hệ đã tạo. Nhấn sửa đổi.

Chú ý: Form sửa đổi phải là form dùng để cấu hình cho trang liên hệ.

Lúc này, giao diện của Contact Form 7 đã có thêm tab Google Sheets. Để thông tin có thể bắn về google sheet, ta phải cấu hình tại đây. Cần phải nhập các thông số ở đây đúng với các thông số của trang google sheet nhận thông tin.

Tao contact trong google sheet

Các giá trị Google Sheet Name (1), Google Sheet ID (2), Google Sheet Tab Name (3), Google Tab ID (4) được lấy như hình ảnh dưới đây

Tao contact trong google sheet

Tại dòng 1 của trang Google sheet nhận dữ liệu. Chúng ta phải khai báo các trường nhận thông tin trùng khớp với các nội dung trong “Field List”. Sau đó nhấn “lưu” để hoàn thành nội dung cấu hình.

Để kiểm tra, trở ra trang liên hệ để test thử nhé.

Các bạn chắc hẳn không còn xa lạ gì với Google Sheets. Nó là 1 ứng dụng trang tính của Google (Giống như Excel của Microsoft).

Còn với Contact Form 7, nó là 1 plugin tạo form đơn giản và mạnh mẽ của WordPress.

Thời gian vừa qua có rất nhiều bạn hỏi mình làm sao để tích hợp dữ liệu từ Contact Form 7 với Google Sheets. Hôm nay mình tranh thủ chút thời gian viết 1 bài viết hướng dẫn các bạn làm điều này.

Tao contact trong google sheet

Khi nhắc đến việc tích hợp, nhiều bạn sẽ nghĩ ngay đến việc sử dụng API mà Google cung cấp. Bạn có tham khảo tạo đây: https://developers.google.com/sheets/api/

Nhưng trong trường hợp này, tôi sẽ không sử dụng API. Tôi sử dụng qua Google Forms làm trung gian để tích hợp dữ liệu.

Bước 1: Tạo form bằng Contact Form 7

Đầu tiên, bạn hãy tạo 1 form bằng Contact Form 7. Về cách tạo thì tôi sẽ không chia sẻ trong bài viết này. Nếu bạn chưa biết có thể tìm kiếm trên Google.

Tao contact trong google sheet

Tôi ví dụ bằng 1 form đơn giản bao gồm các trường:

  • Họ và tên
  • Địa chỉ email
  • Số điện thoại
  • Yêu cầu thêm

Bước 02: Tạo Google Forms và liên kết với Google Sheets

Tiếp theo, bạn hãy truy cập vào Google Drive để tạo Google Forms

Tao contact trong google sheet

Tạo form bao gồm các trường giống như Contact Form 7 đã tạo ở bước trên:

Tao contact trong google sheet

Lưu ý: 

  • Kiểu trường đều đặt là: Văn bản câu trả lời ngắn
  • Tất cả các trường đều đặt là không bắt buộc

Tiếp theo, bạn chuyển qua tab “Câu trả lời” để tích hợp các câu trả lời với Google Sheets

Tao contact trong google sheet

Lưu ý: Nếu bạn đã có file Google Sheets trên Google Drive, bạn hãy chọn bảng tính hiện có. Còn không hãy tạo mới

Cuối cùng, hãy bấm vào nút “Xem trước” (Hình con mắt) để lấy link của Form:

Tao contact trong google sheet

Bước 03: Tích hợp Contact Form 7 với Google Forms

Bước này, chúng ta phải động đến code 1 chút. Chúng ta sẽ sử dụng Hook wpcf7_mail_sent của Contact Form 7:

Code mẫu (Bỏ đoạn code vào file functions.php của theme bạn đang sử dụng):

function pveser_sent_contact_to_drive( $contact_form )
{

$form_id = $contact_form->id;
$submission = WPCF7_Submission::get_instance();

if ( $submission )
{
$posted_data = $submission->get_posted_data();

if ($form_id==698)
{

$fields = array(
'entry.359835661'=>urlencode($posted_data['your-name']),
'entry.359835662'=>urlencode($posted_data['your-email']),
'entry.359835663'=>urlencode($posted_data['your-phone']),
'entry.359835663'=>urlencode($posted_data['your-note'])
)

);
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

header('Content-type: text/html; charset=UTF-8');
$ch = curl_init();

curl_setopt($ch, CURLOPT_ENCODING ,"UTF-8");

$url=utf8_encode('https://docs.google.com/forms/d/e/1FAIpQLScZ3lHLjJ-fkre90TcUQUsiUUL0lP5El0clkDKKoHQQ7iaZlA/formResponse');
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

curl_setopt($ch,CURLOPT_HEADER, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
}

}

}//End contact form

add_action( 'wpcf7_mail_sent', 'pveser_sent_contact_to_drive' );

Giải thích:

$form_id==698: Thay 698 thành form id của bạn (Contact Form 7)

entry.359835661: Field name của Google Forms

Để lấy được field name này bạn vui lòng mở Google Form mà lúc xem trước ở bước trên, bấm chuột phải vào trường cần lấy và chọn Inspect, sau đó tìm đến thuộc tính name=””.

Tao contact trong google sheet

Nội dung bên trong name chính là field name cần lấy

$posted_data['your-name']: your-name chính là field name của Contact Form 7

$url: Link Google Form sau khi đã submit

Để lấy được link này, bạn chỉ cần vào link xem trước, sau đó bấm nút “Gửi” và bạn hãy copy link trên trình duyệt

Tao contact trong google sheet

Sau khi hoàn thiện các bước trên, bạn hãy thử nhập thông tin ở Contact Form 7 rồi bấm submit để test xem trên Google Sheets đã có dữ liệu bạn vừa nhập chưa.

Nếu chưa có, bạn hãy kiểm tra lại các bước xem có chính xác chưa. Đặc biệt là bước liên quan đến code.

Chúc bạn thành công! Có bất kỳ câu hỏi này hãy comment dưới status này.