구글 블로그스팟 VTrick 유입로그 기록 확인 방법

구글 블로그스팟 VTrick 유입로그 기록 확인 방법에 대해 알아보겠습니다. 이 글에서는 구글 스프레드시트를 사용하여 유입로그를 기록하는 방법을 단계별로 설명합니다. 
먼저, Google 스프레드시트를 생성하고, Apps Script를 설정합니다. 그런 다음, 스크립트를 웹 앱으로 배포하고, 블로그스팟 테마 HTML에 코드를 삽입합니다. 마지막으로, 스프레드시트 설정을 확인하여 유입로그가 제대로 기록되는지 확인합니다. 이 방법을 통해 블로그 방문자들의 행동을 쉽게 분석할 수 있습니다.

구글 블로그스팟 VTrick  유입로그 기록 확인 방법
블로그스팟

Google 스프레드시트 생성

먼저 구글 드라이브에 접속하여 새로운 Google 스프레드시트를 생성합니다.

구글 드라이브에서 "신규 만들기"를 클릭 합니다.
Google 스프레드시트 생성
문서 중에서 "Google 스프레드시트"를 클릭합니다.
Google 스프레드시트 클릭

스프레드시트의 이름을 변경합니다. 예: "구글 블로그스팟 유입로그 확인"
스프레드시트의 이름

    Apps Script 설정

    스프레드시트에서 유입로그를 기록하기 위해 Apps Script를 설정해야 합니다:

    상단 메뉴에서 "확장 프로그램" > "Apps Script"를 클릭합니다.
    Apps Script

    Apps Script 페이지가 열리면 프로젝트의 이름을 변경합니다. 예: "블로그스팟 유입로그"

    프로젝트의 이름


    아래의 스크립트 코드를 복사하여 붙여넣고, 저장을 합니다.
    스크립트 코드를 복사

    Apps 스크립트 코드

      
      //  1. Enter sheet name where data is to be written below
      
              var SHEET_NAME = "시트1";
      
               
      
      //  2. Run > setup
      
      //
      
      //  3. Publish > Deploy as web app
      
      //    - enter Project Version name and click 'Save New Version'
      
      //    - set security level and enable service (most likely execute as 'me' and access 'anyone, even anonymously)
      
      //
      
      //  4. Copy the 'Current web app URL' and post this in your form/script action
      
      //
      
      //  5. Insert column names on your destination sheet matching the parameter names of the data you are passing in (exactly matching case)
      
       
      
      var SCRIPT_PROP = PropertiesService.getScriptProperties(); // new property service
      
       
      
      // If you don't want to expose either GET or POST methods you can comment out the appropriate function
      
      function doGet(e){
      
        return handleResponse(e);
      
      }
      
       
      
      function doPost(e){
      
        return handleResponse(e);
      
      }
      
       
      
      function handleResponse(e) {
      
        // shortly after my original solution Google announced the LockService[1]
      
        // this prevents concurrent access overwritting data
      
        // [1] http://googleappsdeveloper.blogspot.co.uk/2011/10/concurrency-and-google-apps-script.html
      
        // we want a public lock, one that locks for all invocations
      
        var lock = LockService.getPublicLock();
      
        lock.waitLock(30000);  // wait 30 seconds before conceding defeat.
      
         
      
        try {
      
          // next set where we write the data - you could write to multiple/alternate destinations
      
          var doc = SpreadsheetApp.openById(SCRIPT_PROP.getProperty("key"));
      
          var sheet = doc.getSheetByName(SHEET_NAME);
      
           
      
          // we'll assume header is in row 1 but you can override with header_row in GET/POST data
      
          var headRow = e.parameter.header_row || 1;
      
          var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
      
          var nextRow = sheet.getLastRow()+1; // get next row
      
          var row = [];
      
          // loop through the header columns
      
          for (i in headers){
      
            if (headers[i] == "Timestamp"){ // special case if you include a 'Timestamp' column
      
              row.push(new Date());
      
            } else { // else use header name to get data
      
              row.push(e.parameter[headers[i]]);
      
            }
      
          }
      
          // more efficient to set values as [][] array than individually
      
          sheet.getRange(nextRow, 1, 1, row.length).setValues([row]);
      
          // return json success results
      
          return ContentService
      
                .createTextOutput(JSON.stringify({"result":"success", "row": nextRow}))
      
                .setMimeType(ContentService.MimeType.JSON);
      
        } catch(e){
      
          // if error return this
      
          return ContentService
      
                .createTextOutput(JSON.stringify({"result":"error", "error": e}))
      
                .setMimeType(ContentService.MimeType.JSON);
      
        } finally { //release lock
      
          lock.releaseLock();
      
        }
      
      }
      
       
      
      function setup() {
      
          var doc = SpreadsheetApp.getActiveSpreadsheet();
      
          SCRIPT_PROP.setProperty("key", doc.getId());
      
      }
      
      
      function cleanUp() {
      
      //오래된 로그를 삭제합니다.
      
      //A1셀이 Timestamp 이어야 합니다.
      
      //트리거 설정을 해주어야합니다. (시간기반 - 일일타이머 추천)
      
        var doc = SpreadsheetApp.openById(SCRIPT_PROP.getProperty("key"));
      
        var sheet = doc.getSheetByName(SHEET_NAME);
      
        var lastRow = sheet.getLastRow();
      
        var timestamps = sheet.getRange(2,1,lastRow).getValues()
      
      // 아래 thresholdDays 만큼 날짜가 지난 열은 삭제됩니다.
      
        var thresholdDays = 3 
      
      // 예) thresholdDays = 3 으로 설정하면, 3일 지난 데이터는 삭제됩니다.
      
        var d = new Date();
      
        var lastEdge = 0;
      
        for (i in timestamps){
      
          if(Date.parse(timestamps[i]) < d-thresholdDays*86400000){var lastEdge = Number(i) + Number(1);}
      
          else {break;}
      
        }
      
        if (lastEdge !==0) {
      
          sheet.deleteRows(2,lastEdge);
      
          Logger.log("The old "+lastEdge+" Rows were(was) deleted");
      
        } else {
      
          Logger.log("Any rows were not deleted");
      
        }
      
      }
    스크립트를 저장하고 'setup' 함수로 변경후 '실행'을 합니다.
    스크립트를 저장
    "권한 검토"를 클릭 합니다.
    권한 검토
    "고급"을 클릭 합니다.
    고급
    Google에서 확인하지 않은 앱에 고급 설정을 클릭하여"블로그스팟 유입로그로 이동(안전하지 않음)"을 클릭 합니다.
    블로그스팟 유입로그로 이동(안전하지 않음)
    Google 계정에 액세스 "허용"을 합니다.
    허용
    아래와 같이 "실행이 시작됨 / 실행이 완료됨"이 표시된다면 정상 입니다.
    실행이 시작됨 / 실행이 완료

      웹 앱으로 배포

      이제 스크립트를 웹 앱으로 배포하여 블로그와 연동합니다.

      오른쪽 상단의 "새 배포"를 클릭합니다.
      새 배포

      구성에서 "웹 앱"을 선택 합니다. 
      웹앱

      필요한 설명과 다음 사용자 인증 정보로 실행, 액세스 권한이 있는 사용자는 "모든 사용자"로 설정을 입력한 후 "배포"를 클릭합니다.

      새배포 설정

      "액세스 승인"을 클릭 합니다.
      액세스 승인
      Hide Advanced를 클릭한 후 Go to "블로그스팟 유입로그"를 클릭 합니다.
      블로그스팟 유입로그
      "Allow"를 클릭 합니다.
      Allow
      생성된 "웹 앱 URL"을 복사하여 메모장에 저장 합니다.
      웹 앱 URL
      "트리거"를 선택 합니다.
      트리거
      "트리거 추가"를 선택 합니다.
      트리거 추가

      실행할 함수 선택은 'cleanUp' , 트리거 기반 시간 유형 선택은 '시간 단위 타이머', 시간 간격 선택은 '2시간마다'로 하고 오른쪽 아래의 '저장' 버튼을 클릭합니다.
      cleanUp
      아래와 같이 트리거 항목에 "cleanUp"표시 된다면 정상 입니다.
      cleanUp 확인

      블로그스팟에 코드 삽입

      이제 블로그스팟 테마 HTML에 유입로그 기록 코드를 삽입합니다:

      블로그 관리자 페이지에서 "테마" > "HTML 편집"으로 이동합니다.
      HTML 편집


      <head> 태그 아래에 아래 코드를 추가합니다.
      head 추가

      본문 Head 스크립트 코드

        
        <!-- Head 블로그스팟 유입로그_START -->
        <script src='//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'/>
        
        <script>
         var ref_url = document.referrer;
         if (ref_url.length == 0) {
         } 
         else if (ref_url.indexOf("본인 블로그 주소.blogspot.com") != -1) { 
        
         }
         else {
        
        setTimeout(function() { 
             $.ajax({
            url: "https://script.google.com/macros/s/본인 웹앱 URL 입력/exec",
            data: {
              path: decodeURIComponent(location.pathname),
              title: document.getElementsByTagName("TITLE")[0].text,
              referrer: document.referrer,
                     },
            type: "POST"
                      });
        }, 300);
         
         }
        
        </script>
        <!-- Head 블로그스팟 유입로그_END -->  
      '본이 웹앱 URL 입력' 부분을 앞서 복사한 웹 앱 URL로 대체합니다.
      변경 사항을 "저장"합니다.
      저장

      스프레드시트 설정 확인

      유입로그가 제대로 기록되는지 확인하기 위해 스프레드시트를 설정합니다.


      스프레드시트 1행에 'Timestamp', 'path', 'title', 'referrer'을 입력 합니다.
      스프레드시트 설정 확인


      테스트로 다른 사이트에서 블로그스팟 주소로 링크하고 접속하면 아래와 같이 정보가 표시 됩니다.
      스프레드시트 데이터 확인

      Timestamp가 있는 A열 전체를 선택하고, "서식", "숫자", "날짜 시간"을 선택 합니다.

      "서식", "숫자", "날짜 시간"

      시프레드시트를 공유하여 본인만 접속해서 블로그 유입로그 기록을 확인 가능 합니다.
      블로그 유입로그 기록

      리뷰를 마치며

      이와 같이 구글 스프레드시트를 활용해 구글 블로그스팟의 유입로그를 기록하면 블로그 방문자들의 행동을 쉽게 분석할 수 있습니다. 이 방법을 통해 블로그 운영 효율성을 높이고 더 나은 콘텐츠 전략을 세워보세요.

      구글 blogger 고객센터 사이트


      [블로그스팟 관련글]
      • 카카오톡 메시지

      댓글 쓰기

      다음 이전