diff --git a/gen/Proto/Collector.hs b/gen/Proto/Collector.hs
--- a/gen/Proto/Collector.hs
+++ b/gen/Proto/Collector.hs
diff --git a/lightstep-haskell.cabal b/lightstep-haskell.cabal
--- a/lightstep-haskell.cabal
+++ b/lightstep-haskell.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.4
 
 name:           lightstep-haskell
-version:        0.7.0
+version:        0.8.0
 synopsis:       LightStep OpenTracing client library
 description:    LightStep OpenTracing client library. Uses GRPC transport via proto-lens.
 category:       Tools
diff --git a/src/LightStep/Config.hs b/src/LightStep/Config.hs
--- a/src/LightStep/Config.hs
+++ b/src/LightStep/Config.hs
@@ -10,6 +10,8 @@
 import System.Environment
 import System.IO
 
+data Compression = NoCompression | GzipCompression
+
 data LightStepConfig
   = LightStepConfig
       { lsHostName :: HostName,
@@ -18,7 +20,8 @@
         lsServiceName :: T.Text,
         lsGlobalTags :: [(T.Text, T.Text)],
         lsGracefulShutdownTimeoutSeconds :: Int,
-        lsMinimumBatchSize :: Int
+        lsMinimumBatchSize :: Int,
+        lsCompression :: Compression
       }
 
 lookupOneOfEnvs :: [String] -> IO (Maybe String)
@@ -40,7 +43,7 @@
       host <- fromMaybe "ingest.lightstep.com" <$> lookupOneOfEnvs ["LIGHTSTEP_HOST", "OPENTRACING_LIGHTSTEP_COLLECTOR_HOST"]
       port <- maybe 443 read <$> lookupOneOfEnvs ["LIGHTSTEP_PORT", "OPENTRACING_LIGHTSTEP_COLLECTOR_PORT"]
       service <- fromMaybe "example-haskell-service" <$> lookupOneOfEnvs ["LIGHTSTEP_SERVICE", "OPENTRACING_LIGHTSTEP_COMPONENT_NAME"]
-      pure $ Just $ LightStepConfig host port (T.pack t) (T.pack service) global_tags 5 1
+      pure $ Just $ LightStepConfig host port (T.pack t) (T.pack service) global_tags 5 1 GzipCompression
     Nothing -> do
       hPutStrLn stderr "LIGHTSTEP_ACCESS_TOKEN environment variable not defined"
       pure Nothing
diff --git a/src/LightStep/LowLevel.hs b/src/LightStep/LowLevel.hs
--- a/src/LightStep/LowLevel.hs
+++ b/src/LightStep/LowLevel.hs
@@ -90,6 +90,9 @@
 makeGrpcClient :: LightStepClient -> IO GrpcClient
 makeGrpcClient client = do
   let LightStepConfig {..} = lscConfig client
+      compression = case lsCompression of
+        NoCompression -> uncompressed
+        GzipCompression -> gzip
   newGrpcOrError <-
     runExceptT $
       setupGrpcClient
@@ -102,8 +105,6 @@
   case newGrpcOrError of
     Right newGrpc -> pure newGrpc
     Left err -> throwIO err
-  where
-    compression = if False then gzip else uncompressed
 
 reconnectClient :: LightStepClient -> IO ()
 reconnectClient client@LightStepClient {lscGrpcVar} = do
