Skip to content
This repository has been archived by the owner on Mar 27, 2023. It is now read-only.

Commit

Permalink
Forwarding tracking params on call events
Browse files Browse the repository at this point in the history
  • Loading branch information
rodrei committed Jul 13, 2017
1 parent f8ea44b commit 0d0a247
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 5 deletions.
5 changes: 2 additions & 3 deletions app/controllers/api/calls_controller.rb
Expand Up @@ -24,8 +24,7 @@ def call_params
end

def tracking_params
params
.slice('source', 'akid', 'referring_akid', 'referrer_id', 'rid', 'bucket')
.to_unsafe_hash
params.fetch(:tracking_params, {})
.permit(:source, :akid, :referring_akid, :referrer_id, :rid, :bucket)
end
end
2 changes: 2 additions & 0 deletions app/javascript/call_tool/CallToolView.js
Expand Up @@ -65,6 +65,7 @@ type OwnProps = {
targetTitle?: string,
checksum?: string,
intl: IntlShape,
trackingParams: any,
};

class CallToolView extends Component {
Expand Down Expand Up @@ -218,6 +219,7 @@ class CallToolView extends Component {
memberPhoneNumber:
this.state.form.memberPhoneCountryCode +
this.state.form.memberPhoneNumber,
trackingParams: this.props.trackingParams,
})
.then(this.submitSuccessful.bind(this), this.submitFailed.bind(this));
}
Expand Down
7 changes: 6 additions & 1 deletion app/javascript/util/ChampaignAPI.js
Expand Up @@ -43,6 +43,7 @@ type CreateCallParams = {
pageId: string | number,
memberPhoneNumber?: string,
targetId: string,
trackingParams: any,
};
const createCall = function(
params: CreateCallParams
Expand All @@ -57,7 +58,11 @@ const createCall = function(
if (!!params.targetName) inner.target_name = params.targetName;
if (!!params.checksum) inner.checksum = params.checksum;
if (!!params.targetId) inner.target_id = params.targetId;
const payload = { call: inner };

const payload = {
call: inner,
tracking_params: params.trackingParams,
};

return new Promise((resolve, reject) => {
$.post(`/api/pages/${params.pageId}/call`, payload)
Expand Down
4 changes: 3 additions & 1 deletion app/services/call_event.rb
Expand Up @@ -29,7 +29,9 @@ def payload
call_id: @call.id,
action_id: @call.action.id
}
}
}.tap do |p|
p[:params].merge!(@extra_params)
end
end
end

Expand Down
3 changes: 3 additions & 0 deletions app/views/plugins/call_tools/_call_tool.liquid
Expand Up @@ -4,6 +4,9 @@
<script>
$(document).ready(function() {
var data = _.clone(window.champaign.personalization.callTool['{{ref}}']);
data.trackingParams = _.pick(window.champaign.personalization.urlParams,
'source', 'akid', 'referring_akid',
'referrer_id', 'rid', 'bucket');
data.countryCode = window.champaign.personalization.member.country;
data.onSuccess = function(selectedTarget) {
var followUpUrl = window.URI("{{ follow_up_url }}");
Expand Down

0 comments on commit 0d0a247

Please sign in to comment.