Grab free access to all the OWOX BI features for 14 days

How does user interaction with social buttons affect the conversion rate?

The query shows average conversion rate for users that had at least one social interaction on a site.

Dynamic parameters

  • dataSetName — name of Google BigQuery dataset with Google Analytics sessions data,
  • tableName — name of a table with the data,
  • startDate — start date of the analyzed period,
  • endDate — end date of the analyzed period.

Visualization example

SQL Query

SELECT
  table1.sessionsWithSI / table1.transactionsWithSI AS conversionSI,
  table2.sessionsNoSI / table2.transactionsNoSI AS conversionNoSI
FROM (
  SELECT
    tab1.socialActions AS withSI,
    tab1.sessions AS sessionsWithSI,
    tab2.transactions AS transactionsWithSI
  FROM (
    SELECT
      1 AS socialActions,
      count (sessionId) sessions
    FROM
      TABLE_DATE_RANGE({dataSetName default="Streaming" type="input"}.{tableName default="session_streaming_" type="input"}, TIMESTAMP('{startDate default="2016-08-10" type="datetime"}'), TIMESTAMP('{endDate default="2016-08-13" type="datetime"}'))
    WHERE
      hits.social.socialInteractionAction IS NOT NULL) AS tab1
  JOIN (
    SELECT
      1 AS withTransctions,
      count (t2.transactions) AS transactions
    FROM (
      SELECT
        clientId
      FROM
        TABLE_DATE_RANGE({dataSetName}.{tableName}, TIMESTAMP('{startDate}'), TIMESTAMP('{endDate}'))
      WHERE
        hits.social.socialInteractionAction IS NOT NULL) AS t1
    JOIN (
      SELECT
        clientId,
        count (hits.transaction.transactionId) AS transactions
      FROM
        TABLE_DATE_RANGE({dataSetName}.{tableName}, TIMESTAMP('{startDate}'), TIMESTAMP('{endDate}'))
      WHERE
        hits.transaction.transactionId IS NOT NULL
      GROUP BY
        clientId) AS t2
    ON
      t1.clientId=t2.clientId) AS tab2
  ON
    tab1.socialActions=tab2.withTransctions
  GROUP BY
    withSI,
    sessionsWithSI,
    transactionsWithSI) AS table1
JOIN (
  SELECT
    tab1.noSI AS noSI,
    tab1.sessions AS sessionsNoSI,
    tab2.transactions AS transactionsNoSI
  FROM (
    SELECT
      1 AS noSI,
      count (sessionId) sessions
    FROM
      TABLE_DATE_RANGE({dataSetName}.{tableName}, TIMESTAMP('{startDate}'), TIMESTAMP('{endDate}'))
    WHERE
      hits.social.socialInteractionAction IS NULL) AS tab1
  JOIN (
    SELECT
      1 AS noSI,
      count (t2.transactions) AS transactions
    FROM (
      SELECT
        clientId
      FROM
        TABLE_DATE_RANGE({dataSetName}.{tableName}, TIMESTAMP('{startDate}'), TIMESTAMP('{endDate}'))
      WHERE
        hits.social.socialInteractionAction IS NULL) AS t1
    JOIN (
      SELECT
        clientId,
        count (hits.transaction.transactionId) AS transactions
      FROM
        TABLE_DATE_RANGE({dataSetName}.{tableName}, TIMESTAMP('{startDate}'), TIMESTAMP('{endDate}'))
      WHERE
        hits.transaction.transactionId IS NOT NULL
      GROUP BY
        clientId) AS t2
    ON
      t1.clientId=t2.clientId) AS tab2
  ON
    tab1.noSI=tab2.noSI
  GROUP BY
    noSI,
    sessionsNoSI,
    transactionsNoSI) AS table2
ON
  table1.withSI=table2.noSI
GROUP BY
  conversionSI,
  conversionNoSI

Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.