diff --git a/gddo-server/main.go b/gddo-server/main.go
index e9a9fb1..e25a50f 100644
--- a/gddo-server/main.go
+++ b/gddo-server/main.go
@@ -1038,13 +1038,13 @@
 	if f, ok := w.(http.Flusher); ok {
 		f.Flush()
 	}
-	if err := makePkgGoDevRequest(r, latency); err != nil {
+	if err := makePkgGoDevRequest(r, latency, s.isRobot(r)); err != nil {
 		log.Printf("makePkgGoDevRequest(%q, %d) error: %v", r.URL, latency, err)
 	}
 }
 
-func makePkgGoDevRequest(r *http.Request, latency time.Duration) error {
-	event := newGDDOEvent(r, latency)
+func makePkgGoDevRequest(r *http.Request, latency time.Duration, isRobot bool) error {
+	event := newGDDOEvent(r, latency, isRobot)
 	b, err := json.Marshal(event)
 	if err != nil {
 		return fmt.Errorf("json.Marshal(%v): %v", event, err)
@@ -1065,9 +1065,10 @@
 	Header       http.Header
 	RedirectHost string
 	Latency      time.Duration
+	IsRobot      bool
 }
 
-func newGDDOEvent(r *http.Request, latency time.Duration) *gddoEvent {
+func newGDDOEvent(r *http.Request, latency time.Duration, isRobot bool) *gddoEvent {
 	pkgGoDevURL := url.URL{Scheme: "https", Host: pkgGoDevHost}
 	return &gddoEvent{
 		Host:         r.URL.Host,
@@ -1076,6 +1077,7 @@
 		Header:       r.Header,
 		RedirectHost: pkgGoDevURL.String(),
 		Latency:      latency,
+		IsRobot:      isRobot,
 	}
 }
 
diff --git a/gddo-server/main_test.go b/gddo-server/main_test.go
index 9e9d3e8..1624306 100644
--- a/gddo-server/main_test.go
+++ b/gddo-server/main_test.go
@@ -212,7 +212,8 @@
 			want.RedirectHost = "https://" + pkgGoDevHost
 			want.URL = test.url
 			want.Header = http.Header{}
-			got := newGDDOEvent(r, want.Latency)
+			want.IsRobot = true
+			got := newGDDOEvent(r, want.Latency, want.IsRobot)
 			if diff := cmp.Diff(want, got); diff != "" {
 				t.Fatalf("mismatch (-want +got):\n%s", diff)
 			}
