IT 개발자 없이 업무 자동화! 구글 시트 Apps Script 기초부터 활용까지

IT 개발자 없이 업무 자동화! 구글 시트 Apps Script 기초부터 활용까지

 

SEO 최적화 및 애드센스 수익 관리는 데이터 수집, 보고서 생성, 알림 발송 등 끊임없는 반복 작업의 연속입니다. 매번 수동으로 이 작업을 처리하는 것은 업무 비효율의 주범입니다. 많은 웹 퍼블리셔가 자동화를 꿈꾸지만, 복잡한 프로그래밍 지식이 필요하다는 오해 때문에 망설입니다.

구글 시트(Google Sheets)에 내장된 강력한 스크립트 언어인 **Apps Script(앱스 스크립트)**는 이 장벽을 허물어 줍니다. 자바스크립트(JavaScript) 기반이지만, 구글 생태계에 최적화되어 있어 IT 개발자 없이도 구글 시트, Gmail, 구글 캘린더 등 구글 서비스 전반의 작업을 자동화하고 연동할 수 있게 해줍니다.

이 스크립트를 마스터하면, 반복 업무 시간을 획기적으로 단축하고, SEO 성과 및 수익에 대한 실시간 알림 시스템을 구축하여 데이터 기반의 의사결정 속도를 높일 수 있습니다. 지금부터 구글 시트 Apps Script의 기초부터 SEO 자동화에 활용하는 고급 비법까지 안내합니다.

1. Apps Script 환경 설정 및 기초 문법 이해

 

Apps Script는 클라우드 기반으로 작동하며, 별도의 소프트웨어 설치 없이 웹 브라우저 내에서 코드를 작성하고 실행할 수 있습니다.

1.1. 스크립트 편집기 접근

 

  1. 접근: 구글 시트 메뉴에서 확장 프로그램 > Apps Script를 선택하면 스크립트 편집기(IDE)가 새 탭으로 열립니다.

  2. 기본 함수: 기본적으로 function myFunction() { ... } 형태의 함수가 생성됩니다. 이 괄호 안에 작성된 코드가 실행됩니다.

1.2. 핵심 클래스와 객체

 

Apps Script는 구글 서비스를 제어하기 위해 **클래스(Class)**를 사용합니다. 시트를 제어하는 가장 중요한 클래스는 SpreadsheetApp입니다.

  • 현재 시트 접근: var ss = SpreadsheetApp.getActiveSpreadsheet(); (현재 스프레드시트 객체 획득)

  • 시트 이름으로 접근: var sheet = ss.getSheetByName("보고서"); (특정 시트 객체 획득)

  • 셀 범위 접근: var range = sheet.getRange("A1"); (A1 셀 범위 객체 획득)

  • 값 읽기/쓰기: var value = range.getValue(); (값 읽기), range.setValue("자동화 성공"); (값 쓰기)

2. Apps Script를 이용한 시트 자동화 기초

 

가장 반복적인 시트 내부 작업을 스크립트로 자동화하여, 매크로의 한계를 넘어섭니다.

2.1. 데이터 정렬 및 정리 자동화

 

매번 정렬 기준이 바뀌거나, 복잡한 조건으로 정렬해야 할 때 스크립트를 사용합니다.

  • 목표: ‘SEO 데이터’ 시트의 A2부터 C열의 끝까지 데이터를 C열(클릭수)을 기준으로 내림차순 정렬합니다.

  • 코드 예시:

    JavaScript

    function sortSeoData() {
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SEO 데이터");
      var range = sheet.getRange("A2:C");
      // C열(3번째 열)을 기준으로 내림차순 정렬(false)
      range.sort({column: 3, ascending: false});
    }
    

2.2. 복잡한 서식 적용 및 조건부 서식 관리

 

특정 범위에 테두리를 치거나, 중요한 데이터를 굵게 표시하는 등의 서식 작업을 자동화합니다.

  • 목표: B2 셀의 값이 1000을 초과하면 B2 셀을 노란색으로 강조합니다.

  • 코드 예시:

    JavaScript

    function highlightHighValue() {
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("KPI");
      var cell = sheet.getRange("B2");
      if (cell.getValue() > 1000) {
        cell.setBackground("yellow");
      } else {
        cell.setBackground(null); // 조건 미충족 시 배경색 제거
      }
    }
    

3. SEO 최적화 및 애드센스 알림 자동화 (트리거 활용)

 

Apps Script의 가장 강력한 기능은 **트리거(Trigger)**입니다. 트리거는 특정 **시점(시간 기반)**이나 **이벤트(폼 제출, 시트 수정)**가 발생했을 때 스크립트가 자동으로 실행되도록 설정하는 기능입니다.

