Class: Analytical::Modules::MicrosoftAds
- Inherits:
-
Object
- Object
- Analytical::Modules::MicrosoftAds
- Includes:
- Base
- Defined in:
- lib/analytical/modules/microsoft_ads.rb
Instance Attribute Summary
Attributes included from Base
#command_store, #initialized, #options, #tracking_command_location
Instance Method Summary collapse
-
#event(name, *args) ⇒ Object
Define conversion events in analytical.yml like:.
- #init_javascript(location) ⇒ Object
-
#initialize(options = {}) ⇒ MicrosoftAds
constructor
A new instance of MicrosoftAds.
Methods included from Base
#init_location, #init_location?, #process_queued_commands, #protocol, #queue
Constructor Details
#initialize(options = {}) ⇒ MicrosoftAds
Returns a new instance of MicrosoftAds.
6 7 8 9 |
# File 'lib/analytical/modules/microsoft_ads.rb', line 6 def initialize(={}) super @tracking_command_location = :body_append end |
Instance Method Details
#event(name, *args) ⇒ Object
Define conversion events in analytical.yml like:
microsoft_ads:
'Some Event':
id: 55555555-6666-7777-8888-111111111111
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/analytical/modules/microsoft_ads.rb', line 35 def event(name, *args) return '' unless @initializing data = args.first || {} if conversion = [name.to_sym] conversion.symbolize_keys! js = <<-HTML <script type="text/javascript">if (!window.mstag) mstag = {loadTag : function(){},time : (new Date()).getTime()};</script> <script id="mstag_tops" type="text/javascript" src="//flex.atdmt.com/mstag/site/#{conversion[:id]}/mstag.js"></script> <script type="text/javascript"> mstag.loadTag("conversion", {cp:"5050",dedup:"1"})</script> <noscript> <iframe src="//flex.atdmt.com/mstag/tag/#{conversion[:id]}/conversion.html?cp=5050&dedup=1" frameborder="0" scrolling="no" width="1" height="1" style="visibility:hidden; display:none"></iframe> </noscript> HTML js else "<!-- No Microsoft Ads Conversion for: #{name} -->" end end |
#init_javascript(location) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/analytical/modules/microsoft_ads.rb', line 11 def init_javascript(location) init_location(location) do @initializing = true html = "<!-- Analytical Init: Microsoft Ads -->\n" event_commands = [] @command_store.commands.each do |c| if c[0] == :event event_commands << event(*c[1..-1]) end end html += event_commands.join("\n") @command_store.commands = @command_store.commands.delete_if {|c| c[0] == :event } @initializing = false html end end |