I don't see realtime pageview event when I try to send event from java.
Tried to build link with hit builder. - works fine.
Dropped url to browser - works fine.
Then I have tried to build the same from JAVA. While i'm using debug prefix for path google says all is ok "Found 1 hit in the request.".
public void purchaseEvent() {
try (CloseableHttpClient client = HttpClientBuilder.create().build())
{
final URIBuilder builder = new URIBuilder();
builder
.setScheme("https")
.setHost("www.google-analytics.com")
.setPath("/collect")
.addParameter("v", "1")
.addParameter("t", "pageview")
.addParameter("tid", "UA-145416899-1")
.addParameter("cid", "heelo")
.addParameter("dh", "hello.com")
.addParameter("dp", "/fromjavatest")
.addParameter("dt", "ReceiptPage")
.addParameter("ti", "TJAVA1")
.addParameter("ta", "Checkout")
.addParameter("tr", "281.22")
.addParameter("tt", "0.00")
.addParameter("ts", "39.00")
.addParameter("pa", "purchase")
.addParameter("pr1id", "PJAVA11111")
.addParameter("pr1nm", "Book12")
.addParameter("pr1pr", "189.00");
final URI uri = builder.build();
final HttpPost request = new HttpPost(uri);
final HttpResponse response = client.execute(request);
String json = EntityUtils.toString(response.getEntity(), "UTF-8");
LOG.info("response body - {}", json);
LOG.info("Execute request to google analytics measurement protocol {}", response.getStatusLine().getStatusCode());
}
catch (URISyntaxException | IOException e)
{
LOG.warn("Not able to push purchase event to google analytics", e);
}
}
Required to specify user agent. This is optional field for measurement protocol.
This value works fine.
Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14