3.1. 시간 기반 트리거: 일일/주간 SEO 보고서 자동 발송 (Gmail 연동)

 

매일 아침 SEO 성과 요약 보고서(주요 키워드 순위 변동, 전일 수익 등)를 팀원들에게 자동으로 이메일로 보냅니다.

  1. 스크립트 작성: 보고서 시트의 핵심 KPI 값을 읽어와 메일 본문에 삽입하고, MailApp.sendEmail() 함수를 사용하여 Gmail을 통해 발송하는 코드를 작성합니다.

  2. 트리거 설정: 스크립트 편집기 왼쪽 메뉴에서 시계 아이콘을 클릭 > 트리거 추가 > 이벤트 유형시간 기반 트리거로 설정 > 시간 유형을 ‘일 타이머’로 설정하고 실행 시간을 지정합니다.

  • 코드 예시 (핵심):

    JavaScript

    function sendDailyReportEmail() {
      var emailAddress = "team@example.com";
      var subject = "✅ 일일 SEO 성과 보고서 - " + new Date().toDateString();
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("KPI 대시보드");
      var totalClicks = sheet.getRange("B2").getValue();
      var body = "어제 총 클릭수: " + totalClicks + "회. 순위 변동을 확인하세요.";
    
      MailApp.sendEmail(emailAddress, subject, body);
    }
    

3.2. 이벤트 기반 트리거: 애드센스 수익 급감 시 실시간 경고

 

애드센스 데이터가 업데이트되거나(폼 제출 이벤트 대체), 중요한 셀의 값이 수정되었을 때(스크립트 감지 후 실행) 즉시 알림을 받습니다.

  • 목표: 수익 요약 셀(B5)의 값이 전일 대비 20% 이상 하락했을 경우, 즉시 담당자에게 경고합니다.

  • 트리거 설정: 시트의 값이 수정되는 이벤트를 감지하도록 설정하거나, 외부 폼 제출(예: 오류 보고) 이벤트를 감지하도록 설정합니다.

4. Apps Script 고급 활용: 사용자 정의 함수 (Custom Function)

 

Apps Script를 사용하면 구글 시트에 기본적으로 없는, 사용자가 직접 정의한 함수(UDF: User Defined Function)를 만들 수 있습니다.

4.1. 사용자 정의 함수 생성 및 활용

 

  • 목표: 특정 문자열이 URL에 포함되어 있는지 확인하고, 포함되면 ‘Yes’, 아니면 ‘No’를 반환하는 함수를 만듭니다. (기존 함수보다 직관적)

  • 코드 예시:

    JavaScript

    /**
     * URL에 특정 텍스트가 포함되어 있는지 확인합니다.
     * @param {string} url 검사할 URL.
     * @param {string} textToFind 찾을 텍스트.
     * @return {string} 포함 여부 ('Yes' 또는 'No').
     * @customfunction
     */
    function HAS_TEXT(url, textToFind) {
      if (url.includes(textToFind)) {
        return "Yes";
      } else {
        return "No";
      }
    }
    
  • 시트 사용: 일반 함수처럼 시트 셀에 =HAS_TEXT(A2, "buy") 와 같이 입력하여 사용합니다. @customfunction 주석을 추가하면 구글 시트가 함수를 인식하고 도움말을 제공합니다.

5. Apps Script 활용 팁 및 주의사항

 

  • 버튼에 스크립트 연결: 자주 실행하는 정리, 정렬, 보고서 발송 스크립트를 시트 내 **삽입된 도형(버튼)**에 할당하여, 버튼 클릭 한 번으로 실행되도록 설정합니다.

  • 권한 부여: 스크립트가 Gmail 접근 등 구글 서비스와 연동될 경우, 최초 실행 시 ‘권한 검토’ 팝업이 뜹니다. 반드시 권한을 부여해야 정상적으로 작동합니다.

  • 로그 및 디버깅: 스크립트가 예상대로 작동하지 않을 경우, Logger.log("변수값: " + myVariable); 코드를 삽입하고 편집기의 ‘로그 보기’를 통해 오류 지점을 찾아 수정할 수 있습니다.

결론: 비개발자를 위한 강력한 자동화 무기

 

구글 시트의 Apps Script는 IT 개발자 없이도 SEO 및 애드센스 업무의 반복을 근본적으로 제거하고 효율을 극대화하는 가장 강력한 무기입니다. 단순 서식 정리부터 Gmail을 통한 실시간 알림 발송까지, Apps Script와 트리거를 활용하여 데이터 기반의 자동화된 관리 시스템을 구축하십시오.

반복 작업에서 해방되어, 웹사이트 성장을 위한 전략적 분석과 고품질 콘텐츠 제작에 집중하는 진정한 SEO 마스터로 거듭나시길 바랍니다.

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다