{"id":25728598,"url":"https://github.com/stefan-dev813/gs-bulk-emails","last_synced_at":"2025-07-26T20:34:04.153Z","repository":{"id":266917054,"uuid":"899758663","full_name":"stefan-dev813/GS-Bulk-Emails","owner":"stefan-dev813","description":"Google App Scripts that sends a number of emails from the specific number and that tracks the open status of each email","archived":false,"fork":false,"pushed_at":"2024-12-11T05:24:20.000Z","size":106,"stargazers_count":17,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-24T23:07:41.278Z","etag":null,"topics":["email-template","google-api","google-apps-script","google-sheets","html5","javascript"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stefan-dev813.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-07T00:25:40.000Z","updated_at":"2025-04-24T19:33:31.000Z","dependencies_parsed_at":"2024-12-07T01:23:18.843Z","dependency_job_id":"18fe4bd3-b9d9-4997-8f3e-a253954fb763","html_url":"https://github.com/stefan-dev813/GS-Bulk-Emails","commit_stats":null,"previous_names":["stefan-dev813/gs-bulk-emails"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stefan-dev813/GS-Bulk-Emails","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefan-dev813%2FGS-Bulk-Emails","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefan-dev813%2FGS-Bulk-Emails/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefan-dev813%2FGS-Bulk-Emails/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefan-dev813%2FGS-Bulk-Emails/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stefan-dev813","download_url":"https://codeload.github.com/stefan-dev813/GS-Bulk-Emails/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefan-dev813%2FGS-Bulk-Emails/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267228670,"owners_count":24056368,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["email-template","google-api","google-apps-script","google-sheets","html5","javascript"],"created_at":"2025-02-26T00:19:31.072Z","updated_at":"2025-07-26T20:34:04.141Z","avatar_url":"https://github.com/stefan-dev813.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Email Automation with Tracking for Google Sheets\n\nThis Google Apps Script simplifies bulk email sending directly from a Google Sheet while providing real-time email open tracking.\n\n## 📋 Features\n\n- **Custom Menu Integration**  \n  Adds an \"Email Sender\" menu to your Google Sheet for quick access.\n- **Bulk Email Sending**  \n  Sends personalized emails in bulk, pulling dynamic content from your Google Sheet.\n- **Email Open Tracking**  \n  Tracks email engagement using a hidden tracking pixel, including:\n  - First Open Time\n  - Last Open Time\n  - Total Open Count\n- **Error Handling**  \n  Handles errors gracefully to ensure smooth email sending.\n- **User-Friendly Dialogs**  \n  Provides an intuitive modal dialog for email configuration.\n\n---\n\n## 🛠️ How It Works\n\n1. **Set Up Your Google Sheet**  \n   Populate the sheet with the following structure:\n   - **Column A**: Recipient Email Address\n   - **Column B**: Email Subject\n   - **Column C**: Email Body\n   - **Column D**: Last Sent Timestamp (auto-updated)\n   - **Column E**: First Open Timestamp (auto-updated)\n   - **Column F**: Last Open Timestamp (auto-updated)\n   - **Column G**: Total Opens (auto-updated)\n\n2. **Send Emails**  \n   - Open your Google Sheet.\n   - Click on the custom **Email Sender** menu.\n   - Select **Send Emails** and input the starting row and number of emails to process.\n\n3. **Track Opens**  \n   - A hidden tracking pixel is appended to each email.  \n   - Email opens are logged in real-time, updating the Google Sheet automatically.\n\n---\n\n## ✉️ Email Template\n\nThe script appends a hidden tracking pixel to your email body to monitor opens.\n\n### Example Email Body in Google Sheet:\n\n| **Recipient**       | **Subject**       | **Body** |\n|----------------------|-------------------|----------|\n| john.doe@example.com | Welcome to Our Service! | `\u003cp\u003eHi John,\u003c/p\u003e\u003cp\u003eWelcome to our service! We're thrilled to have you.\u003c/p\u003e\u003cp\u003eBest, The Team\u003c/p\u003e` |\n\n---\n\n## 📷 Screenshots\n\nHere’s how the script integrates with your Google Sheet:\n\n![Screenshot of Email Template](./EmailTemplate.png)\n\n---\n\n## 🚀 Deployment Steps\n\n1. Replace placeholders in the code:\n   - `SHEET_ID`: Your Google Sheet ID.\n   - `SHEET_NAME`: Your sheet's name.\n   - `Deploy_URL`: The deployed web app URL for tracking.\n\n2. Add the accompanying HTML file (`form.html`) for the email-sending dialog.\n\n3. Deploy the script as a **web app**:\n   - Navigate to **Extensions \u003e Apps Script** in Google Sheets.\n   - Publish the project as a web app to enable tracking functionality.\n\n---\n\n## 💡 Example Use Cases\n\n- **Marketing Campaigns**: Manage bulk emails for newsletters or promotional offers.\n- **Education**: Teachers sending updates or assignments to students while tracking engagement.\n- **Team Communication**: Ensure important announcements are read by team members.\n\n---\n\n## ⚠️ Important Notes\n\nOpen Tracking is not working. Using only Google App Scripts is impossible to track the statement of emails. I receommend to use Third-Party such as SendGrid, MailGun, or others.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefan-dev813%2Fgs-bulk-emails","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefan-dev813%2Fgs-bulk-emails","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefan-dev813%2Fgs-bulk-emails/lists"}